[
  {
    "id": "brave-search-api",
    "name": "Brave Search API",
    "category": "web-search",
    "homepage": "https://brave.com/search/api/",
    "docs": "https://api-dashboard.search.brave.com/app/documentation/web-search/get-started",
    "auth": "api_key",
    "auth_hint": "X-Subscription-Token: <API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/brave/brave-search-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/brave/brave-search-mcp-server",
      "tools": [
        "brave_web_search",
        "brave_local_search",
        "brave_video_search",
        "brave_image_search",
        "brave_news_search",
        "brave_summarizer",
        "brave_place_search",
        "brave_llm_context"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/brave/brave-search-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@brave/brave-search-mcp-server"
        ],
        "env": [
          "BRAVE_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/brave/brave-search-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "$5 free monthly credits (~1,000 queries on Search plan); credit card required at signup as anti-fraud measure",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://api-dashboard.search.brave.com/llms.txt",
    "desc_en": "Lets an agent query Brave's independent web/image/video/news search index and get cited, LLM-ready results.",
    "notes": "Official MCP server (@brave/brave-search-mcp-server) is self-hosted only (npx/Docker); STDIO is the default transport since v2.x, HTTP optional; no vendor-hosted endpoint. Answers plan is separate ($4/1,000 req + token costs).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "$5 in credits (~1,000 Search requests at $5/1,000)",
      "period": "month",
      "source_url": "https://brave.com/search/api/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Subscription-Token",
      "format": "X-Subscription-Token: <API_KEY>",
      "source_url": "https://api-dashboard.search.brave.com/app/documentation/web-search/get-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.search.brave.com/res/v1",
    "rate_limits": {
      "summary": "Search plan 50 queries/sec; Answers plan 2 queries/sec",
      "source_url": "https://brave.com/search/api/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous GET requests return results directly",
      "source_url": "https://api-dashboard.search.brave.com/app/documentation/web-search/get-started"
    },
    "data_policy": {
      "summary": "Zero Data Retention offered only on the Enterprise plan; storage rights require special plans",
      "source_url": "https://brave.com/search/api/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "news-search",
      "image-search",
      "places-search",
      "answer-engine"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a web search",
      "method": "GET",
      "url": "https://api.search.brave.com/res/v1/web/search?q={query}",
      "example": "curl \"https://api.search.brave.com/res/v1/web/search?q=machine+learning+tutorials\" -H \"X-Subscription-Token: $BRAVE_API_KEY\"",
      "response_fields": [
        "web.results[].title",
        "web.results[].url",
        "web.results[].description",
        "query.more_results_available"
      ],
      "async": null,
      "source_url": "https://api-dashboard.search.brave.com/app/documentation/web-search/get-started",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Search plan: $5 per 1,000 requests ($0.005 per query); $5 free monthly credits",
      "source_url": "https://brave.com/search/api/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "brave/brave-search-mcp-server",
        "stars": 1467,
        "forks": 208,
        "pushed_at": "2026-09-23",
        "archived": false,
        "url": "https://github.com/brave/brave-search-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 119026,
        "url": "https://smithery.ai/servers/brave",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.5,
        "reviews": 2,
        "url": "https://sourceforge.net/software/product/Brave-Search/",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.search.brave.com/res/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 537,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 422
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/brave-search-api.json"
  },
  {
    "id": "exa",
    "name": "Exa",
    "category": "web-search",
    "homepage": "https://exa.ai",
    "docs": "https://exa.ai/docs/search/quickstart",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <EXA_API_KEY> (or x-api-key header)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.exa.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.exa.ai/mcp",
      "repo": "https://github.com/exa-labs/exa-mcp-server",
      "tools": [
        "web_search_exa",
        "web_fetch_exa",
        "web_search_advanced_exa",
        "agent_run"
      ],
      "covers_full_api": false,
      "source_url": "https://exa.ai/docs/reference/exa-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.exa.ai/mcp",
        "headers": {
          "x-api-key": "$EXA_API_KEY"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://exa.ai/docs/reference/exa-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: $10 free credits/month (~1,400 searches), no payment method required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://exa.ai/docs/exa-spec.yaml",
    "llms_txt": "https://exa.ai/docs/llms.txt",
    "desc_en": "Lets an agent run neural or keyword web search, retrieve page contents, and find similar links via Exa's API.",
    "notes": "Remote MCP works keyless (rate-limited); for your own plan send x-api-key or sign in via OAuth at https://mcp.exa.ai/mcp?login (agent_run requires auth). Self-hosted npm package (exa-mcp-server) also available.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "$10 in credits (~1,400 searches), balance resets to $10 on the 1st of each month",
      "period": "month",
      "source_url": "https://exa.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <EXA_API_KEY> (or Authorization: Bearer <EXA_API_KEY>)",
      "source_url": "https://exa.ai/docs/reference/search",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.exa.ai",
    "rate_limits": {
      "summary": "/search, /answer 10 QPS; deep search 5 QPS; /contents 100 QPS; /websets 20 QPS; agent runs 5 QPS and 50 active runs",
      "source_url": "https://exa.ai/docs/reference/rate-limits",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Zero Data Retention available as an Enterprise (custom plan) feature",
      "source_url": "https://exa.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "search the web",
      "method": "POST",
      "url": "https://api.exa.ai/search",
      "example": "curl -X POST https://api.exa.ai/search -H \"x-api-key: $EXA_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":\"Latest developments in LLM capabilities\",\"numResults\":10}'",
      "response_fields": [
        "requestId",
        "results[].title",
        "results[].url",
        "results[].id",
        "costDollars.total"
      ],
      "async": null,
      "source_url": "https://exa.ai/docs/reference/search",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Search: $7 per 1,000 requests (up to 10 results; $0.007 per search), +$1 per 1,000 extra results; deep search $12-$15 per 1,000; contents $1 per 1,000 pages per content type",
      "source_url": "https://exa.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Exa/",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.exa.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 575,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.exa.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 607,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/exa.json"
  },
  {
    "id": "jina-ai-search-reader",
    "name": "Jina AI Search / Reader",
    "category": "web-search",
    "homepage": "https://jina.ai",
    "docs": "https://docs.jina.ai",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <JINA_API_KEY> (works without a key too, but at a lower rate limit)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.jina.ai/v1",
      "maintainer": "vendor",
      "remote_url": "https://mcp.jina.ai/v1",
      "repo": "https://github.com/jina-ai/MCP",
      "tools": [
        "primer",
        "read_url",
        "capture_screenshot_url",
        "guess_datetime_url",
        "search_web",
        "search_arxiv",
        "search_ssrn",
        "search_images",
        "search_jina_blog",
        "sort_by_relevance",
        "deduplicate_strings",
        "extract_pdf"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/jina-ai/MCP",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.jina.ai/v1",
        "headers": {
          "Authorization": "Bearer $JINA_API_KEY"
        },
        "oauth": false,
        "env": [
          "JINA_API_KEY"
        ],
        "source_url": "https://github.com/jina-ai/MCP",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key needed for Reader only: 20 RPM (Search is blocked without a key); free API key gives Reader 500 RPM / Search 100 RPM plus 10M free tokens one-time on signup",
    "sdk": [],
    "openapi": "https://api.jina.ai/openapi.json",
    "llms_txt": "https://jina.ai/models/llms.txt",
    "desc_en": "Search the web or convert any URL into clean LLM-ready markdown via simple HTTP GET requests.",
    "notes": "Reader is usable without an API key at a low rate limit; Search needs a key. Interactive docs/playground at https://api.jina.ai/scalar. Official remote MCP server at https://mcp.jina.ai/v1 (github.com/jina-ai/MCP).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10M free tokens per new API key; Reader also usable without key at 20 RPM",
      "period": "one_time",
      "source_url": "https://jina.ai/reader/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <JINA_API_KEY>",
      "source_url": "https://github.com/jina-ai/MCP",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://r.jina.ai",
    "rate_limits": {
      "summary": "No key: Reader 20 RPM, Search blocked; free/paid key: Reader 500 RPM, Search 100 RPM; premium: 5,000/1,000 RPM",
      "source_url": "https://jina.ai/reader/",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "API requests, inputs and outputs never used for training; Reader caches content 5 minutes (X-No-Cache to bypass)",
      "source_url": "https://jina.ai/reader/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "web-scraping",
      "image-search",
      "academic-search",
      "screenshot"
    ],
    "no_auth": false,
    "call": {
      "operation": "convert a URL to LLM-ready markdown (Reader)",
      "method": "GET",
      "url": "https://r.jina.ai/{url}",
      "example": "curl https://r.jina.ai/https://example.com -H \"Accept: application/json\" -H \"Authorization: Bearer $JINA_API_KEY\"",
      "response_fields": [
        "data.title",
        "data.url",
        "data.content",
        "code"
      ],
      "async": null,
      "source_url": "https://github.com/jina-ai/reader#using-rjinaai-for-single-url-fetching",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Tokens shared across Jina APIs: $50 per 1B tokens ($0.05 per 1M); Reader bills the output tokens of each page, Search costs a fixed 10,000+ tokens per request",
      "source_url": "https://jina.ai/api-dashboard/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://r.jina.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 548,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.jina.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 552,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "kagi-search-api",
    "name": "Kagi Search API",
    "category": "web-search",
    "homepage": "https://kagi.com",
    "docs": "https://help.kagi.com/kagi/api/overview.html",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY> (v1 API; legacy v0 used 'Bot <token>')",
    "mcp": {
      "type": "official",
      "url": "https://github.com/kagisearch/kagimcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.kagi.com/mcp",
      "repo": "https://github.com/kagisearch/kagimcp",
      "tools": [
        "kagi_search_fetch",
        "kagi_extract"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/kagisearch/kagimcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.kagi.com/mcp",
        "headers": {
          "Authorization": "Bearer $KAGI_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://github.com/kagisearch/kagimcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "no free tier: pay-per-use, $12 per 1,000 search requests, invoiced monthly or at $100 usage, whichever first",
    "sdk": [
      "python",
      "typescript",
      "go",
      "rust"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run programmatic, ad-free premium web/news/image/video searches and extract page markdown via a paid REST API.",
    "notes": "Requires a funded/billed Kagi account; on Family/Team plans only the account owner can access the API portal. Official hosted MCP endpoint also available at https://mcp.kagi.com/mcp using just an API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://kagi.com/api/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://kagi.com/api/docs",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://kagi.com/api/v1",
    "operations": [
      "web-search",
      "news-search",
      "image-search",
      "web-scraping"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "kagisearch/kagimcp",
        "stars": 528,
        "forks": 48,
        "pushed_at": "2026-07-07",
        "archived": false,
        "url": "https://github.com/kagisearch/kagimcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://kagi.com/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 1328,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.kagi.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 508,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "linkup",
    "name": "Linkup",
    "category": "web-search",
    "homepage": "https://www.linkup.so",
    "docs": "https://docs.linkup.so/pages/documentation/endpoints/search/reference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <LINKUP_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.linkup.so/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.linkup.so/mcp",
      "tools": [
        "linkup-search",
        "linkup-research",
        "linkup-get-research",
        "linkup-fetch"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.linkup.so/pages/integrations/mcp/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.linkup.so/mcp",
        "headers": {
          "Authorization": "Bearer $LINKUP_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.linkup.so/pages/integrations/mcp/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "$20 free credits/month for new accounts signing up with a professional email",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.linkup.so/llms.txt",
    "desc_en": "Lets an agent search, fetch pages, or run deep multi-source research via Linkup's Search/Fetch/Research API endpoints.",
    "notes": "Also supports the x402 protocol: pay-per-request in USDC on Base with no account required; Extract endpoint is in closed beta; MCP endpoint also supports ?apiKey= query param auth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "$20 credits, topped back up to $20 each month (professional-email signups)",
      "period": "month",
      "source_url": "https://docs.linkup.so/pages/documentation/development/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <LINKUP_API_KEY>",
      "source_url": "https://docs.linkup.so/pages/documentation/endpoints/search/reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.linkup.so/v1",
    "async_jobs": {
      "value": true,
      "how": "research tasks are started then polled for status/results (MCP tools linkup-research + linkup-get-research)",
      "source_url": "https://docs.linkup.so/pages/integrations/mcp/mcp"
    },
    "operations": [
      "answer-engine",
      "web-search",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "web search with a sourced answer",
      "method": "POST",
      "url": "https://api.linkup.so/v1/search",
      "example": "curl -X POST https://api.linkup.so/v1/search -H \"Authorization: Bearer $LINKUP_API_KEY\" -H \"Content-Type: application/json\" -d '{\"q\":\"What is Microsoft 2024 revenue?\",\"depth\":\"standard\",\"outputType\":\"sourcedAnswer\"}'",
      "response_fields": [
        "answer",
        "sources[].name",
        "sources[].url",
        "sources[].snippet"
      ],
      "async": null,
      "source_url": "https://docs.linkup.so/pages/documentation/endpoints/search/reference",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Search: $0.005 per call (flash/fast/standard, searchResults), $0.006 with sourcedAnswer/structured; deep $0.05-$0.055",
      "source_url": "https://docs.linkup.so/pages/documentation/platform/pricing.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 213,
        "url": "https://smithery.ai/servers/LinkupPlatform/linkup-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.linkup.so/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 904,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.linkup.so/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 564,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "mojeek-search-api",
    "name": "Mojeek Search API",
    "category": "web-search",
    "homepage": "https://www.mojeek.com/services/search/web-search-api/",
    "docs": "https://www.mojeek.com/support/api/search/",
    "auth": "api_key",
    "auth_hint": "api_key query parameter (https://api.mojeek.com/search?q=...&api_key=<KEY>)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "limited-query free trial available on request; paid plans from £2 CPM (Startup, 5 req/s, 100k/day cap)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Query Mojeek's independent web index for titles, URLs and snippets in JSON or XML, with country/language boosting.",
    "notes": "Sign-up is not instant self-serve, requires contacting Mojeek via their contact form to get a key/plan (Startup/Business/Enterprise). Independent (non-Google/Bing-derived) index.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "limited free trial on request (contact Mojeek)",
      "period": "one_time",
      "source_url": "https://www.mojeek.com/services/search/web-search-api/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api_key",
      "format": "GET https://api.mojeek.com/search?q=...&api_key=<API_KEY>&fmt=json",
      "source_url": "https://www.mojeek.com/support/api/search/quickstart.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mojeek.com",
    "rate_limits": {
      "summary": "Startup: 5 queries/sec, 100,000/day; Business: 10 queries/sec, 400,000/day; Enterprise unlimited",
      "source_url": "https://www.mojeek.com/services/search/web-search-api/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous GET returns JSON/XML results",
      "source_url": "https://www.mojeek.com/support/api/search/quickstart.html"
    },
    "data_policy": {
      "summary": "All plans include storage rights and AI usage permissions; results may be re-ranked and combined with other engines",
      "source_url": "https://www.mojeek.com/services/search/web-search-api/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "search the web",
      "method": "GET",
      "url": "https://api.mojeek.com/search?q={query}&api_key={API_KEY}&fmt=json",
      "example": "curl \"https://api.mojeek.com/search?q=mojeek&api_key=$MOJEEK_API_KEY&lb=EN&rb=GB&fmt=json\"",
      "response_fields": [
        "response.status",
        "response.results[].title",
        "response.results[].url",
        "response.results[].desc"
      ],
      "async": null,
      "source_url": "https://www.mojeek.com/support/api/search/quickstart.html",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Startup plan GBP 2 per 1,000 queries (GBP 0.002/query); Business GBP 3 per 1,000; excl. VAT",
      "source_url": "https://www.mojeek.com/services/search/web-search-api/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mojeek.com",
        "probes": 1,
        "up": 1,
        "median_ms": 849,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "parallel-web-systems-search-api",
    "name": "Parallel Web Systems Search API",
    "category": "web-search",
    "homepage": "https://parallel.ai",
    "docs": "https://docs.parallel.ai",
    "auth": "api_key",
    "auth_hint": "x-api-key: <PARALLEL_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://search.parallel.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://search.parallel.ai/mcp",
      "tools": [
        "web_search",
        "web_fetch"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.parallel.ai/integrations/mcp/search-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://search.parallel.ai/mcp",
        "headers": {
          "Authorization": "Bearer $PARALLEL_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.parallel.ai/integrations/mcp/search-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free: 5,000 requests/month across APIs, plus up to $80 signup credit and $5/month free credits",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://docs.parallel.ai/public-openapi.json",
    "llms_txt": "https://docs.parallel.ai/llms.txt",
    "desc_en": "Lets an agent run Parallel's low-latency Search API for web research, content extraction, and entity discovery.",
    "notes": "The remote MCP server works without an account/API key at lower rate limits; an Authorization: Bearer key raises them. The main REST API requires an API key from the dashboard. Search defaults to mode advanced ($5 per 1,000 requests); set mode fast for $1 per 1,000",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "up to 5,000 requests/month, plus up to $80 signup and $5/month credits",
      "period": "month",
      "source_url": "https://parallel.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <PARALLEL_API_KEY>",
      "source_url": "https://docs.parallel.ai/search/search-quickstart",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.parallel.ai/v1",
    "rate_limits": {
      "summary": "Varies by API: Task 2,000/min, Search 600/min, Find All 25/hr",
      "source_url": "https://parallel.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Zero data retention offered on Enterprise plans",
      "source_url": "https://parallel.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a web search",
      "method": "POST",
      "url": "https://api.parallel.ai/v1/search",
      "example": "curl https://api.parallel.ai/v1/search -H \"Content-Type: application/json\" -H \"x-api-key: $PARALLEL_API_KEY\" -d '{\"objective\": \"Find latest news about Parallel Web Systems\", \"search_queries\": [\"Parallel Web Systems announcements\"], \"mode\": \"fast\"}'",
      "response_fields": [
        "search_id",
        "results[].url",
        "results[].title",
        "results[].excerpts",
        "usage"
      ],
      "async": null,
      "source_url": "https://docs.parallel.ai/search/search-quickstart",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Search: $1 per 1,000 requests (turbo/fast modes) or $5 per 1,000 (basic/advanced; advanced is the default); +$1 per 1,000 additional results beyond 10",
      "source_url": "https://docs.parallel.ai/search/modes",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.parallel.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 621,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://search.parallel.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 605,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "perplexity-sonar-search-api",
    "name": "Perplexity Sonar / Search API",
    "category": "web-search",
    "homepage": "https://docs.perplexity.ai",
    "docs": "https://docs.perplexity.ai/api-reference/search-post",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <PERPLEXITY_API_KEY> (remote MCP also supports OAuth sign-in)",
    "mcp": {
      "type": "official",
      "url": "https://api.perplexity.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.perplexity.ai/mcp",
      "tools": [
        "perplexity_search",
        "perplexity_ask",
        "perplexity_research",
        "perplexity_reason"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.perplexity.ai/guides/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.perplexity.ai/mcp",
        "headers": {
          "Authorization": "Bearer $PERPLEXITY_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.perplexity.ai/guides/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only: no confirmed free tier; pay-as-you-go, Search API billed at $5 per 1,000 requests ($1 per 1,000 for the fast search variant)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.perplexity.ai/llms.txt",
    "desc_en": "Lets an agent call Perplexity's Search API or MCP tools (search/ask/research/reason) for real-time grounded web answers.",
    "notes": "Sonar Chat Completions endpoint is being migrated to the new Agent API with a migration deadline around 2026-09-27; platform now exposes four APIs: Search, Router, Agent, Embeddings.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.perplexity.ai/getting-started/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PERPLEXITY_API_KEY>",
      "source_url": "https://docs.perplexity.ai/api-reference/search-post",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.perplexity.ai",
    "operations": [
      "answer-engine",
      "web-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a web search",
      "method": "POST",
      "url": "https://api.perplexity.ai/search",
      "example": "curl -X POST https://api.perplexity.ai/search -H \"Authorization: Bearer $PERPLEXITY_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":\"latest AI developments\",\"max_results\":3}'",
      "response_fields": [
        "results[].title",
        "results[].url",
        "results[].snippet",
        "results[].date",
        "id"
      ],
      "async": null,
      "source_url": "https://docs.perplexity.ai/api-reference/search-post",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Search API: $5 per 1,000 requests ($0.005 per request); fast search $1 per 1,000",
      "source_url": "https://docs.perplexity.ai/guides/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.perplexity.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 549,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.perplexity.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 522,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "searchapi-io",
    "name": "SearchApi.io",
    "category": "web-search",
    "homepage": "https://www.searchapi.io",
    "docs": "https://www.searchapi.io/docs/google",
    "auth": "api_key",
    "auth_hint": "api_key=<KEY> as query param, or Authorization: Bearer <KEY>",
    "mcp": {
      "type": "official",
      "url": "https://www.searchapi.io/mcp",
      "maintainer": "vendor",
      "remote_url": "https://www.searchapi.io/mcp",
      "covers_full_api": true,
      "source_url": "https://www.searchapi.io/integrations/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://www.searchapi.io/mcp",
        "headers": {
          "X-MCP-Token": "$SEARCHAPI_MCP_TOKEN"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://www.searchapi.io/integrations/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 100 free requests one-time on signup, no credit card required; then Developer plan $40/mo for 10,000 searches",
    "sdk": [],
    "openapi": "https://www.searchapi.io/openapi/google.yaml",
    "llms_txt": null,
    "desc_en": "Fetch structured JSON results from Google, Bing, YouTube, Amazon, TikTok and 50+ other search engines via one REST API.",
    "notes": "Separate OpenAPI spec per engine (e.g. /openapi/google.yaml); official hosted MCP server at https://www.searchapi.io/mcp (OAuth, or X-MCP-Token header for clients without OAuth).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "100 free requests on signup",
      "period": "one_time",
      "source_url": "https://www.searchapi.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api_key",
      "format": "?api_key=<KEY> (or Authorization: Bearer <KEY>)",
      "source_url": "https://www.searchapi.io/docs/google",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://www.searchapi.io/api/v1",
    "rate_limits": {
      "summary": "Up to 20% of the plan's monthly credits can be used per hour",
      "source_url": "https://www.searchapi.io/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous GET /api/v1/search returns JSON",
      "source_url": "https://www.searchapi.io/docs/google"
    },
    "operations": [
      "serp-scraping",
      "web-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a Google web search",
      "method": "GET",
      "url": "https://www.searchapi.io/api/v1/search?engine=google&q={query}",
      "example": "curl \"https://www.searchapi.io/api/v1/search?engine=google&q=chatgpt&api_key=$SEARCHAPI_API_KEY\"",
      "response_fields": [
        "organic_results[].title",
        "organic_results[].link",
        "organic_results[].snippet",
        "answer_box",
        "pagination"
      ],
      "async": null,
      "source_url": "https://www.searchapi.io/docs/google",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 successful search = 1 request; $4 per 1,000 on Developer ($40/mo for 10,000), down to $1 per 1,000 on Octo 5M; failed requests not billed",
      "source_url": "https://www.searchapi.io/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://www.searchapi.io/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 665,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://www.searchapi.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 593,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "searxng-self-hosted-json-api",
    "name": "SearXNG (self-hosted JSON API)",
    "category": "web-search",
    "homepage": "https://docs.searxng.org",
    "docs": "https://docs.searxng.org/dev/search_api.html",
    "auth": "none",
    "auth_hint": "none by default; self-hosted instance owner controls access (can add auth/proxy in front)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/ihor-sokoliuk/mcp-searxng",
      "maintainer": "community",
      "repo": "https://github.com/ihor-sokoliuk/mcp-searxng",
      "tools": [
        "searxng_web_search",
        "searxng_search_suggestions",
        "searxng_instance_info",
        "web_url_read"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/ihor-sokoliuk/mcp-searxng",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "mcp-searxng"
        ],
        "env": [
          "SEARXNG_URL"
        ],
        "docs_only": false,
        "source_url": "https://github.com/ihor-sokoliuk/mcp-searxng#quick-start",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key (self-hosted; you run and pay for the instance yourself)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Query a self-hosted SearXNG metasearch instance's JSON API to aggregate results from many search engines at once.",
    "notes": "Not a vendor with a signup/API key, it's open-source software you self-host (or point at a trusted public instance from searx.space). JSON/CSV/RSS output formats must be explicitly enabled by the instance admin in settings.yml (search.formats); most public instances disable JSON and return 403. Included because it gives agents a genuine no-signup programmatic search interface once deployed.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://docs.searxng.org/dev/search_api.html",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "GET <instance>/search?q=<query>&format=json (no auth)",
      "source_url": "https://docs.searxng.org/dev/search_api.html",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous GET/POST / or /search",
      "source_url": "https://docs.searxng.org/dev/search_api.html"
    },
    "operations": [
      "web-search"
    ],
    "no_auth": true,
    "call": {
      "operation": "run a metasearch query (JSON output)",
      "method": "GET",
      "url": "https://{instance}/search?q={query}&format=json",
      "example": "curl \"https://$SEARXNG_HOST/search?q=searxng&format=json\"",
      "async": null,
      "source_url": "https://docs.searxng.org/dev/search_api.html",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "ihor-sokoliuk/mcp-searxng",
        "stars": 1260,
        "forks": 165,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/ihor-sokoliuk/mcp-searxng",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "serpapi",
    "name": "SerpApi",
    "category": "web-search",
    "homepage": "https://serpapi.com",
    "docs": "https://serpapi.com/search-api",
    "auth": "api_key",
    "auth_hint": "api_key query parameter (also usable as header depending on client library)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.serpapi.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.serpapi.com/mcp",
      "repo": "https://github.com/serpapi/serpapi-mcp",
      "tools": [
        "search",
        "search_table",
        "search_dashboard"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/serpapi/serpapi-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.serpapi.com/mcp",
        "headers": {
          "Authorization": "Bearer $SERPAPI_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://github.com/serpapi/serpapi-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan: 250 searches/month, 50 requests/hour throughput",
    "sdk": [
      "python",
      "ruby",
      "javascript",
      "go",
      "php",
      "java",
      "rust",
      "dotnet",
      "swift"
    ],
    "openapi": null,
    "llms_txt": "https://serpapi.com/llms.txt",
    "desc_en": "Lets an agent scrape structured JSON results from Google and 20+ other search engines via SerpApi's REST API.",
    "notes": "Cached searches are free and don't count toward the monthly search quota. Hosted MCP accepts Authorization: Bearer <key> or a /<API_KEY>/mcp path; source at github.com/serpapi/serpapi-mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "250 searches",
      "period": "month",
      "source_url": "https://serpapi.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api_key",
      "format": "GET https://serpapi.com/search?engine=google&q=...&api_key=<API_KEY>",
      "source_url": "https://serpapi.com/search-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://serpapi.com",
    "rate_limits": {
      "summary": "Free plan: 50 searches/hour throughput; cached, errored and failed searches not counted",
      "source_url": "https://serpapi.com/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "optional async=true submits search to retrieve later (via Search Archive); default is synchronous",
      "source_url": "https://serpapi.com/search-api"
    },
    "data_policy": {
      "summary": "ZeroTrace Mode (higher-tier plans): search parameters, queries and results not retained",
      "source_url": "https://serpapi.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "serp-scraping",
      "web-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a Google search",
      "method": "GET",
      "url": "https://serpapi.com/search?engine=google&q={query}&api_key={API_KEY}",
      "example": "curl -G https://serpapi.com/search --data-urlencode engine=google --data-urlencode q=coffee --data-urlencode api_key=$SERPAPI_API_KEY",
      "response_fields": [
        "search_metadata.status",
        "organic_results[].title",
        "organic_results[].link",
        "organic_results[].snippet"
      ],
      "async": null,
      "source_url": "https://serpapi.com/search-api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 search per request; Starter $25/mo for 1,000 searches ($0.025/search), Developer $75/mo for 5,000 ($0.015/search); cached searches free",
      "source_url": "https://serpapi.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "serpapi/serpapi-mcp",
        "stars": 173,
        "forks": 42,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/serpapi/serpapi-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://serpapi.com",
        "probes": 1,
        "up": 1,
        "median_ms": 541,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.serpapi.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 477,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "serper",
    "name": "Serper",
    "category": "web-search",
    "homepage": "https://serper.dev",
    "docs": "https://serper.dev",
    "auth": "api_key",
    "auth_hint": "X-API-KEY header (per widely published examples; could not independently re-confirm via automated fetch, see notes)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/marcopesani/mcp-server-serper",
      "maintainer": "community",
      "repo": "https://github.com/marcopesani/mcp-server-serper",
      "tools": [
        "google_search",
        "scrape"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/marcopesani/mcp-server-serper",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "serper-search-scrape-mcp-server"
        ],
        "env": [
          "SERPER_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/marcopesani/mcp-server-serper",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 2,500 free queries one-time on signup, no credit card required; then prepaid query packages",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent fetch fast, low-cost Google search results (web, images, news, maps, shopping) via Serper's REST API.",
    "notes": "Docs/playground are login-gated. No subscriptions: prepaid credits from $1.00/1k down to $0.30/1k, valid 6 months. No official MCP server found; listed repo is the most-starred community one.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "2,500 free queries",
      "period": "one_time",
      "source_url": "https://serper.dev",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "source_url": "https://serper.dev",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "serp-scraping",
      "image-search",
      "news-search",
      "places-search"
    ],
    "no_auth": false,
    "unit_price": {
      "summary": "1 credit per query; prepaid packs $50 for 50k ($1.00/1k) down to $3,750 for 12.5M ($0.30/1k); credits valid 6 months; 2,500 free queries",
      "source_url": "https://serper.dev",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "marcopesani/mcp-server-serper",
        "stars": 169,
        "forks": 25,
        "pushed_at": "2025-03-13",
        "archived": false,
        "url": "https://github.com/marcopesani/mcp-server-serper",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "tavily",
    "name": "Tavily",
    "category": "web-search",
    "homepage": "https://tavily.com",
    "docs": "https://docs.tavily.com/documentation/api-reference/endpoint/search",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer tvly-<API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.tavily.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.tavily.com/mcp",
      "repo": "https://github.com/tavily-ai/tavily-mcp",
      "tools": [
        "tavily-search",
        "tavily-extract",
        "tavily-map",
        "tavily-crawl"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/tavily-ai/tavily-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.tavily.com/mcp/",
        "headers": {
          "Authorization": "Bearer $TAVILY_API_KEY"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://docs.tavily.com/documentation/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 1,000 API credits/month, no credit card required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.tavily.com/llms.txt",
    "desc_en": "Lets an agent call Tavily's search API or MCP server to run web searches and get AI-ready summarized results.",
    "notes": "Advanced search depth costs 2 credits vs 1 for basic/fast; remote MCP: OAuth at https://mcp.tavily.com/mcp or API key via https://mcp.tavily.com/mcp/?tavilyApiKey=<key>; repo: github.com/tavily-ai/tavily-mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1,000 API credits",
      "period": "month",
      "source_url": "https://docs.tavily.com/documentation/api-credits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer tvly-<API_KEY>",
      "source_url": "https://docs.tavily.com/documentation/api-reference/endpoint/search",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.tavily.com",
    "rate_limits": {
      "summary": "Dev keys 100 RPM, production keys 1,000 RPM; Crawl 100 RPM; Research task creation 20 RPM",
      "source_url": "https://docs.tavily.com/documentation/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "web-scraping",
      "web-crawling"
    ],
    "no_auth": false,
    "call": {
      "operation": "search the web",
      "method": "POST",
      "url": "https://api.tavily.com/search",
      "example": "curl -X POST https://api.tavily.com/search -H \"Authorization: Bearer $TAVILY_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":\"Who is Leo Messi?\"}'",
      "response_fields": [
        "results[].title",
        "results[].url",
        "results[].content",
        "results[].score",
        "answer",
        "usage"
      ],
      "async": null,
      "source_url": "https://docs.tavily.com/documentation/api-reference/endpoint/search",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Search: 1 credit (basic/fast/ultra-fast) or 2 credits (advanced); pay-as-you-go $0.008 per credit",
      "source_url": "https://www.tavily.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 1575,
        "url": "https://smithery.ai/servers/Tavily",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.tavily.com",
        "probes": 1,
        "up": 1,
        "median_ms": 570,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.tavily.com/mcp/",
        "probes": 1,
        "up": 1,
        "median_ms": 619,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "you-com-api",
    "name": "You.com API",
    "category": "web-search",
    "homepage": "https://you.com/api",
    "docs": "https://you.com/docs/api-reference/search",
    "auth": "api_key",
    "auth_hint": "X-API-Key header (or YDC_API_KEY env var)",
    "mcp": {
      "type": "official",
      "url": "https://api.you.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.you.com/mcp",
      "repo": "https://github.com/youdotcom-oss/mcp",
      "tools": [
        "you-search",
        "you-contents",
        "you-balance",
        "you-discover",
        "you-research",
        "you-finance"
      ],
      "covers_full_api": true,
      "source_url": "https://you.com/docs/build-with-agents/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.you.com/mcp",
        "headers": {
          "Authorization": "Bearer $YDC_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://you.com/docs/build-with-agents/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: 100 queries/day with no API key or sign-up through the MCP free profile (search and discover only); new API-key accounts also get $100 in one-time credit",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://you.com/docs/openapi.json",
    "llms_txt": "https://you.com/docs/llms.txt",
    "desc_en": "Lets an agent call You.com's Search/Answer/Research API or MCP server for LLM-ready web search and grounded answers.",
    "notes": "Current endpoint is POST https://ydc-index.io/v1/search (recommended); legacy GET still works but won't get new features; also offers a separate keyless Docs MCP server at you.com/docs/_mcp/server for searching You.com's own docs.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "100 queries/day keyless (you-search, you-discover via MCP ?profile=free); plus $100 one-time credit for API-key accounts",
      "period": "day",
      "source_url": "https://you.com/docs/build-with-agents/mcp-server",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <YDC_API_KEY>",
      "source_url": "https://you.com/docs/api-reference/search",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://ydc-index.io/v1",
    "data_policy": {
      "summary": "Zero Data Retention offered as an enterprise feature",
      "source_url": "https://you.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-search",
      "answer-engine",
      "web-scraping",
      "stock-market-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a web search",
      "method": "POST",
      "url": "https://ydc-index.io/v1/search",
      "example": "curl -X POST https://ydc-index.io/v1/search -H \"X-API-Key: $YDC_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":\"latest EU AI Act news\",\"count\":10}'",
      "response_fields": [
        "results.web[].url",
        "results.web[].title",
        "results.web[].snippets",
        "results.news[]",
        "metadata.search_uuid"
      ],
      "async": null,
      "source_url": "https://you.com/docs/api-reference/search",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Web Search API: $5.00 per 1,000 calls ($0.005 per search); Contents $1 per 1,000 pages; Research $12 per 1,000 calls",
      "source_url": "https://you.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/You.com/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://ydc-index.io/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 579,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://api.you.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 592,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/you-com-api.json"
  },
  {
    "id": "anchor-browser",
    "name": "Anchor Browser",
    "category": "web-scraping-browser",
    "homepage": "https://anchorbrowser.io",
    "docs": "https://docs.anchorbrowser.io",
    "auth": "api_key",
    "auth_hint": "anchor-api-key header",
    "mcp": {
      "type": "official",
      "url": "https://api.anchorbrowser.io/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.anchorbrowser.io/mcp",
      "source_url": "https://docs.anchorbrowser.io/advanced/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "url": "https://api.anchorbrowser.io/mcp",
        "headers": {
          "anchor-api-key": "$ANCHOR_API_KEY"
        },
        "oauth": false,
        "env": [
          "ANCHOR_API_KEY"
        ],
        "source_url": "https://docs.anchorbrowser.io/advanced/mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "$5 free credits/mo, no card required",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Provision authenticated cloud browser sessions and turn any website into callable MCP tools for agents.",
    "notes": "Authenticated (logged-in) browser sessions require a paid tier; free tier covers unauthenticated browsing only.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "$5 free credits",
      "period": "month",
      "source_url": "https://docs.anchorbrowser.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "anchor-api-key",
      "format": "anchor-api-key: <API_KEY>",
      "source_url": "https://docs.anchorbrowser.io/api-reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.anchorbrowser.io",
    "rate_limits": {
      "summary": "Free plan: session creation capped at 5/min, up to 5 concurrent browsers",
      "source_url": "https://docs.anchorbrowser.io/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "browser-automation",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "start a cloud browser session",
      "method": "POST",
      "url": "https://api.anchorbrowser.io/v1/sessions",
      "example": "curl -X POST https://api.anchorbrowser.io/v1/sessions -H \"anchor-api-key: $ANCHOR_API_KEY\" -H \"Content-Type: application/json\" -d '{\"session\": {\"initial_url\": \"https://example.com\"}}'",
      "response_fields": [
        "data.id",
        "data.cdp_url",
        "data.live_view_url"
      ],
      "source_url": "https://docs.anchorbrowser.io/api-reference/browser-sessions/start-browser-session",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "$0.01 per browser created + $0.05 per browser hour; Anchor proxy $8/GB",
      "source_url": "https://docs.anchorbrowser.io/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Anchor-Browser/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.anchorbrowser.io",
        "probes": 1,
        "up": 1,
        "median_ms": 608,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.anchorbrowser.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 601,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/anchor-browser.json"
  },
  {
    "id": "apify",
    "name": "Apify",
    "category": "web-scraping-browser",
    "homepage": "https://apify.com",
    "docs": "https://docs.apify.com/api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <token> for REST; browser-based OAuth2 or bearer token for hosted MCP",
    "mcp": {
      "type": "official",
      "url": "https://docs.apify.com/platform/integrations/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.apify.com",
      "repo": "https://www.npmjs.com/package/@apify/actors-mcp-server",
      "tools": [
        "search-actors",
        "fetch-actor-details",
        "call-actor",
        "search-apify-docs",
        "fetch-apify-docs",
        "get-dataset-items",
        "get-key-value-store-record"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.apify.com/platform/integrations/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.apify.com",
        "headers": {
          "Authorization": "Bearer $APIFY_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.apify.com/platform/integrations/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan: $5/mo platform usage credit, no card required",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run web scraping/automation 'Actors' from a marketplace of thousands, and manage datasets, via REST API or MCP server.",
    "notes": "MCP search/docs tools work unauthenticated; running paid Actors consumes platform usage credit. Actor endpoints use /v2/actors/{actorId}/... (e.g. run-sync-get-dataset-items)",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "$5 prepaid platform usage",
      "period": "month",
      "source_url": "https://apify.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <APIFY_TOKEN>",
      "source_url": "https://docs.apify.com/api/v2",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.apify.com/v2",
    "rate_limits": {
      "summary": "250,000 requests/min global per user; 60 req/s per resource by default (higher for some endpoints)",
      "source_url": "https://docs.apify.com/api/v2",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST run returns run object; poll GET run or use webhooks; sync run endpoints wait up to 300 s",
      "source_url": "https://docs.apify.com/api/v2"
    },
    "operations": [
      "web-scraping",
      "web-crawling",
      "browser-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "run an Actor synchronously and get its dataset items",
      "method": "POST",
      "url": "https://api.apify.com/v2/actors/{actorId}/run-sync-get-dataset-items",
      "example": "curl -X POST https://api.apify.com/v2/actors/apify~website-content-crawler/run-sync-get-dataset-items -H \"Authorization: Bearer $APIFY_TOKEN\" -H \"Content-Type: application/json\" -d '{\"startUrls\":[{\"url\":\"https://docs.apify.com\"}]}'",
      "response_fields": [
        "[] (JSON array of dataset items; fields depend on the Actor)",
        "[].url"
      ],
      "async": null,
      "source_url": "https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Platform usage: $0.20 per compute unit (1 GB RAM for 1 hour) on Free and Starter plans; some Store Actors add their own per-result or per-event fees",
      "source_url": "https://apify.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 218,
        "url": "https://smithery.ai/servers/apify",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.8,
        "reviews": 1714,
        "url": "https://sourceforge.net/software/product/Apify/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.apify.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 261,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.apify.com",
        "probes": 1,
        "up": 1,
        "median_ms": 207,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "bright-data",
    "name": "Bright Data",
    "category": "web-scraping-browser",
    "homepage": "https://brightdata.com",
    "docs": "https://docs.brightdata.com/introduction",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/brightdata/brightdata-mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.brightdata.com/mcp?token=<API_TOKEN>",
      "repo": "https://github.com/brightdata/brightdata-mcp",
      "tools": [
        "search_engine",
        "search_engine_batch",
        "scrape_as_markdown",
        "scrape_batch",
        "discover"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/brightdata/brightdata-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.brightdata.com/mcp?token=$BRIGHTDATA_API_TOKEN",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://github.com/brightdata/brightdata-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 5,000 requests/month via the MCP server (renews on the 1st, no card required); other products pay-as-you-go",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Access Web Unlocker, SERP API, Scraping Browser, and structured datasets via REST API or MCP to pull web data at scale.",
    "notes": "Large multi-product suite; pricing and free-tier limits vary significantly by product (Web Unlocker vs Scraping Browser vs Datasets).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "5,000 MCP requests",
      "period": "month",
      "source_url": "https://github.com/brightdata/brightdata-mcp",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.brightdata.com/api-reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.brightdata.com",
    "operations": [
      "web-scraping",
      "serp-scraping",
      "browser-automation",
      "structured-extraction"
    ],
    "no_auth": false,
    "call": {
      "operation": "fetch a web page through Web Unlocker",
      "method": "POST",
      "url": "https://api.brightdata.com/request",
      "example": "curl https://api.brightdata.com/request -H \"Content-Type: application/json\" -H \"Authorization: Bearer $BRIGHTDATA_API_KEY\" -d '{\"zone\":\"<WEB_UNLOCKER_ZONE>\",\"url\":\"https://example.com\",\"format\":\"raw\"}'",
      "response_fields": [
        "body (raw target page content)"
      ],
      "async": null,
      "source_url": "https://docs.brightdata.com/scraping-automation/web-unlocker/send-your-first-request",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Web Unlocker pay-as-you-go: $1.5 per 1,000 successful requests",
      "source_url": "https://brightdata.com/pricing/web-unlocker",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "brightdata/brightdata-mcp",
        "stars": 2655,
        "forks": 329,
        "pushed_at": "2026-09-17",
        "archived": false,
        "url": "https://github.com/brightdata/brightdata-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 300,
        "url": "https://smithery.ai/servers/brightdata",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.4,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Bright-Data/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.brightdata.com",
        "probes": 1,
        "up": 1,
        "median_ms": 245,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/bright-data.json"
  },
  {
    "id": "browse-ai-api",
    "name": "Browse AI API",
    "category": "web-scraping-browser",
    "homepage": "https://www.browse.ai",
    "docs": "https://docs.browse.ai/api/v2",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <key>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free forever plan: 50 credits/mo, no card required",
    "sdk": [
      "python",
      "node",
      "ruby",
      "php"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Trigger pre-built or custom 'robots' to extract and monitor web data via REST API, returning structured JSON.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "50 credits",
      "period": "month",
      "source_url": "https://www.browse.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.browse.ai/api/v2",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.browse.ai/v2",
    "async_jobs": {
      "value": true,
      "how": "robot tasks run asynchronously; get results via webhooks or by retrieving the task",
      "source_url": "https://docs.browse.ai/api/v2"
    },
    "operations": [
      "structured-extraction",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a robot (extraction task)",
      "method": "POST",
      "url": "https://api.browse.ai/v2/robots/{robotId}/tasks",
      "example": "curl -X POST https://api.browse.ai/v2/robots/$ROBOT_ID/tasks -H \"Authorization: Bearer $BROWSEAI_API_KEY\" -H \"Content-Type: application/json\" -d '{\"inputParameters\":{\"originUrl\":\"https://www.ycombinator.com/companies/airbnb\"}}'",
      "response_fields": [
        "result.id",
        "result.status",
        "result.capturedTexts",
        "result.capturedLists",
        "result.finishedAt"
      ],
      "async": "poll GET https://api.browse.ai/v2/robots/{robotId}/tasks/{taskId} until status is successful or failed (or use a webhook)",
      "source_url": "https://docs.browse.ai/api/llms.txt",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per 10 rows extracted or per screenshot; premium sites cost 2-10 credits minimum per task; extra credits about $0.013-$0.030 each depending on plan and billing period",
      "source_url": "https://www.browse.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.browse.ai/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 372,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    }
  },
  {
    "id": "browser-use-cloud-api",
    "name": "Browser Use Cloud API",
    "category": "web-scraping-browser",
    "homepage": "https://browser-use.com",
    "docs": "https://docs.browser-use.com",
    "auth": "api_key",
    "auth_hint": "X-Browser-Use-API-Key header (key prefix bu_)",
    "mcp": {
      "type": "official",
      "url": "https://api.browser-use.com/v3/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.browser-use.com/v3/mcp",
      "tools": [
        "run_session",
        "get_session",
        "send_task",
        "stop_session",
        "get_session_messages",
        "list_sessions",
        "list_browser_profiles"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.browser-use.com/cloud/guides/mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.browser-use.com/v3/mcp",
        "derived": true
      }
    },
    "free_tier": "$15 one-time signup credit for new accounts (Google/GitHub/Microsoft); paid usage afterward",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.browser-use.com/llms.txt",
    "desc_en": "Launch cloud browser sessions and run AI browser-automation agent tasks via REST API or Python/TypeScript SDK.",
    "notes": "Pay-as-you-go: model cost + 20% and browsers at $0.02/hour, no per-run fees; no ongoing free tier beyond the signup credit.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$15 signup credits (Google/GitHub/Microsoft signups)",
      "period": "one_time",
      "source_url": "https://browser-use.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Browser-Use-API-Key",
      "format": "X-Browser-Use-API-Key: bu_<API_KEY>",
      "source_url": "https://docs.browser-use.com",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.browser-use.com/api/v4",
    "rate_limits": {
      "summary": "Per-project default max(25, 2x concurrency) req/s, capped at 100 RPS; edge WAF 1000 RPS per IP",
      "source_url": "https://docs.browser-use.com",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "tasks run asynchronously; poll the run/session status until complete",
      "source_url": "https://docs.browser-use.com"
    },
    "operations": [
      "browser-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "run an AI browser task",
      "method": "POST",
      "url": "https://api.browser-use.com/api/v4/runs",
      "example": "curl -X POST https://api.browser-use.com/api/v4/runs -H \"X-Browser-Use-API-Key: $BROWSER_USE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"task\": \"Find the current Bitcoin price\"}'",
      "response_fields": [
        "id",
        "status",
        "sessionId",
        "eventsUrl"
      ],
      "async": "poll GET https://api.browser-use.com/api/v4/runs/{run_id} until status is completed/failed/cancelled; output in result",
      "source_url": "https://docs.browser-use.com/cloud/api-v4/runs/create-run.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Agent run: model token cost + 20% service fee (e.g. Claude Sonnet 5 $2.40 in / $12.00 out per 1M tokens); cloud browser $0.02/hour",
      "source_url": "https://browser-use.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.browser-use.com/api/v4",
        "probes": 1,
        "up": 1,
        "median_ms": 372,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.browser-use.com/v3/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 296,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "browserbase-stagehand",
    "name": "Browserbase (+ Stagehand)",
    "category": "web-scraping-browser",
    "homepage": "https://www.browserbase.com",
    "docs": "https://docs.browserbase.com",
    "auth": "api_key",
    "auth_hint": "X-BB-API-Key header, plus Project ID",
    "mcp": {
      "type": "official",
      "url": "https://mcp.browserbase.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.browserbase.com/mcp",
      "repo": "https://github.com/browserbase/mcp-server-browserbase",
      "tools": [
        "start",
        "end",
        "navigate",
        "act",
        "observe",
        "extract"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/browserbase/mcp-server-browserbase",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.browserbase.com/mcp?browserbaseApiKey=$BROWSERBASE_API_KEY",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.browserbase.com/integrations/mcp/setup",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 1 browser hour/month, 3 concurrent browsers, 15 min/session, no card required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run and control cloud headless browsers programmatically, with Stagehand adding natural-language page actions.",
    "notes": "Billed by browser-hours; Stagehand SDK is open source but needs a browser backend such as Browserbase. Hosted MCP takes the key as ?browserbaseApiKey=; the mcp-server-browserbase repo is archived since 2026-07-20.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1 browser hour, 3 concurrent browsers, 15 min/session",
      "period": "month",
      "source_url": "https://www.browserbase.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-BB-API-Key",
      "format": "X-BB-API-Key: <API_KEY>",
      "source_url": "https://docs.browserbase.com/reference/api/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.browserbase.com/v1",
    "rate_limits": {
      "summary": "Free plan: 3 concurrent browsers, 15 minutes per session",
      "source_url": "https://www.browserbase.com/pricing",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Free plan data retention limited to 7 days",
      "source_url": "https://www.browserbase.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "browser-automation",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a cloud browser session",
      "method": "POST",
      "url": "https://api.browserbase.com/v1/sessions",
      "example": "curl -X POST https://api.browserbase.com/v1/sessions -H 'Content-Type: application/json' -H \"X-BB-API-Key: $BROWSERBASE_API_KEY\" -d '{}'",
      "response_fields": [
        "id",
        "status",
        "connectUrl",
        "expiresAt"
      ],
      "async": null,
      "source_url": "https://docs.browserbase.com/reference/api/create-a-session",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Browser time beyond plan: $0.12 per browser hour (Developer, $20/mo incl. 100 h) or $0.10 (Startup, $99/mo incl. 500 h); proxies $12 or $10 per GB",
      "source_url": "https://www.browserbase.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 433,
        "url": "https://smithery.ai/servers/browserbase",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 3.0,
        "reviews": 2,
        "url": "https://sourceforge.net/software/product/Browserbase/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.browserbase.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 568,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.browserbase.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 568,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/browserbase-stagehand.json"
  },
  {
    "id": "diffbot",
    "name": "Diffbot",
    "category": "web-scraping-browser",
    "homepage": "https://www.diffbot.com",
    "docs": "https://www.diffbot.com/docs/extract/",
    "auth": "api_key",
    "auth_hint": "token= query parameter",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free plan: 10,000 credits/mo, no card required (5 req/min limit)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Automatically extract structured data (articles, products, people) from any URL via REST API, no custom parsing rules needed.",
    "notes": "Also offers Knowledge Graph and Crawl products with separate pricing; official client library docs listed as 'coming soon'.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "10,000 credits",
      "period": "month",
      "source_url": "https://www.diffbot.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "token",
      "format": "https://api.diffbot.com/v3/article?token=<TOKEN>&url=<URL>",
      "source_url": "https://www.diffbot.com/docs/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.diffbot.com/v3",
    "rate_limits": {
      "summary": "Free plan: 5 requests/min",
      "source_url": "https://www.diffbot.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "structured-extraction",
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "extract an article from a URL",
      "method": "GET",
      "url": "https://api.diffbot.com/v3/article?url={url}&token={token}",
      "example": "curl \"https://api.diffbot.com/v3/article?url=https%3A%2F%2Fexample.com%2Fpost&token=$DIFFBOT_TOKEN\" -H 'Accept: application/json'",
      "response_fields": [
        "objects[0].title",
        "objects[0].text",
        "objects[0].author",
        "objects[0].date"
      ],
      "async": null,
      "source_url": "https://www.diffbot.com/docs/extract/article",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Extract: 1 credit per page; overage $0.001/credit (Startup), $0.0009/credit (Plus)",
      "source_url": "https://www.diffbot.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.diffbot.com/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 579,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "firecrawl",
    "name": "Firecrawl",
    "category": "web-scraping-browser",
    "homepage": "https://www.firecrawl.dev",
    "docs": "https://docs.firecrawl.dev",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <fc-key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.firecrawl.dev/v2/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.firecrawl.dev/v2/mcp",
      "repo": "https://github.com/firecrawl/firecrawl-mcp-server",
      "tools": [
        "firecrawl_scrape",
        "firecrawl_search",
        "firecrawl_map",
        "firecrawl_crawl",
        "firecrawl_check_crawl_status",
        "firecrawl_parse",
        "firecrawl_agent",
        "firecrawl_agent_status",
        "firecrawl_interact",
        "firecrawl_monitor_create",
        "firecrawl_credit_usage"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/firecrawl/firecrawl-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.firecrawl.dev/v2/mcp",
        "headers": {
          "Authorization": "Bearer $FIRECRAWL_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.firecrawl.dev/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 1,000 credits/mo, no card required",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.firecrawl.dev/llms.txt",
    "desc_en": "Scrape, crawl, and extract structured data from any website via a single REST API call.",
    "notes": "Also offers OAuth-based remote MCP endpoint (mcp.firecrawl.dev/v2/mcp-oauth) and a keyless trial with daily limits.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1,000 credits",
      "period": "month",
      "source_url": "https://www.firecrawl.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer fc-<API_KEY>",
      "source_url": "https://docs.firecrawl.dev/api-reference/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.firecrawl.dev",
    "rate_limits": {
      "summary": "Free: 2 concurrent requests; scrape/map/search 10/min; crawl and agent 2/min",
      "source_url": "https://www.firecrawl.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "crawl returns a job id; poll GET /v2/crawl/{id} or use webhooks (crawl.page, crawl.completed)",
      "source_url": "https://docs.firecrawl.dev/features/crawl"
    },
    "operations": [
      "web-scraping",
      "web-crawling",
      "structured-extraction",
      "web-search",
      "browser-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "scrape a page to markdown",
      "method": "POST",
      "url": "https://api.firecrawl.dev/v2/scrape",
      "example": "curl -X POST https://api.firecrawl.dev/v2/scrape -H \"Authorization: Bearer $FIRECRAWL_API_KEY\" -H \"Content-Type: application/json\" -d '{\"url\":\"https://example.com\"}'",
      "response_fields": [
        "success",
        "data.markdown",
        "data.metadata.title",
        "data.metadata.statusCode",
        "data.links"
      ],
      "async": null,
      "source_url": "https://docs.firecrawl.dev/api-reference/endpoint/scrape",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Scrape: 1 credit per page; Hobby plan 5,000 credits/month for $16/mo billed yearly ($19 monthly); free plan 1,000 credits",
      "source_url": "https://www.firecrawl.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Firecrawl/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.firecrawl.dev",
        "probes": 1,
        "up": 1,
        "median_ms": 438,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.firecrawl.dev/v2/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 312,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/firecrawl.json"
  },
  {
    "id": "hyperbrowser",
    "name": "Hyperbrowser",
    "category": "web-scraping-browser",
    "homepage": "https://www.hyperbrowser.ai",
    "docs": "https://www.hyperbrowser.ai/docs",
    "auth": "api_key",
    "auth_hint": "x-api-key header",
    "mcp": {
      "type": "official",
      "url": "https://github.com/hyperbrowserai/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/hyperbrowserai/mcp",
      "tools": [
        "scrape_webpage",
        "crawl_webpages",
        "extract_structured_data",
        "search_with_bing",
        "browser_use_agent",
        "openai_computer_use_agent",
        "claude_computer_use_agent",
        "create_profile",
        "delete_profile",
        "list_profiles"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/hyperbrowserai/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "hyperbrowser-mcp"
        ],
        "env": [
          "HYPERBROWSER_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/hyperbrowserai/mcp#running-on-cursor",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan: starter credits, 1 concurrent browser, no card required",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Spin up cloud browsers and call scrape, crawl, and structured-extract endpoints via REST API or MCP server.",
    "notes": "SDKs are compatible with Playwright, Puppeteer, and Selenium.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <API_KEY>",
      "source_url": "https://hyperbrowser.ai/docs/api-reference/create-new-session",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.hyperbrowser.ai",
    "operations": [
      "browser-automation",
      "web-scraping",
      "web-crawling",
      "structured-extraction"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "hyperbrowserai/mcp",
        "stars": 792,
        "forks": 74,
        "pushed_at": "2025-11-20",
        "archived": false,
        "url": "https://github.com/hyperbrowserai/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.hyperbrowser.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 474,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "oxylabs",
    "name": "Oxylabs",
    "category": "web-scraping-browser",
    "homepage": "https://oxylabs.io",
    "docs": "https://developers.oxylabs.io",
    "auth": "api_key",
    "auth_hint": "HTTP Basic Auth with API-user credentials (--user USERNAME:PASSWORD)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.oxylabs.io/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.oxylabs.io/mcp",
      "repo": "https://github.com/oxylabs/oxylabs-mcp",
      "tools": [
        "universal_scraper",
        "google_search_scraper",
        "amazon_search_scraper",
        "amazon_product_scraper",
        "ai_scraper",
        "ai_crawler",
        "ai_browser_agent",
        "ai_search",
        "ai_map",
        "generate_schema"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/oxylabs/oxylabs-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.oxylabs.io/mcp",
        "derived": true
      }
    },
    "free_tier": "Trial: Web Scraper API free trial with up to 2,000 results one-time, no card required",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": "https://developers.oxylabs.io/llms-full.txt",
    "desc_en": "Fetch web pages, search-engine results, and e-commerce data at scale via REST API with built-in proxy/unblocking infrastructure.",
    "notes": "Enterprise-oriented pricing overall, but self-serve API-user creation and free trial are available via the dashboard. Official MCP is hosted at mcp.oxylabs.io; its GitHub repo was archived on 2026-09-16.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "up to 2,000 results (Web Scraper API)",
      "period": "one_time",
      "source_url": "https://oxylabs.io/products/scraper-api/web/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<API_USERNAME>:<API_PASSWORD>)",
      "source_url": "https://developers.oxylabs.io/get-started/quick-start-web-scraper-api.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://realtime.oxylabs.io/v1",
    "operations": [
      "web-scraping",
      "serp-scraping",
      "structured-extraction",
      "browser-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "scrape a web page (realtime)",
      "method": "POST",
      "url": "https://realtime.oxylabs.io/v1/queries",
      "example": "curl --user \"$OXYLABS_USERNAME:$OXYLABS_PASSWORD\" https://realtime.oxylabs.io/v1/queries -H 'Content-Type: application/json' -d '{\"source\": \"universal\", \"url\": \"https://example.com\"}'",
      "response_fields": [
        "results[0].content",
        "results[0].status_code",
        "results[0].url",
        "results[0].job_id"
      ],
      "async": null,
      "source_url": "https://developers.oxylabs.io/products/web-scraper-api/integration-methods/realtime.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Web Scraper API (Free Trial/Micro): $1.15 per 1,000 results for other sites without JS ($1.00 Google, $0.50 Amazon), $1.35 per 1,000 with JS rendering; failed requests not charged",
      "source_url": "https://oxylabs.io/products/scraper-api/web/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.2,
        "reviews": 1211,
        "url": "https://sourceforge.net/software/product/Oxylabs/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://realtime.oxylabs.io/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 1035,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.oxylabs.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 768,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "playwright-mcp-microsoft",
    "name": "Playwright MCP (Microsoft)",
    "category": "web-scraping-browser",
    "homepage": "https://github.com/microsoft/playwright-mcp",
    "docs": "https://github.com/microsoft/playwright-mcp#readme",
    "auth": "none",
    "auth_hint": "no auth; runs as a local process via npx",
    "mcp": {
      "type": "official",
      "url": "https://github.com/microsoft/playwright-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/microsoft/playwright-mcp",
      "tools": [
        "browser_navigate",
        "browser_navigate_back",
        "browser_click",
        "browser_type",
        "browser_press_key",
        "browser_hover",
        "browser_drag",
        "browser_snapshot",
        "browser_take_screenshot",
        "browser_fill_form",
        "browser_select_option",
        "browser_file_upload",
        "browser_handle_dialog",
        "browser_tabs",
        "browser_close",
        "browser_evaluate",
        "browser_console_messages",
        "browser_network_requests"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/microsoft/playwright-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "@playwright/mcp@latest"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/microsoft/playwright-mcp#getting-started",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, open source, no key",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Official Microsoft MCP server giving agents structured browser control (click, type, navigate) via Playwright's accessibility tree.",
    "notes": "Runs locally/self-hosted via `npx @playwright/mcp`; no cloud hosting, account, or API key required, but needs a local or self-managed browser runtime. Apache-2.0 licensed.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://github.com/microsoft/playwright-mcp",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "none (local stdio server: npx @playwright/mcp@latest)",
      "source_url": "https://github.com/microsoft/playwright-mcp",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "browser-automation",
      "screenshot"
    ],
    "no_auth": true,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "microsoft/playwright-mcp",
        "stars": 37537,
        "forks": 3196,
        "pushed_at": "2026-09-18",
        "archived": false,
        "url": "https://github.com/microsoft/playwright-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "scrapegraphai-api",
    "name": "ScrapeGraphAI API",
    "category": "web-scraping-browser",
    "homepage": "https://scrapegraphai.com",
    "docs": "https://docs.scrapegraphai.com/introduction",
    "auth": "api_key",
    "auth_hint": "SGAI-APIKEY: <key> header",
    "mcp": {
      "type": "official",
      "url": "https://mcp.scrapegraphai.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.scrapegraphai.com/mcp",
      "tools": [
        "scrape",
        "extract",
        "search",
        "crawl_start",
        "crawl_get",
        "crawl_pages",
        "crawl_stop",
        "crawl_resume",
        "crawl_delete",
        "monitor_create",
        "monitor_list",
        "monitor_get",
        "monitor_update",
        "monitor_pause",
        "monitor_resume",
        "monitor_delete",
        "monitor_activity",
        "credits",
        "history_list",
        "history_get"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.scrapegraphai.com/services/mcp-server/introduction.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.scrapegraphai.com/mcp",
        "derived": true
      }
    },
    "free_tier": "Trial: 500 API credits one-time on the Free plan (10 requests/min), no card required",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.scrapegraphai.com/llms.txt",
    "desc_en": "Use AI-driven prompts to scrape and extract structured data from webpages via REST API or Python/JS SDK.",
    "notes": "Also offers the open-source scrapegraph-ai library with LangChain/LlamaIndex integrations.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "500 API credits one-time (10 requests/min)",
      "period": "one_time",
      "source_url": "https://scrapegraphai.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "SGAI-APIKEY",
      "format": "SGAI-APIKEY: sgai-<API_KEY>",
      "source_url": "https://docs.scrapegraphai.com/api-reference/introduction.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://v2-api.scrapegraphai.com/api",
    "rate_limits": {
      "summary": "Free plan: 10 requests/min, 1 concurrent crawl, 1 monitor; status polling not counted",
      "source_url": "https://docs.scrapegraphai.com/knowledge-base/account/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "crawl is async: start returns an id, poll the crawl get-status endpoint",
      "source_url": "https://docs.scrapegraphai.com/api-reference/introduction.md"
    },
    "operations": [
      "web-scraping",
      "structured-extraction",
      "web-crawling",
      "web-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "extract structured data from a web page with a prompt",
      "method": "POST",
      "url": "https://v2-api.scrapegraphai.com/api/extract",
      "example": "curl -X POST https://v2-api.scrapegraphai.com/api/extract -H \"SGAI-APIKEY: $SGAI_API_KEY\" -H \"Content-Type: application/json\" -d '{\"url\":\"https://example.com\",\"prompt\":\"What is the title of this page?\"}'",
      "response_fields": [
        "id",
        "json",
        "raw",
        "usage.promptTokens",
        "usage.completionTokens"
      ],
      "async": null,
      "source_url": "https://docs.scrapegraphai.com/api-reference/endpoint/extract",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Extract: 5 credits per call (+5 with stealth); scrape to markdown 1 credit. Starter $20/mo for 10,000 credits (about $0.01 per extract); credit packs from $5 per 1,000 credits",
      "source_url": "https://scrapegraphai.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://v2-api.scrapegraphai.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 584,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.scrapegraphai.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 735,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "scraperapi",
    "name": "ScraperAPI",
    "category": "web-scraping-browser",
    "homepage": "https://www.scraperapi.com",
    "docs": "https://docs.scraperapi.com",
    "auth": "api_key",
    "auth_hint": "api_key query parameter",
    "mcp": {
      "type": "official",
      "url": "https://mcp.scraperapi.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.scraperapi.com/mcp",
      "source_url": "https://docs.scraperapi.com/integrations/llm-integrations/mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.scraperapi.com/mcp",
        "derived": true
      }
    },
    "free_tier": "Free: free plan with 1,000 API credits per month (max 5 concurrent connections); new accounts start with a 7-day trial of 5,000 one-time credits, no card required",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Scrape any webpage with automatic proxy rotation, CAPTCHA handling, and JS rendering via a single REST API call.",
    "notes": "Widely used alternative to ScrapingBee/Zyte; official hosted MCP server at mcp.scraperapi.com/mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 API credits (after a 7-day 5,000-credit trial), max 5 concurrent connections",
      "period": "month",
      "source_url": "https://docs.scraperapi.com/getting-started/quick-start.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api_key",
      "format": "https://api.scraperapi.com/?api_key=<API_KEY>&url=<URL>",
      "source_url": "https://docs.scraperapi.com",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.scraperapi.com",
    "rate_limits": {
      "summary": "Free plan: max 5 concurrent connections",
      "source_url": "https://docs.scraperapi.com/getting-started/quick-start.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "optional async endpoint https://async.scraperapi.com returns a job to fetch later",
      "source_url": "https://docs.scraperapi.com"
    },
    "operations": [
      "web-scraping"
    ],
    "no_auth": false,
    "call": {
      "operation": "scrape a web page",
      "method": "GET",
      "url": "https://api.scraperapi.com/?api_key={API_KEY}&url={URL}",
      "example": "curl \"https://api.scraperapi.com/?api_key=$SCRAPERAPI_KEY&url=https://www.example.com\"",
      "response_fields": [
        "response body: raw HTML of the target page"
      ],
      "source_url": "https://docs.scraperapi.com/synchronous-apis/using-the-api-endpoint",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 API credit per normal request; render=true or premium=true 10 credits; Google/Bing SERP 25 credits; only successful (200/404) requests are charged",
      "source_url": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.scraperapi.com",
        "probes": 1,
        "up": 1,
        "median_ms": 530,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.scraperapi.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 636,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "scrapfly",
    "name": "Scrapfly",
    "category": "web-scraping-browser",
    "homepage": "https://scrapfly.io",
    "docs": "https://scrapfly.io/docs",
    "auth": "api_key+oauth2",
    "auth_hint": "key= query param for REST API; API key or OAuth2 for MCP server",
    "mcp": {
      "type": "official",
      "url": "https://scrapfly.io/products/mcp-cloud",
      "maintainer": "vendor",
      "remote_url": "https://mcp.scrapfly.io/mcp",
      "tools": [
        "scraping_instruction_enhanced",
        "web_get_page",
        "web_scrape",
        "screenshot",
        "check_if_blocked",
        "cloud_browser_open",
        "cloud_browser_navigate",
        "cloud_browser_close",
        "cloud_browser_sessions",
        "docs_search",
        "info_account"
      ],
      "covers_full_api": false,
      "source_url": "https://scrapfly.io/docs/mcp/tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.scrapfly.io/mcp",
        "headers": {
          "Authorization": "Bearer $SCRAPFLY_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://scrapfly.io/docs/mcp/authentication",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "1,000 free credits/mo, no card required, no time limit",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Scrape webpages, run cloud browsers, and capture screenshots via REST API or hosted MCP server with anti-bot bypass.",
    "notes": "MCP usage draws from the same credit balance as direct API calls.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1,000 API credits",
      "source_url": "https://scrapfly.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "format": "https://api.scrapfly.io/scrape?key=<API_KEY>&url=<URL>",
      "source_url": "https://scrapfly.io/docs/scrape-api/getting-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.scrapfly.io",
    "rate_limits": {
      "summary": "Free plan: 5 concurrent requests; concurrency defined by subscription",
      "source_url": "https://scrapfly.io/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "optional: pass webhook_name to queue the request and receive the result on a webhook",
      "source_url": "https://scrapfly.io/docs/scrape-api/getting-started"
    },
    "operations": [
      "web-scraping",
      "screenshot",
      "browser-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "scrape a web page",
      "method": "GET",
      "url": "https://api.scrapfly.io/scrape?key={API_KEY}&url={url}",
      "example": "curl -G https://api.scrapfly.io/scrape --data-urlencode \"key=$SCRAPFLY_API_KEY\" --data-urlencode \"url=https://example.com\"",
      "response_fields": [
        "result.content",
        "result.format",
        "config",
        "context"
      ],
      "async": null,
      "source_url": "https://scrapfly.io/docs/scrape-api/getting-started",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Basic scrape (datacenter proxy, no JS) = 1 credit; with JS rendering = 6 credits; residential proxy = 25 credits. Extra credits $5.00 per 10k on Discovery ($30/mo, 200k credits)",
      "source_url": "https://scrapfly.io/docs/scrape-api/billing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.scrapfly.io",
        "probes": 1,
        "up": 1,
        "median_ms": 558,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.scrapfly.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 793,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "scrapingbee",
    "name": "ScrapingBee",
    "category": "web-scraping-browser",
    "homepage": "https://www.scrapingbee.com",
    "docs": "https://www.scrapingbee.com/documentation/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <key> (legacy: api_key query param, deprecated)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.scrapingbee.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.scrapingbee.com/mcp",
      "tools": [
        "get_page_text",
        "get_page_html",
        "extract_page_data",
        "get_screenshot",
        "get_file",
        "fast_search",
        "get_google_search_results",
        "ask_chatgpt",
        "ask_gemini",
        "get_amazon_search_results",
        "get_amazon_product_details",
        "get_walmart_search_results",
        "get_youtube_search_results",
        "get_scrapingbee_usage"
      ],
      "covers_full_api": true,
      "source_url": "https://www.scrapingbee.com/documentation/remote-mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.scrapingbee.com/mcp",
        "derived": true
      }
    },
    "free_tier": "Trial: 1,000 free API credits one-time on signup, no card required; then Hobby plan $19/mo for 75,000 credits",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Scrape any webpage with JS rendering, proxy rotation, and screenshot capture via a single REST API call.",
    "notes": "Postman collection provided in place of a published OpenAPI spec. Hosted MCP takes the API key as an api_key query parameter on the server URL.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "1,000 free API credits",
      "period": "one_time",
      "source_url": "https://www.scrapingbee.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://www.scrapingbee.com/documentation/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app.scrapingbee.com/api/v1",
    "operations": [
      "web-scraping",
      "screenshot",
      "serp-scraping",
      "structured-extraction",
      "web-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "scrape a web page",
      "method": "GET",
      "url": "https://app.scrapingbee.com/api/v1?url={url}",
      "example": "curl \"https://app.scrapingbee.com/api/v1?url=https%3A%2F%2Fexample.com\" -H \"Authorization: Bearer $SCRAPINGBEE_API_KEY\"",
      "response_fields": [
        "body (HTML; JSON with json_response=true)",
        "Spb-cost header",
        "Spb-initial-status-code header"
      ],
      "async": null,
      "source_url": "https://www.scrapingbee.com/documentation/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per request without JS rendering, 5 credits with JS rendering (default), 10/25 with premium proxy; Hobby plan $19/mo for 75,000 credits",
      "source_url": "https://www.scrapingbee.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app.scrapingbee.com/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 854,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      },
      "mcp_remote": {
        "url": "https://mcp.scrapingbee.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 926,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "spider-cloud",
    "name": "Spider.cloud",
    "category": "web-scraping-browser",
    "homepage": "https://spider.cloud",
    "docs": "https://spider.cloud/docs/api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer sk-<key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.spider.cloud/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.spider.cloud/mcp",
      "repo": "https://www.npmjs.com/package/spider-cloud-mcp",
      "tools": [
        "spider_crawl",
        "spider_scrape",
        "spider_search",
        "spider_links",
        "spider_screenshot",
        "spider_unblocker",
        "spider_transform",
        "spider_get_credits",
        "spider_ai_crawl",
        "spider_ai_scrape",
        "spider_ai_search",
        "spider_ai_browser",
        "spider_ai_links",
        "spider_browser_open",
        "spider_browser_navigate",
        "spider_browser_click",
        "spider_browser_fill",
        "spider_browser_screenshot",
        "spider_browser_content",
        "spider_browser_evaluate",
        "spider_browser_wait_for",
        "spider_browser_close"
      ],
      "covers_full_api": true,
      "source_url": "https://spider.cloud/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.spider.cloud/mcp",
        "headers": {
          "Authorization": "Bearer $SPIDER_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://spider.cloud/mcp/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: keyless /scrape endpoint, rate-limited (quota not published); other endpoints return 402 without a key",
    "sdk": [
      "python",
      "javascript",
      "rust"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Crawl and scrape websites at scale, returning JSON/XML/CSV, via REST API, CLI, or MCP server.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "keyless /scrape, rate-limited (quota not published)",
      "source_url": "https://spider.cloud/llms.txt",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer sk-<API_KEY>",
      "source_url": "https://spider.cloud/docs/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.spider.cloud",
    "operations": [
      "web-crawling",
      "web-scraping",
      "browser-automation",
      "web-search",
      "screenshot"
    ],
    "no_auth": false,
    "call": {
      "operation": "scrape one page to markdown",
      "method": "POST",
      "url": "https://api.spider.cloud/scrape",
      "example": "curl -X POST https://api.spider.cloud/scrape -H \"Authorization: Bearer $SPIDER_API_KEY\" -H \"Content-Type: application/json\" -d '{\"url\":\"https://example.com\",\"return_format\":\"markdown\"}'",
      "response_fields": [
        "[0].url",
        "[0].content",
        "[0].status",
        "[0].error"
      ],
      "async": null,
      "source_url": "https://spider.cloud/llms.txt",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pay-as-you-go per request: $1 per GB of fetched content plus $0.0001 per CPU-minute; failed requests free (10,000 credits = $1)",
      "source_url": "https://spider.cloud/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.spider.cloud",
        "probes": 1,
        "up": 1,
        "median_ms": 342,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 402
        }
      },
      "mcp_remote": {
        "url": "https://mcp.spider.cloud/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 425,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "steel",
    "name": "Steel",
    "category": "web-scraping-browser",
    "homepage": "https://steel.dev",
    "docs": "https://docs.steel.dev",
    "auth": "api_key",
    "auth_hint": "steel-api-key header",
    "mcp": {
      "type": "official",
      "url": "https://github.com/steel-dev/steel-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/steel-dev/steel-mcp-server",
      "tools": [
        "steel_scrape",
        "steel_screenshot",
        "steel_pdf",
        "steel_session_create",
        "steel_session_release",
        "steel_navigate",
        "steel_snapshot",
        "steel_find",
        "steel_act",
        "steel_wait_for",
        "steel_session_diagnostics",
        "steel_session_handoff",
        "steel_session_replay",
        "steel_batch",
        "steel_session_options",
        "steel_session_live_view"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/steel-dev/steel-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Trial: Launch plan is $0 + usage with $30 one-time usage credits valid 90 days (10 concurrent sessions, 60 requests/min); no Hobby plan",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create managed cloud browser sessions with stealth proxies and CAPTCHA solving, controllable via REST API or Playwright/Puppeteer.",
    "notes": "Open-source self-hostable browser engine (steel-browser) also available; official MCP server at steel-dev/steel-mcp-server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$30 usage credits (Launch plan, valid 90 days)",
      "period": "one_time",
      "source_url": "https://docs.steel.dev/overview/pricinglimits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "steel-api-key",
      "format": "steel-api-key: <API_KEY>",
      "source_url": "https://docs.steel.dev",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.steel.dev",
    "rate_limits": {
      "summary": "Launch plan: 60 requests/min, 10 concurrent sessions, 15 min max session",
      "source_url": "https://docs.steel.dev/overview/pricinglimits",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Launch plan: 7 days data retention",
      "source_url": "https://docs.steel.dev/overview/pricinglimits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "browser-automation",
      "web-scraping",
      "screenshot"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a cloud browser session",
      "method": "POST",
      "url": "https://api.steel.dev/v1/sessions",
      "example": "curl -X POST https://api.steel.dev/v1/sessions -H \"steel-api-key: $STEEL_API_KEY\" -H \"Content-Type: application/json\" -d '{}'",
      "response_fields": [
        "id",
        "status",
        "websocketUrl",
        "sessionViewerUrl",
        "debugUrl"
      ],
      "async": null,
      "source_url": "https://github.com/steel-dev/steel-node/blob/main/api.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Browser hours: $0.10/hour on Launch plan (CAPTCHA solves $3 per 1,000, proxy $10/GB)",
      "source_url": "https://docs.steel.dev/overview/pricinglimits",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.steel.dev",
        "probes": 1,
        "up": 1,
        "median_ms": 448,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "zyte-api",
    "name": "Zyte API",
    "category": "web-scraping-browser",
    "homepage": "https://www.zyte.com",
    "docs": "https://docs.zyte.com/zyte-api/usage/http.html",
    "auth": "api_key",
    "auth_hint": "HTTP Basic Auth: API key as username, blank password",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Trial: $5 free credit one-time on signup, valid 30 days, no subscription needed; then pay-as-you-go or a monthly commitment",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch and auto-extract web pages (HTML, browser rendering, product/article data) via one HTTP API with ban avoidance.",
    "notes": "Part of Zyte's broader suite (Scrapy Cloud, Zyte IDE).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "$5 free credit",
      "period": "one_time",
      "source_url": "https://www.zyte.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<API_KEY>:)",
      "source_url": "https://docs.zyte.com/zyte-api/usage/http.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.zyte.com/v1",
    "rate_limits": {
      "summary": "Per-API-key rate limit (429 /limits/over-user-limit); retry with exponential backoff",
      "source_url": "https://docs.zyte.com/zyte-api/usage/errors.html",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "web-scraping",
      "structured-extraction",
      "browser-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "fetch a web page (raw HTTP response body)",
      "method": "POST",
      "url": "https://api.zyte.com/v1/extract",
      "example": "curl --user $ZYTE_API_KEY: --header 'Content-Type: application/json' --data '{\"url\": \"https://toscrape.com\", \"httpResponseBody\": true}' --compressed https://api.zyte.com/v1/extract",
      "response_fields": [
        "url",
        "statusCode",
        "httpResponseBody"
      ],
      "async": null,
      "source_url": "https://docs.zyte.com/zyte-api/usage/http.html",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pay-as-you-go: HTTP requests $0.13-$1.27 per 1,000 and browser-rendered requests $1.01-$16.08 per 1,000, depending on the site's difficulty tier; lower with monthly commitments",
      "source_url": "https://www.zyte.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.zyte.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 336,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "arxiv-api",
    "name": "arXiv API",
    "category": "knowledge-research",
    "homepage": "https://info.arxiv.org/help/api/",
    "docs": "https://info.arxiv.org/help/api/user-manual.html",
    "auth": "none",
    "auth_hint": "no auth",
    "mcp": {
      "type": "community",
      "url": "https://github.com/blazickjp/arxiv-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/blazickjp/arxiv-mcp-server",
      "tools": [
        "search_papers",
        "get_abstract",
        "download_paper",
        "list_papers",
        "read_paper",
        "get_paper_outline",
        "read_paper_section",
        "search_paper_text",
        "get_paper_latex",
        "citation_graph",
        "export_citations",
        "semantic_search"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/blazickjp/arxiv-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "arxiv-mcp-server"
        ],
        "env": [],
        "source_url": "https://github.com/blazickjp/arxiv-mcp-server",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Search arXiv preprints by keyword, author, category or ID and retrieve metadata, abstracts and PDF links.",
    "notes": "Endpoint: http://export.arxiv.org/api/query, returns Atom XML. Terms of Use allow no more than one request every three seconds over a single connection. For bulk harvesting use OAI-PMH or bulk data instead.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://info.arxiv.org/help/api/tou.html",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth",
      "source_url": "https://info.arxiv.org/help/api/user-manual.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "http://export.arxiv.org/api/query",
    "rate_limits": {
      "summary": "No more than 1 request every 3 seconds, single connection at a time, across all your machines; max_results slices of 2000, 30000 total",
      "source_url": "https://info.arxiv.org/help/api/tou.html",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous Atom XML responses",
      "source_url": "https://info.arxiv.org/help/api/user-manual.html"
    },
    "operations": [
      "academic-search"
    ],
    "no_auth": true,
    "call": {
      "operation": "search preprints by keyword",
      "method": "GET",
      "url": "http://export.arxiv.org/api/query?search_query={query}&start=0&max_results={n}",
      "example": "curl 'http://export.arxiv.org/api/query?search_query=all:electron&start=0&max_results=10'",
      "response_fields": [
        "feed.entry[].id",
        "feed.entry[].title",
        "feed.entry[].summary",
        "feed.entry[].link"
      ],
      "async": null,
      "source_url": "https://info.arxiv.org/help/api/user-manual.html",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "blazickjp/arxiv-mcp-server",
        "stars": 3172,
        "forks": 258,
        "pushed_at": "2026-08-26",
        "archived": false,
        "url": "https://github.com/blazickjp/arxiv-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 5142,
        "url": "https://smithery.ai/servers/arxiv",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "http://export.arxiv.org/api/query",
        "probes": 1,
        "up": 1,
        "median_ms": 423,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    }
  },
  {
    "id": "congress-gov",
    "name": "Congress.gov API",
    "category": "knowledge-research",
    "homepage": "https://www.congress.gov/",
    "docs": "https://api.congress.gov/",
    "auth": "api_key",
    "auth_hint": "api.data.gov key: query parameter ?api_key=<API_KEY> or header X-Api-Key: <API_KEY>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/cyanheads/congressgov-mcp-server",
      "maintainer": "community",
      "remote_url": "https://congressgov.caseyjhand.com/mcp",
      "repo": "https://github.com/cyanheads/congressgov-mcp-server",
      "tools": [
        "congressgov_bill_lookup",
        "congressgov_enacted_laws",
        "congressgov_member_lookup",
        "congressgov_committee_lookup",
        "congressgov_roll_votes",
        "congressgov_senate_nominations",
        "congressgov_bill_summaries",
        "congressgov_crs_reports",
        "congressgov_committee_reports",
        "congressgov_daily_record",
        "congressgov_search_bills"
      ],
      "source_url": "https://github.com/cyanheads/congressgov-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "community",
      "config": {
        "transport": "streamable-http",
        "url": "https://congressgov.caseyjhand.com/mcp",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://github.com/cyanheads/congressgov-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: government API, key issued instantly by email; 5,000 requests/hour.",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent look up U.S. bills, amendments, votes, members, committees, nominations and Congressional Record data from the Library of Congress.",
    "notes": "Official Library of Congress API (v3); usage guide and endpoint docs in github.com/LibraryOfCongress/api.congress.gov. Paginated JSON/XML, max 250 results per page.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "5,000 requests per hour",
      "source_url": "https://github.com/LibraryOfCongress/api.congress.gov",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api_key",
      "format": "?api_key=<API_KEY> (or header X-Api-Key: <API_KEY>)",
      "source_url": "https://api.data.gov/docs/developer-manual/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.congress.gov/v3",
    "rate_limits": {
      "summary": "5,000 requests per hour",
      "source_url": "https://github.com/LibraryOfCongress/api.congress.gov",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "government-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "list bills of a Congress by type",
      "method": "GET",
      "url": "https://api.congress.gov/v3/bill/{congress}/{billType}?format=json&api_key={API_KEY}",
      "example": "curl \"https://api.congress.gov/v3/bill/119/hr?format=json&limit=20&api_key=$CONGRESS_API_KEY\"",
      "response_fields": [
        "bills[].number",
        "bills[].title",
        "bills[].type",
        "bills[].latestAction.text",
        "bills[].url",
        "pagination.count"
      ],
      "async": null,
      "source_url": "https://github.com/LibraryOfCongress/api.congress.gov/blob/main/Documentation/BillEndpoint.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.congress.gov/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 514,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://congressgov.caseyjhand.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 406,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "context7-library-docs-for-agents",
    "name": "Context7 (library docs for agents)",
    "category": "knowledge-research",
    "homepage": "https://context7.com",
    "docs": "https://context7.com/docs/api-guide",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <ctx7sk_... key> (optional; works at low limits without key)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.context7.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.context7.com/mcp",
      "repo": "https://github.com/upstash/context7",
      "tools": [
        "resolve-library-id",
        "query-docs"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/upstash/context7",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.context7.com/mcp",
        "headers": {
          "Authorization": "Bearer $CONTEXT7_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://context7.com/docs/resources/all-clients",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: 1,000 API calls per month with a free API key (low limits without key); Pro $10/seat/month",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://context7.com/docs/llms.txt",
    "desc_en": "Fetch up-to-date, version-specific library documentation and code examples into a coding agent's context via MCP or REST.",
    "notes": "Maintained by Upstash; repo https://github.com/upstash/context7. Local server @upstash/context7-mcp, also a ctx7 CLI and @upstash/context7-sdk. REST base URL: https://context7.com/api/. Exceeding the limit returns 429 with Retry-After/RateLimit-* headers. Paid plans cover teams and private repos.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 API calls",
      "period": "month",
      "source_url": "https://context7.com/plans",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <CONTEXT7_API_KEY>",
      "source_url": "https://context7.com/docs/api-guide",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://context7.com/api/",
    "rate_limits": {
      "summary": "Low limits without key; plan-based limits with key; 429 with Retry-After and RateLimit-* headers when exceeded",
      "source_url": "https://context7.com/docs/api-guide",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "library-docs"
    ],
    "no_auth": false,
    "call": {
      "operation": "fetch up-to-date documentation snippets for a library",
      "method": "GET",
      "url": "https://context7.com/api/v2/context?libraryId={libraryId}&query={query}",
      "example": "curl -G \"https://context7.com/api/v2/context\" -H \"Authorization: Bearer $CONTEXT7_API_KEY\" --data-urlencode \"libraryId=/vercel/next.js\" --data-urlencode \"query=How do I use useState?\" --data-urlencode \"type=json\"",
      "response_fields": [
        "codeSnippets[].codeTitle",
        "codeSnippets[].codeList[].code",
        "infoSnippets[].content"
      ],
      "async": null,
      "source_url": "https://context7.com/docs/api-reference/context/get-documentation-context",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Per API call: Free 1,000 calls/month; Pro $10/seat/month includes 5,000 calls per seat, then $10 per 1,000 calls ($0.01/call)",
      "source_url": "https://context7.com/plans",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 5563,
        "url": "https://smithery.ai/servers/upstash/context7-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://context7.com/api/",
        "probes": 1,
        "up": 1,
        "median_ms": 585,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.context7.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 320,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "crossref-rest-api",
    "name": "Crossref REST API",
    "category": "knowledge-research",
    "homepage": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/",
    "docs": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/",
    "auth": "none",
    "auth_hint": "no key; add mailto=<email> param or User-Agent contact for the 'polite pool'",
    "mcp": {
      "type": "community",
      "url": "https://github.com/afrise/academic-search-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/afrise/academic-search-mcp-server",
      "tools": [
        "search_papers",
        "fetch_paper_details",
        "search_by_topic"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/afrise/academic-search-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uv",
        "args": [
          "run",
          "/path/to/academic-search-mcp-server/server.py"
        ],
        "env": [
          "SEMANTIC_SCHOLAR_API_KEY",
          "CROSSREF_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/afrise/academic-search-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key",
    "sdk": [],
    "openapi": "https://api.crossref.org/swagger-docs",
    "llms_txt": null,
    "desc_en": "Look up and search scholarly metadata such as DOIs, references, authors, funders and licenses across Crossref-registered works.",
    "notes": "Base URL https://api.crossref.org (/works, /journals, /funders, /members). Rate limits are fixed per pool: public 5 req/s (concurrency 1), polite with mailto 10 req/s (concurrency 3); 429 when exceeded. Metadata Plus is a paid SLA tier (150 req/s).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth; add mailto=<email> for polite pool (Metadata Plus: Crossref-Plus-API-Token: Bearer <key>)",
      "source_url": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/access-and-authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.crossref.org",
    "rate_limits": {
      "summary": "Public pool 5 req/s, concurrency 1; polite pool (mailto) 10 req/s, concurrency 3; Metadata Plus 150 req/s",
      "source_url": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/access-and-authentication/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "academic-search"
    ],
    "no_auth": true,
    "call": {
      "operation": "search scholarly works metadata",
      "method": "GET",
      "url": "https://api.crossref.org/works?query.bibliographic={query}&rows={n}&mailto={email}",
      "example": "curl \"https://api.crossref.org/works?query.bibliographic=deep+learning&rows=5&mailto=$CONTACT_EMAIL\"",
      "response_fields": [
        "message.total-results",
        "message.items[].DOI",
        "message.items[].title",
        "message.items[].author",
        "message.items[].published"
      ],
      "async": null,
      "source_url": "https://www.crossref.org/documentation/retrieve-metadata/rest-api/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "afrise/academic-search-mcp-server",
        "stars": 117,
        "forks": 12,
        "pushed_at": "2025-02-12",
        "archived": false,
        "url": "https://github.com/afrise/academic-search-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.crossref.org",
        "probes": 1,
        "up": 1,
        "median_ms": 549,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "gdelt-api",
    "name": "GDELT API",
    "category": "knowledge-research",
    "homepage": "https://www.gdeltproject.org",
    "docs": "https://blog.gdeltproject.org/gdelt-doc-2-0-api-debuts/",
    "auth": "none",
    "auth_hint": "no auth",
    "mcp": {
      "type": "community",
      "url": "https://github.com/cyanheads/gdelt-mcp-server",
      "maintainer": "community",
      "remote_url": "https://gdelt.caseyjhand.com/mcp",
      "repo": "https://github.com/cyanheads/gdelt-mcp-server",
      "tools": [
        "gdelt_search_articles",
        "gdelt_get_coverage_timeline",
        "gdelt_get_tone_distribution",
        "gdelt_get_coverage_breakdown",
        "gdelt_search_tv",
        "gdelt_get_tv_clips",
        "gdelt_get_tv_context",
        "gdelt_get_tv_trending",
        "gdelt_list_tv_stations"
      ],
      "source_url": "https://github.com/cyanheads/gdelt-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "community",
      "config": {
        "transport": "streamable-http",
        "url": "https://gdelt.caseyjhand.com/mcp",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/cyanheads/gdelt-mcp-server#public-hosted-instance",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Full-text search global news in about 65 languages and analyze coverage volume, tone and geography in near real time.",
    "notes": "DOC 2.0 API: https://api.gdeltproject.org/api/v2/doc/doc. Covers a rolling window of about 3 months, max 250 records per query. GEO 2.0 and TV APIs also exist. Full historical Events/GKG data available via Google BigQuery (needs a billed Google Cloud account).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://blog.gdeltproject.org/gdelt-doc-2-0-api-debuts/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth",
      "source_url": "https://blog.gdeltproject.org/gdelt-doc-2-0-api-debuts/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.gdeltproject.org/api/v2/doc/doc",
    "async_jobs": {
      "value": false,
      "how": "synchronous; 75 results default, up to 250 per query, rolling 3-month window",
      "source_url": "https://blog.gdeltproject.org/gdelt-doc-2-0-api-debuts/"
    },
    "operations": [
      "news-search"
    ],
    "no_auth": true,
    "call": {
      "operation": "search recent global news articles",
      "method": "GET",
      "url": "https://api.gdeltproject.org/api/v2/doc/doc?query={query}&mode=artlist&maxrecords={n}&format=json",
      "example": "curl \"https://api.gdeltproject.org/api/v2/doc/doc?query=climate&mode=artlist&maxrecords=10&format=json\"",
      "response_fields": [
        "articles[].url",
        "articles[].title",
        "articles[].seendate",
        "articles[].domain",
        "articles[].language",
        "articles[].sourcecountry"
      ],
      "source_url": "https://blog.gdeltproject.org/gdelt-doc-2-0-api-debuts/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "cyanheads/gdelt-mcp-server",
        "stars": 6,
        "forks": 0,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/cyanheads/gdelt-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.gdeltproject.org/api/v2/doc/doc",
        "probes": 1,
        "up": 1,
        "median_ms": 15969,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://gdelt.caseyjhand.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 312,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "gitingest",
    "name": "Gitingest API",
    "category": "knowledge-research",
    "homepage": "https://gitingest.com",
    "docs": "https://gitingest.com/llms.txt",
    "auth": "none",
    "auth_hint": "No key for public repos: GET https://gitingest.com/api/<owner>/<repo>; optional GitHub token for private repos via the 'token' parameter",
    "mcp": {
      "type": "community",
      "url": "https://github.com/narumiruna/gitingest-mcp",
      "maintainer": "community",
      "repo": "https://github.com/narumiruna/gitingest-mcp",
      "tools": [
        "ingest_git"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/narumiruna/gitingest-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "gitingestmcp@latest"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/narumiruna/gitingest-mcp#pypi-installation",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key needed: free public service; hosted API limited to 10 requests/minute per endpoint (the web UI also has rate limiting and CAPTCHA protection).",
    "sdk": [
      "python"
    ],
    "openapi": "https://gitingest.com/openapi.json",
    "llms_txt": "https://gitingest.com/llms.txt",
    "desc_en": "Lets an agent turn any public Git repository into a single text digest (summary, directory tree and file contents) sized for an LLM prompt.",
    "notes": "GET /api/{user}/{repo} or POST /api/ingest (include/exclude patterns); digest returned inline (summary, tree, content) plus a download URL. For heavy use the vendor recommends the open-source CLI (pip install gitingest).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://github.com/coderamp-labs/gitingest/blob/main/src/server/routers/ingest.py",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth; optional GitHub PAT in 'token' parameter for private repos",
      "source_url": "https://github.com/coderamp-labs/gitingest/blob/main/src/server/routers/ingest.py",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://gitingest.com/api",
    "rate_limits": {
      "summary": "10 requests/minute on POST /api/ingest and GET /api/{user}/{repository} (per server limiter)",
      "source_url": "https://github.com/coderamp-labs/gitingest/blob/main/src/server/routers/ingest.py",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "repo-digest"
    ],
    "no_auth": true,
    "call": {
      "operation": "turn a public GitHub repo into a text digest",
      "method": "GET",
      "url": "https://gitingest.com/api/{user}/{repository}",
      "example": "curl https://gitingest.com/api/octocat/Hello-World",
      "response_fields": [
        "summary",
        "tree",
        "content",
        "digest_url"
      ],
      "async": null,
      "source_url": "https://github.com/coderamp-labs/gitingest/blob/main/src/server/routers/ingest.py",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://gitingest.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 434,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "hacker-news-api",
    "name": "Hacker News API",
    "category": "knowledge-research",
    "homepage": "https://github.com/HackerNews/API",
    "docs": "https://github.com/HackerNews/API",
    "auth": "none",
    "auth_hint": "no auth",
    "mcp": {
      "type": "community",
      "url": "https://github.com/devrelopers/hackernews-mcp",
      "maintainer": "community",
      "repo": "https://github.com/pskill9/hn-server",
      "tools": [
        "get_stories"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/pskill9/hn-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/path/to/hn-server/build/index.js"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/pskill9/hn-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read Hacker News stories, comments, jobs, polls, user profiles and front-page rankings as real-time JSON.",
    "notes": "Base URL https://hacker-news.firebaseio.com/v0/. Read-only, no documented rate limit. No full-text search; use the separate Algolia HN Search API for that.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://github.com/HackerNews/API",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth",
      "source_url": "https://github.com/HackerNews/API",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://hacker-news.firebaseio.com/v0/",
    "rate_limits": {
      "summary": "There is currently no rate limit",
      "source_url": "https://github.com/HackerNews/API",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous JSON; real-time change events available via Firebase client libraries",
      "source_url": "https://github.com/HackerNews/API"
    },
    "operations": [
      "social-data"
    ],
    "no_auth": true,
    "call": {
      "operation": "get a story or comment by id",
      "method": "GET",
      "url": "https://hacker-news.firebaseio.com/v0/item/{id}.json",
      "example": "curl https://hacker-news.firebaseio.com/v0/item/8863.json",
      "response_fields": [
        "by",
        "title",
        "url",
        "score",
        "time",
        "kids"
      ],
      "async": null,
      "source_url": "https://github.com/HackerNews/API",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "HackerNews/API",
        "stars": 13336,
        "forks": 762,
        "pushed_at": "2025-01-01",
        "archived": false,
        "url": "https://github.com/HackerNews/API",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "github",
        "repo": "pskill9/hn-server",
        "stars": 40,
        "forks": 7,
        "pushed_at": "2024-12-31",
        "archived": false,
        "url": "https://github.com/pskill9/hn-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://hacker-news.firebaseio.com/v0/",
        "probes": 1,
        "up": 1,
        "median_ms": 648,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "open-library",
    "name": "Internet Archive Open Library API",
    "category": "knowledge-research",
    "homepage": "https://openlibrary.org/",
    "docs": "https://openlibrary.org/developers/api",
    "auth": "none",
    "auth_hint": "No key; send a User-Agent header with app name and contact email, e.g. 'User-Agent: MyApp (me@example.org)'",
    "mcp": {
      "type": "community",
      "url": "https://github.com/8enSmith/mcp-open-library",
      "maintainer": "community",
      "repo": "https://github.com/8enSmith/mcp-open-library",
      "tools": [
        "search_books",
        "get_book_by_title",
        "get_authors_by_name",
        "get_author_info",
        "get_author_photo",
        "get_book_cover",
        "get_book_by_id"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/8enSmith/mcp-open-library",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "mcp-open-library"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/8enSmith/mcp-open-library",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key; free and open: 1 request/second anonymous, 3 requests/second with an identifying User-Agent.",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent search books, authors and subjects, fetch work/edition data by ISBN or OLID, search inside book texts and get cover images.",
    "notes": "Bulk scraping discouraged; use the monthly data dumps for large jobs. Reading-log/list write endpoints need an Open Library login.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://openlibrary.org/developers/api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "User-Agent: MyLibraryApp (contact@example.org)",
      "source_url": "https://openlibrary.org/developers/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://openlibrary.org",
    "rate_limits": {
      "summary": "1 request/second unidentified; 3 requests/second with User-Agent naming app and contact; no bulk download via API",
      "source_url": "https://openlibrary.org/developers/api",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "book-lookup"
    ],
    "no_auth": true,
    "call": {
      "operation": "search books",
      "method": "GET",
      "url": "https://openlibrary.org/search.json?q={query}",
      "example": "curl -H \"User-Agent: MyApp (me@example.org)\" \"https://openlibrary.org/search.json?q=the+lord+of+the+rings\"",
      "response_fields": [
        "num_found",
        "docs[].title",
        "docs[].author_name",
        "docs[].key",
        "docs[].first_publish_year",
        "docs[].cover_i"
      ],
      "async": null,
      "source_url": "https://openlibrary.org/dev/docs/api/search",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://openlibrary.org",
        "probes": 1,
        "up": 1,
        "median_ms": 345,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "nytimes",
    "name": "New York Times APIs",
    "category": "knowledge-research",
    "homepage": "https://developer.nytimes.com/",
    "docs": "https://developer.nytimes.com/apis",
    "auth": "api_key",
    "auth_hint": "Query parameter ?api-key=<API_KEY> (create an app at developer.nytimes.com and enable the APIs you need)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/jeffmm/nytimes-mcp",
      "maintainer": "community",
      "repo": "https://github.com/jeffmm/nytimes-mcp",
      "tools": [
        "search_articles",
        "get_latest_news",
        "get_most_popular",
        "get_archive",
        "get_bestseller_list"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/jeffmm/nytimes-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "--from",
          "git+https://github.com/jeffmm/nytimes-mcp.git",
          "nytimes-mcp"
        ],
        "env": [
          "NYT_API_KEY"
        ],
        "source_url": "https://github.com/jeffmm/nytimes-mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: all public APIs are free; 500 requests/day and 5 requests/minute per API.",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent search NYT articles back to 1851, read top stories, most-popular lists, the Times Wire feed and bestseller lists.",
    "notes": "Returns metadata/abstracts and links, not full article text. Exceeding limits returns HTTP 429; wait ~12 s between calls. Non-commercial use only; terms forbid using the APIs to develop a software product or train an ML/AI system.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "500 requests per API",
      "period": "day",
      "source_url": "https://developer.nytimes.com/faq",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api-key",
      "format": "?api-key=<API_KEY>",
      "source_url": "https://api.nytimes.com/svc/topstories/v2/home.json",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.nytimes.com/svc",
    "rate_limits": {
      "summary": "Two limits per API: 500 requests/day and 5 requests/minute; sleep 12 s between calls",
      "source_url": "https://developer.nytimes.com/faq",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Non-commercial use only; terms forbid using the APIs or content to develop a software product or train an ML/AI system",
      "source_url": "https://developer.nytimes.com/terms",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "news-search",
      "news-articles",
      "book-lookup"
    ],
    "no_auth": false,
    "call": {
      "operation": "search articles",
      "method": "GET",
      "url": "https://api.nytimes.com/svc/search/v2/articlesearch.json?q={query}&api-key={API_KEY}",
      "example": "curl \"https://api.nytimes.com/svc/search/v2/articlesearch.json?q=election&api-key=$NYT_API_KEY\"",
      "response_fields": [
        "response.docs[].web_url",
        "response.docs[].headline.main",
        "response.docs[].abstract",
        "response.docs[].pub_date"
      ],
      "async": null,
      "source_url": "https://github.com/nytimes/public_api_specs/blob/master/article_search/article_search_v2.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.nytimes.com/svc",
        "probes": 1,
        "up": 1,
        "median_ms": 337,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "newsapi",
    "name": "NewsAPI",
    "category": "knowledge-research",
    "homepage": "https://newsapi.org",
    "docs": "https://newsapi.org/docs",
    "auth": "api_key",
    "auth_hint": "X-Api-Key: <key> header or apiKey=<key> query param",
    "mcp": {
      "type": "community",
      "url": "https://github.com/matteoantoci/mcp-newsapi",
      "maintainer": "community",
      "repo": "https://github.com/matteoantoci/mcp-newsapi",
      "tools": [
        "search_articles",
        "get_top_headlines"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/matteoantoci/mcp-newsapi",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/path/to/mcp-newsapi/build/index.js"
        ],
        "env": [
          "NEWSAPI_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/matteoantoci/mcp-newsapi",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free Developer plan: 100 req/day, dev/test only, 24h article delay",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Search and retrieve current and historical news articles and top headlines from thousands of sources worldwide.",
    "notes": "Free plan is barred from staging/production, including internal use; CORS allowed from localhost only. Production use needs the Business plan ($449/mo, 250k req/mo). Endpoints: /v2/everything, /v2/top-headlines.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100 requests",
      "period": "day",
      "source_url": "https://newsapi.org/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Api-Key",
      "format": "X-Api-Key: <API_KEY> (or ?apiKey=<API_KEY>, or Authorization: Bearer <API_KEY>)",
      "source_url": "https://newsapi.org/docs/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://newsapi.org/v2",
    "rate_limits": {
      "summary": "Developer plan 100 requests/day, 24h article delay, dev/test only; Business $449/mo with 250,000 requests/month",
      "source_url": "https://newsapi.org/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "news-search",
      "news-articles"
    ],
    "no_auth": false,
    "call": {
      "operation": "search news articles",
      "method": "GET",
      "url": "https://newsapi.org/v2/everything?q={query}",
      "example": "curl \"https://newsapi.org/v2/everything?q=bitcoin\" -H \"X-Api-Key: $NEWSAPI_KEY\"",
      "response_fields": [
        "status",
        "totalResults",
        "articles[].title",
        "articles[].url",
        "articles[].publishedAt",
        "articles[].source.name"
      ],
      "async": null,
      "source_url": "https://newsapi.org/docs/endpoints/everything",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Extra requests beyond plan: $0.0018 per request on Business ($449/mo incl. 250,000), $0.0009 on Advanced ($1,749/mo incl. 2M); free Developer plan has no overage",
      "source_url": "https://newsapi.org/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "matteoantoci/mcp-newsapi",
        "stars": 3,
        "forks": 7,
        "pushed_at": "2025-05-08",
        "archived": false,
        "url": "https://github.com/matteoantoci/mcp-newsapi",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://newsapi.org/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 392,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "openalex-api",
    "name": "OpenAlex API",
    "category": "knowledge-research",
    "homepage": "https://openalex.org",
    "docs": "https://help.openalex.org/api/",
    "auth": "api_key",
    "auth_hint": "api_key=<key> query param (optional; basic use works without key)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/benedict2310/Scientific-Papers-MCP",
      "maintainer": "community",
      "repo": "https://github.com/benedict2310/Scientific-Papers-MCP",
      "tools": [
        "list_categories",
        "fetch_latest",
        "fetch_top_cited",
        "search_papers",
        "fetch_content"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/benedict2310/Scientific-Papers-MCP",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@futurelab-studio/latest-science-mcp@latest"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/benedict2310/Scientific-Papers-MCP",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free: $1 of API usage/day without payment method; free key raises daily budget 10x",
    "sdk": [],
    "openapi": "https://help.openalex.org/openapi.json",
    "llms_txt": "https://help.openalex.org/llms.txt",
    "desc_en": "Query an open catalog of scholarly works, authors, institutions, sources and topics, including citation data, via REST.",
    "notes": "Base URL https://api.openalex.org. docs.openalex.org redirects to help.openalex.org. Free daily budget resets at midnight UTC; then pay-as-you-go in prepaid $1 increments. Member plans from $5,000/yr. Data is CC0. Listed MCP is a community multi-source papers server (arXiv, OpenAlex, PMC and more).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "$1 of API usage (10x with free API key)",
      "period": "day",
      "source_url": "https://help.openalex.org/hc/en-us/articles/24397762024087-Pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "api_key",
      "format": "?api_key=<API_KEY> (optional)",
      "source_url": "https://help.openalex.org/api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.openalex.org",
    "rate_limits": {
      "summary": "Cost-based daily budget ($1/day free, resets midnight UTC); each response reports cost_usd; prepaid top-ups in $1 increments",
      "source_url": "https://help.openalex.org/hc/en-us/articles/24397762024087-Pricing",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Data released under CC0",
      "source_url": "https://help.openalex.org/hc/en-us/articles/24397762024087-Pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "academic-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "search scholarly works",
      "method": "GET",
      "url": "https://api.openalex.org/works?search={query}",
      "example": "curl \"https://api.openalex.org/works?search=climate+change&per_page=10&api_key=$OPENALEX_API_KEY\"",
      "response_fields": [
        "meta.count",
        "meta.cost_usd",
        "results[].id",
        "results[].display_name",
        "results[].doi"
      ],
      "async": null,
      "source_url": "https://help.openalex.org/api/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "search: $1 per 1,000 calls; list+filter: $0.10 per 1,000; single entity: free; content download: $10 per 1,000 (after $1/day free usage)",
      "source_url": "https://help.openalex.org/access/example-costs",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "benedict2310/Scientific-Papers-MCP",
        "stars": 57,
        "forks": 9,
        "pushed_at": "2025-08-14",
        "archived": false,
        "url": "https://github.com/benedict2310/Scientific-Papers-MCP",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.openalex.org",
        "probes": 1,
        "up": 1,
        "median_ms": 456,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "pubmed-e-utilities-ncbi",
    "name": "PubMed E-utilities (NCBI)",
    "category": "knowledge-research",
    "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK25501/",
    "docs": "https://www.ncbi.nlm.nih.gov/books/NBK25501/",
    "auth": "none",
    "auth_hint": "optional api_key=<NCBI key> query param; tool and email params recommended",
    "mcp": {
      "type": "community",
      "url": "https://github.com/openags/paper-search-mcp",
      "maintainer": "community",
      "repo": "https://github.com/openags/paper-search-mcp",
      "tools": [
        "search_papers",
        "search_pubmed",
        "search_pmc",
        "search_europe_pmc",
        "download_with_fallback"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/openags/paper-search-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uv",
        "args": [
          "tool",
          "run",
          "paper-search-mcp"
        ],
        "env": [
          "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL"
        ],
        "docs_only": false,
        "source_url": "https://github.com/openags/paper-search-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free; 3 req/s without key, 10 req/s with free NCBI API key",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Search, fetch, summarize and cross-link biomedical literature records from PubMed, PMC and other Entrez databases.",
    "notes": "Base URL https://eutils.ncbi.nlm.nih.gov/entrez/eutils/ (esearch, efetch, esummary, elink). Free API key from NCBI account settings. Run heavy jobs off-peak.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth; optional ?api_key=<NCBI_API_KEY> raises limit",
      "source_url": "https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/",
    "rate_limits": {
      "summary": "3 requests/second per IP without key; 10 requests/second with free API key (one key per NCBI account)",
      "source_url": "https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "academic-search"
    ],
    "no_auth": true,
    "call": {
      "operation": "search PubMed for article IDs (ESearch)",
      "method": "GET",
      "url": "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term={query}&retmode=json",
      "example": "curl \"https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=cancer&retmax=20&retmode=json&api_key=$NCBI_API_KEY\"",
      "response_fields": [
        "esearchresult.count",
        "esearchresult.idlist",
        "esearchresult.querytranslation"
      ],
      "async": null,
      "source_url": "https://www.nlm.nih.gov/dataguide/eutilities/utilities.html",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "openags/paper-search-mcp",
        "stars": 2692,
        "forks": 280,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/openags/paper-search-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/",
        "probes": 1,
        "up": 1,
        "median_ms": 217,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    }
  },
  {
    "id": "semantic-scholar-api",
    "name": "Semantic Scholar API",
    "category": "knowledge-research",
    "homepage": "https://www.semanticscholar.org/product/api",
    "docs": "https://api.semanticscholar.org/api-docs/",
    "auth": "api_key",
    "auth_hint": "x-api-key: <key> (optional; unauthenticated access allowed)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/zongmin-yu/semantic-scholar-fastmcp-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/zongmin-yu/semantic-scholar-fastmcp-mcp-server",
      "tools": [
        "paper_relevance_search",
        "paper_bulk_search",
        "paper_title_search",
        "paper_details",
        "paper_batch_details",
        "paper_authors",
        "paper_autocomplete",
        "snippet_search",
        "paper_citations",
        "paper_references",
        "author_search",
        "author_details",
        "author_papers",
        "author_batch_details",
        "get_paper_recommendations_single",
        "get_paper_recommendations_multi"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/zongmin-yu/semantic-scholar-fastmcp-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "semantic-scholar-fastmcp"
        ],
        "env": [
          "SEMANTIC_SCHOLAR_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/zongmin-yu/semantic-scholar-fastmcp-mcp-server#mcp-client-configuration",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free; no key (shared, throttled pool) or free API key on request",
    "sdk": [],
    "openapi": "https://api.semanticscholar.org/graph/v1/swagger.json",
    "llms_txt": null,
    "desc_en": "Search papers, authors and citation graphs, and get paper recommendations from Semantic Scholar's academic corpus.",
    "notes": "Without a key, all users share a pool of 1000 req/s that can be throttled under load. A key starts at 1 req/s dedicated; requested via web form, arrives by email (not instant). Three APIs: Academic Graph, Recommendations, Datasets.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://www.semanticscholar.org/product/api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <API_KEY> (optional)",
      "source_url": "https://www.semanticscholar.org/product/api/tutorial",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.semanticscholar.org/graph/v1",
    "rate_limits": {
      "summary": "Unauthenticated: 1000 req/s shared among all users, may be throttled; with key: 1 req/s on all endpoints to start",
      "source_url": "https://www.semanticscholar.org/product/api",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "academic-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "search papers by relevance",
      "method": "GET",
      "url": "https://api.semanticscholar.org/graph/v1/paper/search?query={query}&fields={fields}",
      "example": "curl -H \"x-api-key: $S2_API_KEY\" \"https://api.semanticscholar.org/graph/v1/paper/search?query=covid+vaccination&fields=title,year,url&limit=3\"",
      "response_fields": [
        "total",
        "next",
        "data[].paperId",
        "data[].title"
      ],
      "async": null,
      "source_url": "https://api.semanticscholar.org/graph/v1/swagger.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "zongmin-yu/semantic-scholar-fastmcp-mcp-server",
        "stars": 165,
        "forks": 24,
        "pushed_at": "2026-03-20",
        "archived": false,
        "url": "https://github.com/zongmin-yu/semantic-scholar-fastmcp-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.semanticscholar.org/graph/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 326,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "wikidata",
    "name": "Wikidata",
    "category": "knowledge-research",
    "homepage": "https://www.wikidata.org",
    "docs": "https://www.wikidata.org/wiki/Wikidata:Data_access",
    "auth": "none",
    "auth_hint": "no auth for reads (descriptive User-Agent required); OAuth2 Bearer only for edits",
    "mcp": {
      "type": "official",
      "url": "https://wd-mcp.wmcloud.org/mcp",
      "maintainer": "vendor",
      "remote_url": "https://wd-mcp.wmcloud.org/mcp",
      "repo": "https://github.com/wmde/WikidataMCP",
      "tools": [
        "search_items",
        "search_properties",
        "get_statements",
        "get_statement_values",
        "get_instance_and_subclass_hierarchy",
        "execute_sparql"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/wmde/WikidataMCP",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://wd-mcp.wmcloud.org/mcp",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/wmde/WikidataMCP",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Query the Wikidata knowledge graph of entities, facts and relations via SPARQL, the REST API or MCP.",
    "notes": "Official MCP comes from Wikimedia Deutschland (github.com/wmde/WikidataMCP). SPARQL endpoint: https://query.wikidata.org/sparql, query timeout ~60s. REST API at /w/rest.php/wikibase/v1. Wikimedia rate limits and User-Agent policy apply. Added because it's a widely-used structured-knowledge source missing from the candidate list.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://www.wikidata.org/wiki/Wikidata:Data_access",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "no auth for reads; send a descriptive User-Agent with contact info",
      "source_url": "https://www.wikidata.org/wiki/Wikidata:Data_access",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://query.wikidata.org/sparql",
    "rate_limits": {
      "summary": "Wikimedia limits: 10 req/min IP-only, 200 req/min with proper User-Agent; back off on 429 and honor Retry-After",
      "source_url": "https://www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "knowledge-graph-query"
    ],
    "no_auth": true,
    "call": {
      "operation": "run a SPARQL query",
      "method": "GET",
      "url": "https://query.wikidata.org/sparql?query={sparql}",
      "example": "curl -G https://query.wikidata.org/sparql --data-urlencode 'query=SELECT ?dob WHERE { wd:Q42 wdt:P569 ?dob . }' -H \"Accept: application/sparql-results+json\" -H \"User-Agent: MyAgent/1.0 ($CONTACT_EMAIL)\"",
      "response_fields": [
        "head.vars",
        "results.bindings[].dob.value",
        "results.bindings[].dob.type"
      ],
      "async": null,
      "source_url": "https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://query.wikidata.org/sparql",
        "probes": 1,
        "up": 0,
        "median_ms": null,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": "timeout"
        }
      },
      "mcp_remote": {
        "url": "https://wd-mcp.wmcloud.org/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 204,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "wikipedia-wikimedia-api",
    "name": "Wikipedia / Wikimedia API",
    "category": "knowledge-research",
    "homepage": "https://www.mediawiki.org/wiki/Wikimedia_APIs",
    "docs": "https://www.mediawiki.org/wiki/Wikimedia_APIs",
    "auth": "none",
    "auth_hint": "Reads need no key but require a descriptive User-Agent header with contact info. Optional OAuth2 via Authorization: Bearer <access token> raises rate limits.",
    "mcp": {
      "type": "community",
      "url": "https://github.com/Rudra-ravi/wikipedia-mcp",
      "maintainer": "community",
      "repo": "https://github.com/Rudra-ravi/wikipedia-mcp",
      "tools": [
        "search_wikipedia",
        "get_article",
        "get_summary",
        "get_sections",
        "get_links",
        "get_coordinates",
        "get_related_topics",
        "summarize_article_for_query",
        "extract_key_facts"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/Rudra-ravi/wikipedia-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "wikipedia-mcp",
        "args": [],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/Rudra-ravi/wikipedia-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key (rate-limited)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Search, read and summarize Wikipedia and other Wikimedia content and metadata via REST and Action APIs.",
    "notes": "The old API Portal at api.wikimedia.org now 301-redirects to mediawiki.org/wiki/Wikimedia_APIs. Documented limits: 10 req/min for requests identified only by IP, 200 req/min for unauthenticated requests with a proper User-Agent, 2000 req/min for established editors. Main endpoints are the per-wiki MediaWiki Action API (/w/api.php) and REST APIs.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "User-Agent: MyBot/0.1 (https://example.org/mybot; mybot@example.org)",
      "source_url": "https://www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limits",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://en.wikipedia.org/w/api.php",
    "rate_limits": {
      "summary": "10 req/min IP-only; 200 req/min with User-Agent (unauthenticated or new users); 2000 req/min established editors; max 3 concurrent",
      "source_url": "https://www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limits",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Text available under CC BY-SA; additional terms may apply",
      "source_url": "https://www.mediawiki.org/wiki/Wikimedia_APIs",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "encyclopedia-lookup"
    ],
    "no_auth": true,
    "call": {
      "operation": "full-text search Wikipedia articles",
      "method": "GET",
      "url": "https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch={query}&format=json",
      "example": "curl -A \"MyBot/0.1 (https://example.org/mybot; mybot@example.org)\" \"https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Nelson%20Mandela&utf8=&format=json\"",
      "response_fields": [
        "query.searchinfo.totalhits",
        "query.search[].title",
        "query.search[].pageid",
        "query.search[].snippet",
        "continue.sroffset"
      ],
      "source_url": "https://www.mediawiki.org/wiki/API:Search",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "Rudra-ravi/wikipedia-mcp",
        "stars": 295,
        "forks": 58,
        "pushed_at": "2026-05-01",
        "archived": false,
        "url": "https://github.com/Rudra-ravi/wikipedia-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://en.wikipedia.org/w/api.php",
        "probes": 1,
        "up": 1,
        "median_ms": 326,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "wolfram-alpha-api",
    "name": "Wolfram|Alpha API",
    "category": "knowledge-research",
    "homepage": "https://products.wolframalpha.com/api",
    "docs": "https://products.wolframalpha.com/llm-api/documentation",
    "auth": "api_key",
    "auth_hint": "appid=<AppID> query param or Authorization: Bearer <AppID>",
    "mcp": {
      "type": "official",
      "url": "https://agenttools.wolfram.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://agenttools.wolfram.com/mcp",
      "tools": [
        "WolframAlpha",
        "WolframLanguageEvaluator",
        "WolframContext"
      ],
      "source_url": "https://support.wolfram.com/75237",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://agenttools.wolfram.com/mcp",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://support.wolfram.com/75237",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: non-commercial developer AppID with up to 2,000 calls/month; paid for commercial use",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Get computed answers, structured data and step-by-step results for math, science and factual queries.",
    "notes": "LLM API https://www.wolframalpha.com/api/v1/llm-api is built for agents (maxchars, default 6800); get an AppID in the Developer Portal; commercial use needs a paid license. Official MCP: free, no auth at agenttools.wolfram.com/mcp; paid services.wolfram.com/api/mcp (Bearer).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "2,000 non-commercial API calls",
      "period": "month",
      "source_url": "https://products.wolframalpha.com/api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "appid",
      "format": "?appid=<APPID> (or Authorization: Bearer <APPID>)",
      "source_url": "https://products.wolframalpha.com/llm-api/documentation",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://www.wolframalpha.com/api/v1/llm-api",
    "async_jobs": {
      "value": false,
      "how": "synchronous text response; maxchars default 6800",
      "source_url": "https://products.wolframalpha.com/llm-api/documentation"
    },
    "operations": [
      "computational-answer"
    ],
    "no_auth": false,
    "call": {
      "operation": "get a computed answer for a natural-language query (LLM API)",
      "method": "GET",
      "url": "https://www.wolframalpha.com/api/v1/llm-api?input={query}&appid={APPID}",
      "example": "curl -G https://www.wolframalpha.com/api/v1/llm-api --data-urlencode \"input=10 densest elemental metals\" --data-urlencode \"appid=$WOLFRAM_APPID\" --data-urlencode \"maxchars=1000\"",
      "response_fields": [
        "plain-text body: Query, Input interpretation, Result sections and a Wolfram|Alpha website link"
      ],
      "async": null,
      "source_url": "https://products.wolframalpha.com/llm-api/documentation",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://www.wolframalpha.com/api/v1/llm-api",
        "probes": 1,
        "up": 1,
        "median_ms": 561,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    }
  },
  {
    "id": "adobe-firefly-services-api",
    "name": "Adobe Firefly Services API",
    "category": "image-generation",
    "homepage": "https://developer.adobe.com/firefly-services/",
    "docs": "https://developer.adobe.com/firefly-services/docs/firefly-api/",
    "auth": "oauth2",
    "auth_hint": "OAuth2 Server-to-Server (Client ID/Secret via Adobe IMS); Authorization: Bearer <token>, token valid 24h",
    "mcp": {
      "type": "community",
      "url": "https://github.com/Focus-GTS/firefly-services-mcp",
      "maintainer": "community",
      "repo": "https://github.com/Focus-GTS/firefly-services-mcp",
      "tools": [
        "firefly_generate_image",
        "firefly_generate_similar",
        "firefly_expand_image",
        "firefly_fill_image",
        "firefly_generate_object_composite",
        "firefly_generate_video",
        "firefly_get_job_status",
        "firefly_upload_image"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/Focus-GTS/firefly-services-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": null
    },
    "free_tier": "check pricing; requires Adobe Developer Console project and Firefly Services entitlement",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate and edit images and manage creative assets programmatically via Adobe's Firefly REST APIs.",
    "notes": "Enterprise-leaning; needs OAuth Server-to-Server credentials from Adobe Developer Console, not a simple sign-up API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/usage-notes/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <IMS_ACCESS_TOKEN> + x-api-key: <CLIENT_ID>",
      "source_url": "https://developer.adobe.com/firefly-services/docs/firefly-api/guides/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://firefly-api.adobe.io/v3",
    "rate_limits": {
      "summary": "Default 4 requests/minute and 9,000 requests/day per organization; 429 when exceeded",
      "source_url": "https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/usage-notes/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "openid",
        "AdobeID",
        "session",
        "additional_info",
        "read_organizations",
        "firefly_api",
        "ff_apis"
      ],
      "source_url": "https://developer.adobe.com/firefly-services/docs/firefly-api/guides/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v3/images/generate-async returns jobId, statusUrl, cancelUrl; poll GET /v3/status/{jobId}",
      "source_url": "https://developer.adobe.com/firefly-services/docs/firefly-api/guides/how-tos/using-async-apis"
    },
    "operations": [
      "text-to-image",
      "image-editing",
      "image-to-image",
      "text-to-video"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://firefly-api.adobe.io/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 242,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "black-forest-labs-flux-api",
    "name": "Black Forest Labs FLUX API",
    "category": "image-generation",
    "homepage": "https://bfl.ai",
    "docs": "https://docs.bfl.ai/quick_start/introduction",
    "auth": "api_key",
    "auth_hint": "x-key: <BFL_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.bfl.ai",
      "maintainer": "vendor",
      "remote_url": "https://mcp.bfl.ai",
      "tools": [
        "generate_image",
        "vto",
        "generate_variations",
        "get_history",
        "get_credits",
        "generate_video",
        "get_result"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.bfl.ai/api_integration/mcp_integration",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.bfl.ai",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.bfl.ai/api_integration/mcp_integration",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "paid only, no free tier (FLUX Schnell weights are open for self-hosting)",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate, edit, and vary FLUX model images from text prompts via REST or the official OAuth MCP server.",
    "notes": "Official MCP server (flux-mcp) is remote/hosted at mcp.bfl.ai with OAuth-only login, billed to your BFL org.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.bfl.ai/account_management/credits_billing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-key",
      "format": "x-key: <BFL_API_KEY>",
      "source_url": "https://docs.bfl.ai/api_integration/integration_guidelines",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.bfl.ai/v1",
    "rate_limits": {
      "summary": "Max 24 concurrent requests for most endpoints (6 for flux-kontext-max); 429 when exceeded",
      "source_url": "https://docs.bfl.ai/api_integration/integration_guidelines",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST returns id + polling_url; poll polling_url (or use webhook) until Ready",
      "source_url": "https://docs.bfl.ai/api_integration/integration_guidelines"
    },
    "data_policy": {
      "summary": "Generated result URLs on delivery.*.bfl.ai expire after 10 minutes; download promptly",
      "source_url": "https://docs.bfl.ai/api_integration/integration_guidelines",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "image-to-image",
      "text-to-video"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate an image from a text prompt (FLUX.2 [pro])",
      "method": "POST",
      "url": "https://api.bfl.ai/v1/flux-2-pro-preview",
      "example": "curl -X POST https://api.bfl.ai/v1/flux-2-pro-preview -H \"x-key: $BFL_API_KEY\" -H 'Content-Type: application/json' -H 'accept: application/json' -d '{\"prompt\": \"A cat on its back legs running like a human\", \"width\": 1024, \"height\": 1024}'",
      "response_fields": [
        "id",
        "polling_url",
        "status",
        "result.sample"
      ],
      "async": "poll GET {polling_url} with the x-key header until status is \"Ready\" (or \"Error\"/\"Failed\"); image URL is result.sample, a signed URL valid for 10 minutes",
      "source_url": "https://docs.bfl.ai/flux_2/flux2_text_to_image",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "FLUX.2 [pro] text-to-image from $0.03 per image (megapixel-based, scales with resolution); FLUX1.1 [pro] 4 credits = $0.04 per image; 1 credit = $0.01",
      "source_url": "https://docs.bfl.ai/quick_start/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.bfl.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 443,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.bfl.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 499,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "freepik-api",
    "name": "Freepik API",
    "category": "image-generation",
    "homepage": "https://www.freepik.com/api",
    "docs": "https://docs.magnific.com",
    "auth": "api_key",
    "auth_hint": "x-magnific-api-key header (legacy x-freepik-api-key); base URL https://api.magnific.com/v1",
    "mcp": {
      "type": "official",
      "url": "https://mcp.magnific.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.magnific.com",
      "tools": [
        "images_generate",
        "images_upscale",
        "images_remove_background",
        "images_to_svg",
        "video_generate",
        "audio_tts",
        "creations_search",
        "creation_status",
        "account_balance"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.magnific.com/modelcontextprotocol",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.magnific.com",
        "derived": true
      }
    },
    "free_tier": "free tier: ~5 EUR of free API credits, then pay-as-you-go",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate and edit images, and generate video, music and sound effects via REST API, plus access the Freepik stock asset library.",
    "notes": "Freepik rebranded to Magnific in April 2026; docs/domains and auth header are mid-migration from freepik.com to magnific.com. The official remote MCP uses OAuth sign-in, no API key.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-magnific-api-key",
      "format": "x-magnific-api-key: <API_KEY>",
      "source_url": "https://docs.magnific.com/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.magnific.com/v1",
    "rate_limits": {
      "summary": "Per IP: 50 hits/s over 5 s, and 10 hits/s averaged over 2 min; no daily cap for most endpoints",
      "source_url": "https://docs.magnific.com/ratelimits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST returns task id; poll GET /v1/ai/<model>/{task-id} or pass webhook_url",
      "source_url": "https://docs.magnific.com/llms.txt"
    },
    "operations": [
      "text-to-image",
      "image-upscaling",
      "background-removal",
      "text-to-video",
      "text-to-speech"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a video from an image (Kling 2.1 Pro)",
      "method": "POST",
      "url": "https://api.magnific.com/v1/ai/image-to-video/kling-v2-1-pro",
      "example": "curl -X POST https://api.magnific.com/v1/ai/image-to-video/kling-v2-1-pro -H \"x-magnific-api-key: $MAGNIFIC_API_KEY\" -H \"Content-Type: application/json\" -d '{\"image\": \"https://example.com/photo.jpg\", \"prompt\": \"slow camera pan\", \"duration\": \"5\"}'",
      "response_fields": [
        "data.task_id",
        "data.status",
        "data.generated[0]"
      ],
      "async": "poll GET https://api.magnific.com/v1/ai/image-to-video/kling-v2-1/{task-id} until data.status is COMPLETED (or pass webhook_url)",
      "source_url": "https://docs.magnific.com/api-reference/image-to-video/kling-v2.1-pro/post-kling-v2-1-pro",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.magnific.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 699,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.magnific.com",
        "probes": 1,
        "up": 1,
        "median_ms": 295,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "google-gemini-imagen-image-api",
    "name": "Google Gemini / Imagen image API",
    "category": "image-generation",
    "homepage": "https://ai.google.dev/gemini-api/docs/image-generation",
    "docs": "https://ai.google.dev/gemini-api/docs/image-generation",
    "auth": "api_key",
    "auth_hint": "x-goog-api-key: $GEMINI_API_KEY",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "vendor",
      "repo": "https://github.com/GoogleCloudPlatform/vertex-ai-creative-studio/tree/main/experiments/mcp-genmedia",
      "covers_full_api": false,
      "source_url": "https://github.com/GoogleCloudPlatform/vertex-ai-creative-studio/tree/main/experiments/mcp-genmedia",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Paid only: pricing page lists Free Tier 'Not available' for all Gemini image models (Nano Banana family); usage-billed",
    "sdk": [
      "python",
      "typescript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate and multi-turn edit images from text via REST (Nano Banana/Imagen models), up to 4K with reference-image support.",
    "notes": "Also available via Vertex AI for enterprise/cloud_iam auth as an alternative. Google's experimental mcp-genmedia servers (not officially supported) use Vertex AI ADC auth, not Gemini API keys.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "watermark": true,
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-goog-api-key",
      "format": "x-goog-api-key: <GEMINI_API_KEY>",
      "source_url": "https://ai.google.dev/gemini-api/docs/image-generation",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://generativelanguage.googleapis.com/v1beta",
    "async_jobs": {
      "value": false,
      "how": "image returned inline in the response",
      "source_url": "https://ai.google.dev/gemini-api/docs/image-generation"
    },
    "data_policy": {
      "summary": "Paid tier: content not used to improve Google products; all generated images carry a SynthID watermark",
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "image-editing"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://generativelanguage.googleapis.com/v1beta",
        "probes": 1,
        "up": 1,
        "median_ms": 166,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "ideogram-api",
    "name": "Ideogram API",
    "category": "image-generation",
    "homepage": "https://ideogram.ai",
    "docs": "https://developer.ideogram.ai/ideogram-api/api-setup",
    "auth": "api_key",
    "auth_hint": "Api-Key: <IDEOGRAM_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.ideogram.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.ideogram.ai/mcp",
      "tools": [
        "generate_images_bulk",
        "edit_image",
        "reframe_image",
        "upscale_image",
        "create_collection",
        "upload_image",
        "create_dataset",
        "upload_dataset_assets",
        "train_model"
      ],
      "covers_full_api": false,
      "source_url": "https://ideogram.ai/features/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.ideogram.ai/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://ideogram.ai/features/mcp/",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only: no free API credits (web app has 10 slow credits/week); API is pay-per-image from prepaid credit (min one-time purchase $1, min auto top-up target $10)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate, edit, remix, upscale, and describe images via REST or an official OAuth MCP server, strong at in-image text.",
    "notes": "API billing is separate from Ideogram web subscriptions; requires payment method for API access. The official MCP uses OAuth and draws from the Ideogram web subscription, not API credits.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://developer.ideogram.ai/ideogram-api/api-setup",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Api-Key",
      "format": "Api-Key: <IDEOGRAM_API_KEY>",
      "source_url": "https://developer.ideogram.ai/ideogram-api/api-setup",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.ideogram.ai",
    "rate_limits": {
      "summary": "Default 10 in-flight requests; contact Ideogram for more",
      "source_url": "https://developer.ideogram.ai/ideogram-api/api-overview",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Image links returned by the API expire; download and store images you want to keep",
      "source_url": "https://developer.ideogram.ai/ideogram-api/api-setup",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "image-editing",
      "image-upscaling"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.ideogram.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 347,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.ideogram.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 289,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "leonardo-ai-api",
    "name": "Leonardo.Ai API",
    "category": "image-generation",
    "homepage": "https://leonardo.ai",
    "docs": "https://docs.leonardo.ai/docs/getting-started",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <LEONARDO_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.leonardo.ai/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.leonardo.ai/v1/mcp",
      "tools": [
        "generate-image"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.leonardo.ai/docs/connect-to-leonardoai-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.leonardo.ai/v1/mcp",
        "headers": {
          "API-Key": "$LEONARDO_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.leonardo.ai/docs/connect-to-leonardoai-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only: Pay-As-You-Go API credit (USD balance) via manual or auto top-ups; API access is separate from free/web app plans",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate images and videos from text via REST or the official MCP server, with model selection and job status polling.",
    "notes": "API credit is bought separately from web app subscriptions. The official MCP (https://mcp.leonardo.ai/v1/mcp) authenticates with an 'API-Key' header, not OAuth.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <LEONARDO_API_KEY>",
      "source_url": "https://docs.leonardo.ai/docs/getting-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://cloud.leonardo.ai/api/rest/v1",
    "rate_limits": {
      "summary": "Default concurrency 10 generation jobs; extra requests queue up to a pending limit; separate API request rate limit",
      "source_url": "https://docs.leonardo.ai/docs/guide-to-concurrency-queue-and-rate-limit",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST returns generationId; poll GET /generations/{id} or configure webhook callback; a sync endpoint exists for some models",
      "source_url": "https://docs.leonardo.ai/docs/getting-started"
    },
    "operations": [
      "text-to-image",
      "text-to-video"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Leonardo.ai/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://cloud.leonardo.ai/api/rest/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 511,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.leonardo.ai/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 267,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/leonardo-ai-api.json"
  },
  {
    "id": "openai-images-api-gpt-image",
    "name": "OpenAI Images API (gpt-image)",
    "category": "image-generation",
    "homepage": "https://developers.openai.com/api/docs/guides/image-generation",
    "docs": "https://developers.openai.com/api/docs/guides/image-generation",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <OPENAI_API_KEY>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/SureScaleAI/openai-gpt-image-mcp",
      "maintainer": "community",
      "repo": "https://github.com/SureScaleAI/openai-gpt-image-mcp",
      "tools": [
        "create-image",
        "edit-image"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/SureScaleAI/openai-gpt-image-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "{repo_dir}/dist/index.js"
        ],
        "env": [
          "OPENAI_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/SureScaleAI/openai-gpt-image-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "paid only; no free image credits, usage-based billing",
    "sdk": [
      "python",
      "typescript",
      "java",
      "go",
      "csharp",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate, edit, and iteratively refine images from text prompts via REST, with mask-based inpainting and streaming previews.",
    "notes": "Requires an OpenAI API account with billing enabled; part of the Images API / Responses API. Current models: gpt-image-2.5-sunburst and gpt-image-2.5-flare; API Organization Verification may be required.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OPENAI_API_KEY>",
      "source_url": "https://developers.openai.com/api/docs/guides/image-generation",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.openai.com/v1",
    "async_jobs": {
      "value": false,
      "how": "synchronous response (optional streaming of partial images)",
      "source_url": "https://developers.openai.com/api/docs/guides/image-generation"
    },
    "data_policy": {
      "summary": "API data not used for training unless opted in; /v1/images/generations keeps abuse-monitoring data 30 days",
      "source_url": "https://developers.openai.com/api/docs/guides/your-data",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "image-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate an image from a text prompt",
      "method": "POST",
      "url": "https://api.openai.com/v1/images/generations",
      "example": "curl -X POST https://api.openai.com/v1/images/generations -H \"Authorization: Bearer $OPENAI_API_KEY\" -H \"Content-Type: application/json\" -d '{\"model\":\"gpt-image-2.5-flare\",\"prompt\":\"A children book drawing of a veterinarian listening to a baby otter heartbeat\"}'",
      "response_fields": [
        "data[0].b64_json"
      ],
      "async": null,
      "source_url": "https://developers.openai.com/api/docs/guides/image-generation",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "SureScaleAI/openai-gpt-image-mcp",
        "stars": 111,
        "forks": 3,
        "pushed_at": "2025-05-31",
        "archived": false,
        "url": "https://github.com/SureScaleAI/openai-gpt-image-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.openai.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 232,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "recraft-api",
    "name": "Recraft API",
    "category": "image-generation",
    "homepage": "https://www.recraft.ai",
    "docs": "https://www.recraft.ai/docs/api-reference/getting-started",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer RECRAFT_API_TOKEN",
    "mcp": {
      "type": "official",
      "url": "https://mcp.recraft.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.recraft.ai/mcp",
      "repo": "https://github.com/recraft-ai/mcp-recraft-server",
      "tools": [
        "generate_image",
        "create_style",
        "vectorize_image",
        "image_to_image",
        "remove_background",
        "replace_background",
        "crisp_upscale",
        "creative_upscale",
        "get_user"
      ],
      "covers_full_api": true,
      "source_url": "https://www.recraft.ai/docs/mcp-reference/remote-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.recraft.ai/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://www.recraft.ai/docs/mcp-reference/remote-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "paid only; pay-per-image (from $0.007/image on V4.1 Flash), no confirmed free credits",
    "sdk": [],
    "openapi": "https://external.api.recraft.ai/doc/#/",
    "llms_txt": "https://www.recraft.ai/docs/llms.txt",
    "desc_en": "Generate, edit, upscale, and vectorize images via REST API using Recraft's proprietary models.",
    "notes": "REST API, OpenAI-Python-library compatible for some endpoints (not all params supported). Official MCP: hosted at https://mcp.recraft.ai/mcp (OAuth 2.0, bills subscription credits) and a local server on GitHub (recraft-ai/mcp-recraft-server).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://www.recraft.ai/docs/api-reference/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <RECRAFT_API_TOKEN>",
      "source_url": "https://www.recraft.ai/docs/api-reference/getting-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://external.api.recraft.ai/v1",
    "rate_limits": {
      "summary": "100 images/minute per user and 5 requests/second",
      "source_url": "https://www.recraft.ai/docs/api-reference/appendix",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous; returns image URLs",
      "source_url": "https://www.recraft.ai/docs/api-reference/getting-started"
    },
    "data_policy": {
      "summary": "Generated images stored approx. 24 hours (may change)",
      "source_url": "https://www.recraft.ai/docs/api-reference/appendix",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "image-to-image",
      "background-removal",
      "image-upscaling"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "recraft-ai/mcp-recraft-server",
        "stars": 60,
        "forks": 11,
        "pushed_at": "2026-07-13",
        "archived": true,
        "url": "https://github.com/recraft-ai/mcp-recraft-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://external.api.recraft.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 267,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.recraft.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 326,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "remove-bg-api",
    "name": "remove.bg API",
    "category": "image-generation",
    "homepage": "https://www.remove.bg",
    "docs": "https://www.remove.bg/api",
    "auth": "api_key",
    "auth_hint": "X-Api-Key header",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free: first 50 API calls per month, then paid credits",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Remove image backgrounds programmatically via a simple REST API with JSON or multipart uploads.",
    "notes": "IMPORTANT: remove.bg API is being discontinued - stops accepting requests on December 1, 2026, with removal moving to Leonardo.ai.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "50 API calls",
      "period": "month",
      "source_url": "https://www.remove.bg/api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Api-Key",
      "format": "X-Api-Key: <API_KEY>",
      "source_url": "https://www.remove.bg/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.remove.bg/v1.0",
    "rate_limits": {
      "summary": "Up to 500 images/minute, scaled down by megapixels (e.g. 10/min at 50 MP); 429 with Retry-After",
      "source_url": "https://www.remove.bg/api",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous POST /removebg returns the image",
      "source_url": "https://www.remove.bg/api"
    },
    "operations": [
      "background-removal"
    ],
    "no_auth": false,
    "call": {
      "operation": "remove the background from an image",
      "method": "POST",
      "url": "https://api.remove.bg/v1.0/removebg",
      "example": "curl -H \"X-Api-Key: $REMOVE_BG_API_KEY\" -F image_url=https://www.remove.bg/example.jpg -F size=auto -f https://api.remove.bg/v1.0/removebg -o no-bg.png",
      "response_fields": [
        "body (PNG/JPG/WebP image bytes)",
        "X-Credits-Charged header",
        "X-Type header"
      ],
      "async": null,
      "source_url": "https://www.remove.bg/api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per full-resolution image (preview 0.25 credit); pay-as-you-go 10 credits for $9 down to 8,000 for $1,699; subscriptions from $9/mo for 40 credits",
      "source_url": "https://www.remove.bg/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.remove.bg/v1.0",
        "probes": 1,
        "up": 1,
        "median_ms": 381,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "stability-ai-platform-api",
    "name": "Stability AI Platform API",
    "category": "image-generation",
    "homepage": "https://platform.stability.ai",
    "docs": "https://platform.stability.ai/docs/api-reference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <STABILITY_API_KEY>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/tadasant/mcp-server-stability-ai",
      "maintainer": "community",
      "repo": "https://github.com/tadasant/mcp-server-stability-ai",
      "tools": [
        "generate-image",
        "generate-image-sd35",
        "remove-background",
        "outpaint",
        "search-and-replace",
        "upscale-fast",
        "upscale-creative",
        "control-sketch",
        "control-style",
        "control-structure",
        "replace-background-and-relight",
        "search-and-recolor"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/tadasant/mcp-server-stability-ai",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": null
    },
    "free_tier": "25 free credits on signup, then pay-as-you-go",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate, upscale, and edit images via REST (Stable Image Ultra/Core/SD3 models) using simple credit-based billing.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "25 free credits",
      "period": "one_time",
      "source_url": "https://platform.stability.ai/account/credits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <STABILITY_API_KEY>",
      "source_url": "https://platform.stability.ai/docs/getting-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.stability.ai",
    "rate_limits": {
      "summary": "150 requests every 10 seconds; 429 when exceeded",
      "source_url": "https://platform.stability.ai/docs/getting-started",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "image-upscaling",
      "image-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate an image from text (Stable Image Core)",
      "method": "POST",
      "url": "https://api.stability.ai/v2beta/stable-image/generate/core",
      "example": "curl -f -sS https://api.stability.ai/v2beta/stable-image/generate/core -H \"authorization: Bearer $STABILITY_API_KEY\" -H \"accept: image/*\" -F prompt=\"Lighthouse on a cliff overlooking the ocean\" -F output_format=webp -o ./lighthouse.webp",
      "response_fields": [
        "binary image body (accept: image/*)",
        "image (base64, with accept: application/json)",
        "finish_reason",
        "seed"
      ],
      "async": null,
      "source_url": "https://platform.stability.ai/docs/api-reference#tag/Generate/paths/~1v2beta~1stable-image~1generate~1core/post",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Stable Image Core: 3 credits per successful image; 1 credit = $0.01, so $0.03 per image; failed generations free",
      "source_url": "https://platform.stability.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.stability.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 501,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "akool-api",
    "name": "Akool API",
    "category": "video-generation",
    "homepage": "https://akool.com",
    "docs": "https://docs.akool.com",
    "auth": "api_key",
    "auth_hint": "x-api-key: <api_key> (recommended); the Client ID/Secret token flow is kept only for backward compatibility",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only for API: API access starts at the Pro Max plan; the Free plan is web-app only with full-screen watermark",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate face-swap, talking avatar, and video-translation content programmatically via REST API.",
    "notes": "Credit-based usage across face swap, avatar video, image generation, video translation endpoints.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "watermark": true,
      "source_url": "https://akool.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <API_KEY>",
      "source_url": "https://docs.akool.com/authentication/usage",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://openapi.akool.com/api/open",
    "operations": [
      "avatar-video",
      "video-translation"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a talking avatar video",
      "method": "POST",
      "url": "https://openapi.akool.com/api/open/v3/talkingavatar/create",
      "example": "curl -X POST https://openapi.akool.com/api/open/v3/talkingavatar/create -H \"x-api-key: $AKOOL_API_KEY\" -H \"Content-Type: application/json\" -d '{\"width\": 3840, \"height\": 2160, \"avatar_from\": 3, \"elements\": [{\"type\": \"avatar\", \"url\": \"https://example.com/avatar.mp4\", \"scale_x\": 1, \"scale_y\": 1, \"width\": 1080, \"height\": 1080, \"offset_x\": 1920, \"offset_y\": 1080}, {\"type\": \"audio\", \"url\": \"https://example.com/audio.mp3\"}]}'",
      "response_fields": [
        "code",
        "data._id",
        "data.video_status",
        "data.video"
      ],
      "async": "poll GET https://openapi.akool.com/api/open/v3/content/video/infobymodelid?video_model_id={_id} until video_status=3 (4=failed); video URL valid 7 days",
      "source_url": "https://docs.akool.com/ai-tools-suite/talking-avatar",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://openapi.akool.com/api/open",
        "probes": 1,
        "up": 1,
        "median_ms": 365,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "creatomate-api",
    "name": "Creatomate API",
    "category": "video-generation",
    "homepage": "https://creatomate.com",
    "docs": "https://creatomate.com/docs/api/rest-api/authentication",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://api.creatomate.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.creatomate.com/mcp",
      "tools": [
        "list_templates",
        "get_template",
        "create_template",
        "update_template",
        "delete_template",
        "create_render",
        "get_render"
      ],
      "covers_full_api": true,
      "source_url": "https://creatomate.com/llms/template-access.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.creatomate.com/mcp",
        "derived": true
      }
    },
    "free_tier": "Trial: full-featured trial with 50 credits one-time on signup, no credit card required; then Essential plan with 2,000 credits/mo",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Programmatically generate and render videos/images from templates via REST API.",
    "notes": "Per-project API keys; ~14 credits per minute of 720p video. The hosted MCP accepts OAuth or a Bearer project API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "50 credits",
      "period": "one_time",
      "source_url": "https://creatomate.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PROJECT_API_KEY>",
      "source_url": "https://creatomate.com/llms/api.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.creatomate.com/v2",
    "rate_limits": {
      "summary": "30 requests per 10 seconds per account (all projects); 429 with Retry-After",
      "source_url": "https://creatomate.com/llms/api.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v2/renders returns 202; poll GET /v2/renders/{id} or pass webhook_url",
      "source_url": "https://creatomate.com/llms/quick-start.md"
    },
    "data_policy": {
      "summary": "Rendered output files are hosted for up to 30 days, then deleted",
      "source_url": "https://creatomate.com/llms/quick-start.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "video-templating"
    ],
    "no_auth": false,
    "call": {
      "operation": "render a video from a template",
      "method": "POST",
      "url": "https://api.creatomate.com/v2/renders",
      "example": "curl -X POST https://api.creatomate.com/v2/renders -H 'Content-Type: application/json' -H \"Authorization: Bearer $CREATOMATE_API_KEY\" -d '{\"template_id\": \"{template_id}\", \"modifications\": {\"Primary-Text\": \"Hello\"}}'",
      "response_fields": [
        "id",
        "status",
        "url",
        "snapshot_url"
      ],
      "async": "poll GET https://api.creatomate.com/v2/renders/{id} until status is succeeded (url then points to the file), or pass webhook_url",
      "source_url": "https://creatomate.com/docs/api/quick-start/create-a-video-by-template",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 image = 1 credit; 1 minute of 720p/25fps video = about 14 credits; credits from $29/mo for 2,000 (Essential, about $0.0145 per credit)",
      "source_url": "https://creatomate.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.creatomate.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 525,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.creatomate.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 499,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "d-id-api",
    "name": "D-ID API",
    "category": "video-generation",
    "homepage": "https://www.d-id.com",
    "docs": "https://docs.d-id.com",
    "auth": "api_key",
    "auth_hint": "Authorization: Basic <api_key> (generated from Account page)",
    "mcp": {
      "type": "official",
      "url": "https://docs.d-id.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://docs.d-id.com/mcp",
      "tools": [
        "list-endpoints",
        "get-endpoint",
        "search-endpoints",
        "list-specs",
        "execute-request"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.d-id.com/docs/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://docs.d-id.com/mcp",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.d-id.com/docs/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 14 days with 3 minutes of video credits, then paid plans only (API price per minute not published in machine-readable form)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Animate photos into talking-head videos with lip-sync from text or audio via REST API.",
    "notes": "No permanent free plan; trial has full-screen watermark.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "period": "one_time",
      "watermark": true,
      "source_url": "https://www.d-id.com/faqs/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic <API_USERNAME:API_PASSWORD>",
      "source_url": "https://docs.d-id.com/reference/basic-authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.d-id.com",
    "async_jobs": {
      "value": true,
      "how": "POST /talks returns id; poll GET /talks/{id} until status done, or set webhook",
      "source_url": "https://docs.d-id.com/docs/v2-photo-avatar-quickstart.md"
    },
    "operations": [
      "avatar-video",
      "lip-sync"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a talking-head video from a photo and text",
      "method": "POST",
      "url": "https://api.d-id.com/talks",
      "example": "curl -X POST https://api.d-id.com/talks -H \"Authorization: Basic $DID_API_KEY\" -H 'Content-Type: application/json' -d '{\"source_url\":\"https://d-id-public-bucket.s3.us-west-2.amazonaws.com/alice.jpg\",\"script\":{\"type\":\"text\",\"input\":\"Making videos is easy with D-ID\"}}'",
      "response_fields": [
        "id",
        "status",
        "result_url"
      ],
      "async": "poll GET https://api.d-id.com/talks/{id} until status is done, then read result_url",
      "source_url": "https://docs.d-id.com/reference/createtalk",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.d-id.com",
        "probes": 1,
        "up": 1,
        "median_ms": 363,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://docs.d-id.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 504,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "google-veo-gemini-api-vertex-ai",
    "name": "Google Veo (Gemini API / Vertex AI)",
    "category": "video-generation",
    "homepage": "https://ai.google.dev/gemini-api/docs/video",
    "docs": "https://ai.google.dev/gemini-api/docs/video",
    "auth": "api_key+oauth2",
    "auth_hint": "Gemini API: x-goog-api-key header or ?key= param. Vertex AI alternative uses cloud_iam (service-account OAuth2 access token).",
    "mcp": {
      "type": "official",
      "url": "https://github.com/GoogleCloudPlatform/genmedia-creative-studio/tree/main/experiments/mcp-genmedia",
      "maintainer": "vendor",
      "repo": "https://github.com/GoogleCloudPlatform/genmedia-creative-studio/tree/main/experiments/mcp-genmedia",
      "tools": [
        "veo_t2v",
        "veo_i2v"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/GoogleCloudPlatform/genmedia-creative-studio/blob/main/experiments/mcp-genmedia/mcp-genmedia-go/README.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "no free tier for video; Veo generation requires a paid Gemini API / Vertex AI billing account",
    "sdk": [
      "python",
      "node",
      "go",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate video from text or image prompts via Gemini API (api key) or Vertex AI (cloud IAM), incl. Veo 3.1 scene extension.",
    "notes": "Same underlying model reachable via two auth paths: Gemini API (simple api_key, good for agents) or Vertex AI (cloud_iam, enterprise/region control). Experimental vendor MCP mcp-veo-go (Genmedia) uses Vertex AI via ADC.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-goog-api-key",
      "format": "x-goog-api-key: <GEMINI_API_KEY>",
      "source_url": "https://ai.google.dev/gemini-api/docs/veo",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://generativelanguage.googleapis.com/v1beta",
    "rate_limits": {
      "summary": "Limits depend on project usage tier (Free, Tier 1-3); Veo-specific limits shown in AI Studio rate-limit dashboard",
      "source_url": "https://ai.google.dev/gemini-api/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST models/{model}:predictLongRunning returns an operation name; poll GET /{operation_name} until done",
      "source_url": "https://ai.google.dev/gemini-api/docs/veo"
    },
    "data_policy": {
      "summary": "Generated videos are stored on the server for 2 days",
      "source_url": "https://ai.google.dev/gemini-api/docs/veo",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-video",
      "image-to-video"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://generativelanguage.googleapis.com/v1beta",
        "probes": 1,
        "up": 1,
        "median_ms": 213,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "heygen-api",
    "name": "HeyGen API",
    "category": "video-generation",
    "homepage": "https://www.heygen.com",
    "docs": "https://developers.heygen.com",
    "auth": "api_key+oauth2",
    "auth_hint": "API key: X-Api-Key: <key> (bills to API plan). OAuth2: Authorization: Bearer <token> via https://api2.heygen.com/v1/oauth/token (bills to user's subscription credits).",
    "mcp": {
      "type": "official",
      "url": "https://mcp.heygen.com/mcp/v1/",
      "maintainer": "vendor",
      "remote_url": "https://mcp.heygen.com/mcp/v1/",
      "tools": [
        "create_video_agent",
        "get_video_agent_session",
        "create_video",
        "get_video",
        "list_videos",
        "list_templates",
        "generate_from_template",
        "list_voices",
        "create_speech",
        "clone_voice",
        "create_video_translation",
        "get_video_translation",
        "create_lipsync",
        "create_avatar",
        "create_asset_upload",
        "get_current_user"
      ],
      "covers_full_api": true,
      "source_url": "https://developers.heygen.com/mcp/overview.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.heygen.com/mcp/v1/",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://developers.heygen.com/mcp/overview.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "no free API credits since Feb 2026; pay-as-you-go from $5, $0.50-$0.99/credit. Free plan (3 videos/mo) exists but is for the web app, not standalone API.",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": "https://developers.heygen.com/llms.txt",
    "desc_en": "Create AI avatar/talking-head videos from text or audio, manage avatars and voices, via REST API.",
    "notes": "Official remote MCP server uses OAuth (no API key needed) and spends the user's plan credits directly, separate from API-key billing.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Api-Key",
      "format": "X-Api-Key: <HEYGEN_API_KEY>",
      "source_url": "https://developers.heygen.com/docs/api-key.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.heygen.com",
    "rate_limits": {
      "summary": "Pay-As-You-Go: 10 concurrent workflows (Enterprise 20, burst up to +50); 429 with Retry-After when exceeded",
      "source_url": "https://developers.heygen.com/docs/usage-limits.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Poll the session/video (GET) until video_url is ready, or pass callback_url / register webhooks",
      "source_url": "https://developers.heygen.com/docs/quick-start.md"
    },
    "operations": [
      "avatar-video",
      "text-to-speech",
      "voice-cloning",
      "video-translation",
      "lip-sync"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 2.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/HeyGen/",
        "fetched_at": "2026-09-24T16:55Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.heygen.com",
        "probes": 1,
        "up": 1,
        "median_ms": 339,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.heygen.com/mcp/v1/",
        "probes": 1,
        "up": 1,
        "median_ms": 262,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/heygen-api.json"
  },
  {
    "id": "klap-api",
    "name": "Klap API",
    "category": "video-generation",
    "homepage": "https://klap.app",
    "docs": "https://docs.klap.app",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only; usage-based, billed monthly per operation (Generate Short $0.32, Video Input $0.44, Export $0.48); no free API credits stated",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Automatically turn long videos into short clips with captions and reframing via REST API.",
    "notes": "Base URL https://api.klap.app/v2.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.klap.app",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.klap.app/v2",
    "async_jobs": {
      "value": true,
      "how": "POST /tasks/video-to-shorts returns a task; poll GET /v2/tasks/{task_id} until status ready or error",
      "source_url": "https://docs.klap.app/endpoints/tasks"
    },
    "operations": [
      "video-editing"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.klap.app/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 326,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "kling-ai-api",
    "name": "Kling AI API",
    "category": "video-generation",
    "homepage": "https://klingai.com",
    "docs": "https://kling.ai/document-api/guides/get-started/quick-start",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY> (create at kling.ai/dev/api-key); legacy Access/Secret Key pairs need a client-signed HS256 JWT instead",
    "mcp": {
      "type": "community",
      "url": "https://github.com/199-mcp/mcp-kling",
      "maintainer": "community",
      "repo": "https://github.com/199-mcp/mcp-kling",
      "tools": [
        "generate_video",
        "generate_image_to_video",
        "generate_image",
        "check_video_status",
        "check_image_status",
        "extend_video",
        "create_lipsync",
        "apply_video_effect",
        "virtual_try_on",
        "get_account_balance",
        "get_resource_packages",
        "list_tasks"
      ],
      "source_url": "https://github.com/199-mcp/mcp-kling",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "mcp-kling@latest"
        ],
        "env": [
          "KLING_ACCESS_KEY",
          "KLING_SECRET_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/199-mcp/mcp-kling",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only; prepaid credit packages from $0.14/unit, e.g. 5,000 units/$700, 180-day validity; a Trial Resource Package for integration testing is offered",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://kling.ai/document-api/llms.txt",
    "desc_en": "Generate text-to-video, image-to-video, lip-sync and video effects via REST API with a Bearer API key.",
    "notes": "New versioned endpoints (e.g. /text-to-video/kling-2.6) take a plain API key; the older Access/Secret key pair with a client-built JWT is legacy (model_name-parameter endpoints).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "period": "one_time",
      "source_url": "https://kling.ai/document-api/guides/get-started/quick-start.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://kling.ai/document-api/api/get-started/authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api-singapore.klingai.com",
    "rate_limits": {
      "summary": "Concurrency cap per account, model version and resource package; over-limit returns code 1303",
      "source_url": "https://kling.ai/document-api/api/get-started/concurrency-rules.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Create task returns task id; query task status, or set callback_url for status notifications",
      "source_url": "https://kling.ai/document-api/api/get-started/callbacks.md"
    },
    "operations": [
      "text-to-video",
      "image-to-video",
      "lip-sync",
      "video-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a video from a text prompt (Kling 2.6)",
      "method": "POST",
      "url": "https://api-singapore.klingai.com/text-to-video/kling-2.6",
      "example": "curl -X POST https://api-singapore.klingai.com/text-to-video/kling-2.6 -H \"Authorization: Bearer $KLING_API_KEY\" -H \"Content-Type: application/json\" -d '{\"prompt\":\"A girl sat on the train, looking out the window\",\"settings\":{\"resolution\":\"720p\",\"duration\":5}}'",
      "response_fields": [
        "data.id",
        "data.status"
      ],
      "async": "poll GET https://api-singapore.klingai.com/tasks?task_ids={id} until data[0].status is succeeded; video at data[0].outputs[0].url (kept 30 days)",
      "source_url": "https://kling.ai/document-api/api/video/2-6/text-to-video.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Kling 2.6 720p (no audio): 0.3 units/s ($0.042/s), 5 s video = 1.5 units ($0.21); 1 unit = $0.14",
      "source_url": "https://kling.ai/document-api/pricing/base/video.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "199-mcp/mcp-kling",
        "stars": 41,
        "forks": 20,
        "pushed_at": "2025-06-14",
        "archived": false,
        "url": "https://github.com/199-mcp/mcp-kling",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api-singapore.klingai.com",
        "probes": 1,
        "up": 1,
        "median_ms": 649,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "luma-ai-dream-machine-api",
    "name": "Luma AI Dream Machine API",
    "category": "video-generation",
    "homepage": "https://lumalabs.ai",
    "docs": "https://docs.agents.lumalabs.ai",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY> (key from platform.lumalabs.ai)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/lumalabs/luma-api-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/lumalabs/luma-api-mcp",
      "covers_full_api": false,
      "source_url": "https://github.com/lumalabs/luma-api-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uv",
        "args": [
          "run",
          "--with",
          "mcp[cli]",
          "--with",
          "aiohttp",
          "mcp",
          "run",
          "{repo_dir}/server.py"
        ],
        "env": [
          "LUMA_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/lumalabs/luma-api-mcp/blob/main/setup.sh",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only; pay per video, e.g. Ray 3.2 5s text/image-to-video $0.15 (540p) / $0.30 (720p) / $1.20 (1080p), $5,000/mo cap on default Build tier",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate and extend AI videos from text or start/end keyframe images via async REST API (Ray 3.2).",
    "notes": "The Luma Agents API (https://agents.lumalabs.ai/v1) supersedes the older Dream Machine API. API credits are separate from Dream Machine subscription credits; failed generations are refunded.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "watermark": false,
      "source_url": "https://lumalabs.ai/api/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <LUMA_API_KEY>",
      "source_url": "https://docs.lumalabs.ai/docs/faq.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.lumalabs.ai/dream-machine/v1",
    "rate_limits": {
      "summary": "Build tier: Ray video 10 concurrent generations, 20 create requests/min; Photon image 40 concurrent, 80/min; $5,000/month usage cap",
      "source_url": "https://docs.lumalabs.ai/docs/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /generations returns an id; poll GET /generations/{id} until ready, or pass callback_url",
      "source_url": "https://docs.lumalabs.ai/docs/api.md"
    },
    "operations": [
      "text-to-video",
      "image-to-video"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a video from a text prompt (Dream Machine API, Ray 2)",
      "method": "POST",
      "url": "https://api.lumalabs.ai/dream-machine/v1/generations/video",
      "example": "curl -X POST https://api.lumalabs.ai/dream-machine/v1/generations/video -H \"Authorization: Bearer $LUMA_API_KEY\" -H \"Content-Type: application/json\" -d '{\"prompt\":\"A serene lake surrounded by mountains at sunset\",\"aspect_ratio\":\"16:9\",\"model\":\"ray-2\"}'",
      "response_fields": [
        "id",
        "state",
        "assets.video",
        "failure_reason"
      ],
      "async": "poll GET https://api.lumalabs.ai/dream-machine/v1/generations/{id} until state is completed or failed (or pass callback_url)",
      "source_url": "https://docs.lumalabs.ai/reference/creategeneration.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "lumalabs/luma-api-mcp",
        "stars": 26,
        "forks": 11,
        "pushed_at": "2025-04-18",
        "archived": false,
        "url": "https://github.com/lumalabs/luma-api-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.lumalabs.ai/dream-machine/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 424,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "minimax-hailuo-api",
    "name": "MiniMax Hailuo API",
    "category": "video-generation",
    "homepage": "https://www.minimax.io",
    "docs": "https://platform.minimax.io/docs/api-reference/video-generation-t2v",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/MiniMax-AI/MiniMax-MCP",
      "maintainer": "vendor",
      "repo": "https://github.com/MiniMax-AI/MiniMax-MCP",
      "tools": [
        "text_to_audio",
        "list_voices",
        "voice_clone",
        "voice_design",
        "play_audio",
        "generate_video",
        "image_to_video",
        "query_video_generation",
        "text_to_image"
      ],
      "covers_full_api": false,
      "source_url": "https://platform.minimax.io/docs/guides/mcp-guide.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "minimax-mcp"
        ],
        "env": [
          "MINIMAX_API_KEY",
          "MINIMAX_API_HOST",
          "MINIMAX_MCP_BASE_PATH"
        ],
        "docs_only": false,
        "source_url": "https://platform.minimax.io/docs/guides/mcp-guide.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "new accounts get 50 signup credits (~1 short clip); 5s video costs ~45-70 credits, 1000 credits=$1",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Async text-to-video, image-to-video and subject-reference video generation via REST API, up to 1080p.",
    "notes": "Region-specific hosts/keys: platform.minimax.io / api.minimax.io vs intl.minimaxi.com for international accounts - key and host must match.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-t2v.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.minimax.io",
    "rate_limits": {
      "summary": "Video: Hailuo series 20 RPM; MiniMax-H3 (v2) 300 RPM, 30 in-flight tasks",
      "source_url": "https://platform.minimax.io/docs/guides/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Create task returns task_id; poll Query Video Generation Task, then download file; optional callback_url",
      "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-t2v.md"
    },
    "operations": [
      "text-to-video",
      "image-to-video",
      "text-to-speech",
      "voice-cloning",
      "text-to-image"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "MiniMax-AI/MiniMax-MCP",
        "stars": 1585,
        "forks": 284,
        "pushed_at": "2026-08-20",
        "archived": false,
        "url": "https://github.com/MiniMax-AI/MiniMax-MCP",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.minimax.io",
        "probes": 1,
        "up": 1,
        "median_ms": 418,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "pixverse-api",
    "name": "PixVerse API",
    "category": "video-generation",
    "homepage": "https://pixverse.ai",
    "docs": "https://docs.platform.pixverse.ai",
    "auth": "api_key",
    "auth_hint": "API-KEY: <key> header plus a unique Ai-trace-id (UUID) header per request",
    "mcp": {
      "type": "official",
      "url": "https://github.com/PixVerseAI/PixVerse-MCP",
      "maintainer": "vendor",
      "repo": "https://github.com/PixVerseAI/PixVerse-MCP",
      "source_url": "https://docs.platform.pixverse.ai/pixverse-mcp-972890m0.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "pixverse-mcp"
        ],
        "env": [
          "PIXVERSE_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/PixVerseAI/PixVerse-MCP",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only; prepaid credits from $10, $1 = 5 videos (v6, 720p, 5s, no audio)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate text-to-video, image-to-video, transition and fusion clips (360p-1080p) via REST API.",
    "notes": "Developer API credit pool (Essential/Scale/Business) is separate from consumer subscription plans.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "API-KEY",
      "format": "API-KEY: <API_KEY> (plus unique Ai-trace-id UUID header per request)",
      "source_url": "https://docs.platform.pixverse.ai/quick-start-796052m0.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app-api.pixverse.ai",
    "rate_limits": {
      "summary": "Concurrent generating tasks by membership: Free 3, Essential 15, Scale 20, Business 25",
      "source_url": "https://docs.platform.pixverse.ai/rate-limit-796040m0.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Generate returns video_id; poll GET /openapi/v2/video/result/{id} (status 5 generating, 1 done) or use webhook",
      "source_url": "https://docs.platform.pixverse.ai/quick-start-796052m0.md"
    },
    "operations": [
      "text-to-video",
      "image-to-video"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "PixVerseAI/PixVerse-MCP",
        "stars": 52,
        "forks": 14,
        "pushed_at": "2025-10-22",
        "archived": false,
        "url": "https://github.com/PixVerseAI/PixVerse-MCP",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app-api.pixverse.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 318,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "runway-api",
    "name": "Runway API",
    "category": "video-generation",
    "homepage": "https://runwayml.com",
    "docs": "https://docs.dev.runwayml.com",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY> plus required X-Runway-Version header",
    "mcp": {
      "type": "official",
      "url": "https://mcp.runwayml.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.runwayml.com/mcp",
      "covers_full_api": false,
      "source_url": "https://docs.dev.runwayml.com/llms-small.txt",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.runwayml.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://mcp.runwayml.com/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "no free tier; $10 minimum credit top-up, $0.01/credit",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate and edit images/video (Gen-4.5) via async task-based REST API: submit, poll, download.",
    "notes": "Docs site also offers /llms-small.txt and /llms-full.txt (not a plain llms.txt). Generation MCP is mcp.runwayml.com/mcp; a separate dev.runwayml.com/mcp (OAuth) only covers Developer Portal tasks, model routers and docs.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.dev.runwayml.com/llms-small.txt",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <RUNWAYML_API_SECRET> + X-Runway-Version: 2024-11-06",
      "source_url": "https://docs.dev.runwayml.com/ai-context.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.dev.runwayml.com",
    "rate_limits": {
      "summary": "Per-model, per-organization concurrency and daily generation limits set by usage tier; tier up by adding credits over time; excess tasks THROTTLED (queued)",
      "source_url": "https://docs.dev.runwayml.com/llms-small.txt",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Generation endpoints return a task; poll GET /v1/tasks/{id} until status is terminal",
      "source_url": "https://docs.dev.runwayml.com/ai-context.md"
    },
    "operations": [
      "text-to-video",
      "image-to-video",
      "image-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a video from an image and a prompt (Gen-4.5)",
      "method": "POST",
      "url": "https://api.dev.runwayml.com/v1/image_to_video",
      "example": "curl -X POST https://api.dev.runwayml.com/v1/image_to_video -H \"Authorization: Bearer $RUNWAYML_API_SECRET\" -H \"X-Runway-Version: 2024-11-06\" -H \"Content-Type: application/json\" -d '{\"promptImage\":\"https://example.com/image.jpg\",\"promptText\":\"A timelapse on a sunny day\",\"model\":\"gen4.5\",\"ratio\":\"1280:720\",\"duration\":5}'",
      "response_fields": [
        "id",
        "status",
        "output[0]",
        "failure",
        "failureCode"
      ],
      "async": "poll GET https://api.dev.runwayml.com/v1/tasks/{id} until status is SUCCEEDED or FAILED; video URLs in output",
      "source_url": "https://docs.dev.runwayml.com/llms-small.txt",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Gen-4.5 video: 12 credits per second ($0.12/s, $0.60 per 5 s clip); 1 credit = $0.01",
      "source_url": "https://docs.dev.runwayml.com/guides/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.dev.runwayml.com",
        "probes": 1,
        "up": 1,
        "median_ms": 299,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.runwayml.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 280,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "shotstack-api",
    "name": "Shotstack API",
    "category": "video-generation",
    "homepage": "https://shotstack.io",
    "docs": "https://shotstack.io/docs/api/",
    "auth": "api_key",
    "auth_hint": "x-api-key: <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.shotstack.io/",
      "maintainer": "vendor",
      "remote_url": "https://mcp.shotstack.io/",
      "tools": [
        "studio",
        "render_video",
        "get_render_status",
        "create_studio_link",
        "get_shotstack_guide",
        "create_template",
        "list_templates",
        "get_template",
        "render_template",
        "delete_template"
      ],
      "covers_full_api": false,
      "source_url": "https://shotstack.io/docs/guide/agents/mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.shotstack.io/",
        "headers": {
          "x-api-key": "$SHOTSTACK_API_KEY"
        },
        "oauth": true,
        "source_url": "https://shotstack.io/docs/guide/agents/mcp-server.md",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 10 free credits one-time (valid 30 days), then pay-as-you-go or subscription; stage sandbox (https://api.shotstack.io/edit/stage) for development, v1 production without watermarks",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Compose Edit JSON timelines to programmatically render, edit, and template videos, images and audio.",
    "notes": "Separate stage (sandbox, watermarked) and production API keys; MCP server is in beta.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "10 credits (valid 30 days)",
      "period": "one_time",
      "source_url": "https://shotstack.io/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <API_KEY>",
      "source_url": "https://shotstack.io/docs/api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.shotstack.io/edit/v1",
    "async_jobs": {
      "value": true,
      "how": "POST /render returns an id; poll GET /render/{id} or set a callback URL",
      "source_url": "https://shotstack.io/docs/api/"
    },
    "operations": [
      "video-templating",
      "video-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "render a video from an Edit JSON timeline",
      "method": "POST",
      "url": "https://api.shotstack.io/edit/{version}/render",
      "example": "curl -X POST https://api.shotstack.io/edit/stage/render -H 'Content-Type: application/json' -H \"x-api-key: $SHOTSTACK_API_KEY\" -d '{\"timeline\": {\"tracks\": [{\"clips\": [{\"asset\": {\"type\": \"video\", \"src\": \"https://example.com/in.mp4\"}, \"start\": 0, \"length\": 5}]}]}, \"output\": {\"format\": \"mp4\", \"resolution\": \"sd\"}}'",
      "response_fields": [
        "response.id",
        "response.message"
      ],
      "async": "poll GET https://api.shotstack.io/edit/{version}/render/{id} until response.status is done, then read response.url",
      "source_url": "https://shotstack.io/docs/api/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit = 1 minute of rendered video (or 10 images); pay-as-you-go $0.30/min ($75 one-time purchase), subscription from $0.20/min ($39/mo for 200 credits)",
      "source_url": "https://shotstack.io/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.shotstack.io/edit/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 790,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.shotstack.io/",
        "probes": 1,
        "up": 1,
        "median_ms": 771,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "synthesia-api",
    "name": "Synthesia API",
    "category": "video-generation",
    "homepage": "https://www.synthesia.io",
    "docs": "https://docs.synthesia.io/reference/introduction",
    "auth": "api_key",
    "auth_hint": "Authorization: <api_key> (no Bearer prefix)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.synthesia.io/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.synthesia.io/mcp",
      "covers_full_api": false,
      "source_url": "https://docs.synthesia.io/reference/synthesia-mcp.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.synthesia.io/mcp",
        "derived": true
      }
    },
    "free_tier": "Paid only; API access requires the Creator plan or above",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate AI avatar talking-head videos from text scripts via REST API; supports custom avatars and voices.",
    "notes": "API access tied to paid plans; base URL https://api.synthesia.io/v2. Hosted MCP is in public beta and uses per-user OAuth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.synthesia.io/reference/video-api-introduction.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: <API_KEY>",
      "source_url": "https://docs.synthesia.io/reference/create-video.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.synthesia.io/v2",
    "rate_limits": {
      "summary": "Creator (Tier 3): 60 req/min, 300/hour, 1,000/day writes per endpoint; 30 test videos/day; Enterprise tiers higher",
      "source_url": "https://docs.synthesia.io/reference/video-api-introduction.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v2/videos returns id; poll GET /v2/videos/{id} for status or subscribe to webhooks",
      "source_url": "https://docs.synthesia.io/reference/video-api-introduction.md"
    },
    "operations": [
      "avatar-video"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Synthesia/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.synthesia.io/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 491,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.synthesia.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 655,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/synthesia-api.json"
  },
  {
    "id": "tavus-api",
    "name": "Tavus API",
    "category": "video-generation",
    "homepage": "https://www.tavus.io",
    "docs": "https://docs.tavus.io/api-reference/overview",
    "auth": "api_key",
    "auth_hint": "x-api-key: <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.tavus.io/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.tavus.io/mcp",
      "tools": [
        "tavus_pal_create",
        "tavus_pal_list",
        "tavus_pal_get",
        "tavus_conversation_create",
        "tavus_conversation_end",
        "tavus_face_list",
        "tavus_tool_create",
        "tavus_document_create",
        "tavus_guardrail_create",
        "tavus_objective_create"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.tavus.io/sections/agent-tools/mcp-tools-reference.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.tavus.io/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.tavus.io/sections/agent-tools/mcp-server.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: Free plan with 25 min of conversational video and 5 min of video generation per month, full API access, 25 stock replicas; Starter $59/mo",
    "sdk": [
      "typescript",
      "javascript",
      "python"
    ],
    "openapi": "https://docs.tavus.io/openapi.yaml",
    "llms_txt": "https://docs.tavus.io/llms-full.txt",
    "desc_en": "Create AI video replicas and real-time conversational video agents (CVI) via REST API.",
    "notes": "llms_txt found at /llms-full.txt rather than /llms.txt exactly. The hosted MCP uses OAuth via the PAL Maker; never put a Tavus API key in the MCP client config.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "25 min conversational video + 5 min video generation",
      "source_url": "https://www.tavus.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <API_KEY>",
      "source_url": "https://docs.tavus.io/api-reference/authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://tavusapi.com",
    "operations": [
      "avatar-video",
      "voice-agent"
    ],
    "no_auth": false,
    "call": {
      "operation": "start a real-time conversational video session (CVI)",
      "method": "POST",
      "url": "https://tavusapi.com/v2/conversations",
      "example": "curl -X POST https://tavusapi.com/v2/conversations -H \"x-api-key: $TAVUS_API_KEY\" -H \"Content-Type: application/json\" -d '{\"pal_id\":\"{pal_id}\",\"face_id\":\"{face_id}\"}'",
      "response_fields": [
        "conversation_id",
        "conversation_url",
        "status"
      ],
      "async": null,
      "source_url": "https://docs.tavus.io/api-reference/conversations/create-conversation",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "CVI conversation overage $0.37/min (Starter, $59/mo) or $0.32/min (Growth, $397/mo), rounded to 6 s; video generation overage $1/min on Starter",
      "source_url": "https://www.tavus.io/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://tavusapi.com",
        "probes": 1,
        "up": 1,
        "median_ms": 415,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.tavus.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 316,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "amazon-polly-amazon-transcribe-aws",
    "name": "Amazon Polly / Amazon Transcribe (AWS)",
    "category": "audio-speech",
    "homepage": "https://aws.amazon.com/polly/",
    "docs": "https://docs.aws.amazon.com/polly/latest/dg/what-is.html",
    "auth": "cloud_iam",
    "auth_hint": "AWS SigV4 signing with IAM access keys",
    "mcp": {
      "type": "official",
      "url": "https://github.com/awslabs/mcp/tree/main/src/aws-api-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/awslabs/mcp/tree/main/src/aws-api-mcp-server",
      "tools": [
        "call_aws",
        "suggest_aws_commands",
        "get_execution_plan"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/awslabs/mcp/tree/main/src/aws-api-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Free tier: Polly 5M chars/mo standard (neural 1M, generative 100K chars/mo for first 12 months), Transcribe 60 min/mo (12 months); new AWS accounts since 2025-07-15 get up to $200 Free Tier credits",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go",
      "dotnet"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Convert text to lifelike speech (Polly) and transcribe audio with speaker diarization (Transcribe) via AWS API.",
    "notes": "Needs an AWS account and IAM credentials. Voice and feature availability differs by region. Transcribe docs: https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html. The generic AWS API MCP Server (awslabs) runs AWS CLI commands, incl. polly and transcribe.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "Polly: 5M standard chars/month (neural 1M for first 12 months); Transcribe: 60 min/month for 12 months",
      "period": "month",
      "source_url": "https://aws.amazon.com/polly/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "format": "AWS Signature Version 4 (Authorization: AWS4-HMAC-SHA256 ...) signed with IAM credentials",
      "source_url": "https://docs.aws.amazon.com/general/latest/gr/pol.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://polly.<region>.amazonaws.com",
    "async_jobs": {
      "value": true,
      "how": "Transcribe: StartTranscriptionJob, then poll GetTranscriptionJob",
      "source_url": "https://aws.amazon.com/transcribe/faqs/"
    },
    "data_policy": {
      "summary": "Transcribe may store and use voice inputs to improve AWS AI services; opt out via AWS Organizations AI services opt-out policy",
      "source_url": "https://aws.amazon.com/transcribe/faqs/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-speech",
      "speech-to-text"
    ],
    "no_auth": false,
    "call": {
      "operation": "synthesize speech from text (Polly)",
      "method": "POST",
      "url": "https://polly.{region}.amazonaws.com/v1/speech",
      "example": "curl -X POST https://polly.us-east-1.amazonaws.com/v1/speech --aws-sigv4 \"aws:amz:us-east-1:polly\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" -H \"Content-Type: application/json\" -d '{\"Text\":\"Hello from Polly\",\"OutputFormat\":\"mp3\",\"VoiceId\":\"Joanna\",\"Engine\":\"neural\"}' -o speech.mp3",
      "response_fields": [
        "body: audio stream",
        "Content-Type header",
        "x-amzn-RequestCharacters header"
      ],
      "async": null,
      "source_url": "https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Polly: standard $4.00, neural $16.00, generative $30.00, long-form $100.00 per 1M characters (beyond free tier)",
      "source_url": "https://aws.amazon.com/polly/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "assemblyai-api",
    "name": "AssemblyAI API",
    "category": "audio-speech",
    "homepage": "https://www.assemblyai.com",
    "docs": "https://www.assemblyai.com/docs",
    "auth": "api_key",
    "auth_hint": "Authorization: <key> (no Bearer prefix)",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://www.assemblyai.com/docs/coding-agent-prompts",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Trial: $50 in free credits one-time on signup, no card required, credits do not expire (LLM Gateway not included); then pay-as-you-go",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://www.assemblyai.com/docs/openapi.json",
    "llms_txt": "https://www.assemblyai.com/docs/llms.txt",
    "desc_en": "Transcribe recorded or streaming audio with speaker diarization, sentiment analysis and LLM-based audio insights via REST.",
    "notes": "Vendor MCP at https://assemblyai.com/docs/mcp only searches the docs. To run transcriptions, call the REST API or an SDK.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$50 credits (do not expire)",
      "period": "one_time",
      "source_url": "https://www.assemblyai.com/docs/billing-and-pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "authorization",
      "format": "authorization: <ASSEMBLYAI_API_KEY>",
      "source_url": "https://www.assemblyai.com/docs/pre-recorded-audio/api-reference/transcripts/submit",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.assemblyai.com",
    "rate_limits": {
      "summary": "Pre-recorded: 5 parallel transcriptions on free accounts, 200+ on paid; excess jobs are queued FIFO",
      "source_url": "https://www.assemblyai.com/docs/pre-recorded-audio/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v2/transcript returns id; poll GET /v2/transcript/{id} or set webhook_url",
      "source_url": "https://www.assemblyai.com/docs/pre-recorded-audio/api-reference/transcripts/submit"
    },
    "data_policy": {
      "summary": "Certain API files may be used for model training after redaction unless opted out; zero data retention for Streaming when opted out",
      "source_url": "https://www.assemblyai.com/docs/data-retention-and-model-training",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "speech-to-text"
    ],
    "no_auth": false,
    "call": {
      "operation": "transcribe an audio file",
      "method": "POST",
      "url": "https://api.assemblyai.com/v2/transcript",
      "example": "curl -X POST https://api.assemblyai.com/v2/transcript -H \"authorization: $ASSEMBLYAI_API_KEY\" -H \"content-type: application/json\" -d '{\"audio_url\": \"https://assembly.ai/wildfires.mp3\"}'",
      "response_fields": [
        "id",
        "status",
        "text",
        "confidence"
      ],
      "async": "poll GET https://api.assemblyai.com/v2/transcript/{id} until status is completed or error",
      "source_url": "https://www.assemblyai.com/docs/api-reference/transcripts/submit",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pre-recorded speech-to-text: Universal-3.5 Pro $0.21 per audio hour, Universal-2 $0.15 per hour",
      "source_url": "https://www.assemblyai.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.assemblyai.com",
        "probes": 1,
        "up": 1,
        "median_ms": 402,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://assemblyai.com/docs/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 282,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 308
        }
      }
    }
  },
  {
    "id": "azure-ai-speech",
    "name": "Azure AI Speech",
    "category": "audio-speech",
    "homepage": "https://azure.microsoft.com/products/ai-services/ai-speech",
    "docs": "https://learn.microsoft.com/azure/ai-services/speech-service/",
    "auth": "cloud_iam",
    "auth_hint": "Ocp-Apim-Subscription-Key: <key>, or Authorization: Bearer <Entra token>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/microsoft/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/microsoft/mcp",
      "tools": [
        "speech stt recognize",
        "speech tts synthesize"
      ],
      "covers_full_api": false,
      "source_url": "https://learn.microsoft.com/en-us/azure/developer/azure-mcp-server/tools/ai-services-speech",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@azure/mcp@latest",
          "server",
          "start"
        ],
        "env": [
          "AZURE_TENANT_ID",
          "AZURE_CLIENT_ID",
          "AZURE_CLIENT_SECRET"
        ],
        "docs_only": false,
        "source_url": "https://github.com/microsoft/mcp/blob/main/servers/Azure.Mcp.Server/README.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier (F0): 5 audio hrs/mo STT, 0.5M chars/mo neural TTS; batch transcription not available on F0",
    "sdk": [
      "python",
      "csharp",
      "cpp",
      "java",
      "javascript",
      "go",
      "objective-c"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Convert text to speech, transcribe speech to text and translate speech via REST or Speech SDK.",
    "notes": "Now branded 'Azure Speech in Foundry Tools'. Needs an Azure Speech resource, and endpoints are per region. Speech tools (speech stt recognize, speech tts synthesize) ship in the Azure MCP Server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "5 audio hours STT + 0.5M neural TTS characters",
      "period": "month",
      "source_url": "https://azure.microsoft.com/en-us/pricing/details/cognitive-services/speech-services/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Ocp-Apim-Subscription-Key",
      "format": "Ocp-Apim-Subscription-Key: <RESOURCE_KEY> (or Authorization: Bearer <token>)",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/rest-speech-to-text-short",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "F0 quotas are not adjustable; F0 TTS 20 transactions per 60 seconds",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-services-quotas-and-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-speech",
      "speech-to-text"
    ],
    "no_auth": false,
    "call": {
      "operation": "convert text to speech",
      "method": "POST",
      "url": "https://{region}.tts.speech.microsoft.com/cognitiveservices/v1",
      "example": "curl -X POST \"https://$SPEECH_REGION.tts.speech.microsoft.com/cognitiveservices/v1\" -H \"Ocp-Apim-Subscription-Key: $SPEECH_KEY\" -H \"Content-Type: application/ssml+xml\" -H \"X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3\" -H \"User-Agent: curl\" --data-raw \"<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-Ava:DragonHDLatestNeural'>Hello from Azure Speech</voice></speak>\" --output output.mp3",
      "response_fields": [
        "binary audio body in the X-Microsoft-OutputFormat format (HTTP 200)"
      ],
      "async": null,
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-text-to-speech?pivots=programming-language-rest",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pay-as-you-go (East US, S1): neural text to speech $15 per 1M characters; real-time speech to text $1 per audio hour",
      "source_url": "https://prices.azure.com/api/retail/prices?$filter=productName eq 'Azure Speech' and armRegionName eq 'eastus'",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "microsoft/azure-speech-mcp-server",
        "stars": 1,
        "forks": 1,
        "pushed_at": "2025-11-24",
        "archived": false,
        "url": "https://github.com/microsoft/azure-speech-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "cartesia-api",
    "name": "Cartesia API",
    "category": "audio-speech",
    "homepage": "https://cartesia.ai",
    "docs": "https://docs.cartesia.ai",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <key> plus Cartesia-Version header",
    "mcp": {
      "type": "official",
      "url": "https://mcp.cartesia.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.cartesia.ai/mcp",
      "tools": [
        "text_to_speech",
        "speech_to_text",
        "list_voices",
        "get_voice",
        "clone_voice",
        "update_voice",
        "delete_voice",
        "voice_change",
        "localize_voice",
        "list_pronunciation_dicts",
        "create_pronunciation_dict",
        "get_pronunciation_dict",
        "update_pronunciation_dict",
        "delete_pronunciation_dict",
        "download_file",
        "get_credit_usage"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.cartesia.ai/tools/ai/mcp.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.cartesia.ai/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://docs.cartesia.ai/tools/ai/mcp.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 20,000 credits/mo; no commercial-use license and no voice cloning",
    "sdk": [
      "python",
      "typescript",
      "go"
    ],
    "openapi": null,
    "llms_txt": "https://docs.cartesia.ai/llms.txt",
    "desc_en": "Generate low-latency real-time text-to-speech, transcribe speech and clone voices via REST/WebSocket API.",
    "notes": "The hosted MCP endpoint uses OAuth. The local MCP server is at https://github.com/cartesia-ai/cartesia-mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "20K credits (~1 credit per TTS character)",
      "period": "month",
      "source_url": "https://cartesia.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY> + Cartesia-Version: 2026-08-14 (X-Api-Key also accepted)",
      "source_url": "https://docs.cartesia.ai/get-started/authenticate-your-client-applications.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cartesia.ai",
    "rate_limits": {
      "summary": "Free plan: 2 concurrent TTS requests, 8 concurrent STT requests; limits scale with subscription plan",
      "source_url": "https://cartesia.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Zero Data Retention available to Enterprise customers for TTS and STT",
      "source_url": "https://docs.cartesia.ai/enterprise/zero-data-retention.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-speech",
      "speech-to-text",
      "voice-cloning"
    ],
    "no_auth": false,
    "call": {
      "operation": "text-to-speech (audio file)",
      "method": "POST",
      "url": "https://api.cartesia.ai/tts/bytes",
      "example": "curl -X POST https://api.cartesia.ai/tts/bytes -H \"Cartesia-Version: 2026-08-14\" -H \"Authorization: Bearer $CARTESIA_API_KEY\" -H \"Content-Type: application/json\" -d '{\"model_id\":\"sonic-3.6\",\"transcript\":\"Hi there, nice to meet you.\",\"voice\":\"db6b0ed5-d5d3-463d-ae85-518a07d3c2b4\",\"output_format\":{\"container\":\"wav\",\"encoding\":\"pcm_s16le\",\"sample_rate\":44100}}' -o out.wav",
      "response_fields": [
        "body (audio bytes in output_format)"
      ],
      "async": null,
      "source_url": "https://docs.cartesia.ai/api-reference/tts/bytes",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "TTS: about 1 credit per character; Pro plan $5/mo for 100K credits, Startup $49/mo for 1.25M credits",
      "source_url": "https://docs.cartesia.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cartesia.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 694,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.cartesia.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 569,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "deepgram-api",
    "name": "Deepgram API",
    "category": "audio-speech",
    "homepage": "https://deepgram.com",
    "docs": "https://developers.deepgram.com/reference/deepgram-api-overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Token <key>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/deepgram/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/deepgram/mcp",
      "source_url": "https://github.com/deepgram/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://developers.deepgram.com/_mcp/server",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": true,
        "source_url": "https://developers.deepgram.com/developer-tools/cli/mcp-server.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: $200 in free credit one-time on signup, no credit card required; then pay-as-you-go",
    "sdk": [
      "python",
      "typescript",
      "go",
      "rust",
      "dotnet"
    ],
    "openapi": "https://developers.deepgram.com/openapi.yaml",
    "llms_txt": "https://developers.deepgram.com/llms.txt",
    "desc_en": "Transcribe batch or streaming audio with diarization, synthesize speech, and run real-time voice agents via REST/WebSocket.",
    "notes": "Hosted MCP at https://developers.deepgram.com/_mcp/server only searches the docs; the API-calling server is local `dg mcp` (Deepgram CLI) or pip deepgram-mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$200 credit",
      "period": "one_time",
      "source_url": "https://deepgram.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token <DEEPGRAM_API_KEY>",
      "source_url": "https://developers.deepgram.com/reference/authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.deepgram.com",
    "rate_limits": {
      "summary": "Nova-3/Nova-2: up to 50 concurrent pre-recorded and 150 streaming requests; Voice Agent API up to 45 concurrent connections",
      "source_url": "https://developers.deepgram.com/reference/api-rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Model Improvement Program may use data for training; opt out per request with mip_opt_out=true",
      "source_url": "https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "speech-to-text",
      "text-to-speech",
      "voice-agent"
    ],
    "no_auth": false,
    "call": {
      "operation": "transcribe a pre-recorded audio file from a URL",
      "method": "POST",
      "url": "https://api.deepgram.com/v1/listen",
      "example": "curl -X POST 'https://api.deepgram.com/v1/listen?model=nova-3' -H \"Authorization: Token $DEEPGRAM_API_KEY\" -H 'Content-Type: application/json' -d '{\"url\": \"https://dpgr.am/spacewalk.wav\"}'",
      "response_fields": [
        "results.channels[0].alternatives[0].transcript",
        "results.channels[0].alternatives[0].confidence",
        "metadata.request_id",
        "metadata.duration"
      ],
      "async": null,
      "source_url": "https://developers.deepgram.com/reference/speech-to-text/listen-pre-recorded",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Nova-3 monolingual pre-recorded transcription: $0.0043 per audio minute (pay-as-you-go)",
      "source_url": "https://deepgram.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "deepgram/mcp",
        "stars": 2,
        "forks": 2,
        "pushed_at": "2026-05-06",
        "archived": false,
        "url": "https://github.com/deepgram/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.deepgram.com",
        "probes": 1,
        "up": 1,
        "median_ms": 402,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://developers.deepgram.com/_mcp/server",
        "probes": 1,
        "up": 1,
        "median_ms": 414,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "elevenlabs-api",
    "name": "ElevenLabs API",
    "category": "audio-speech",
    "homepage": "https://elevenlabs.io",
    "docs": "https://elevenlabs.io/docs/api-reference/introduction",
    "auth": "api_key",
    "auth_hint": "xi-api-key: <key>",
    "mcp": {
      "type": "official",
      "url": "https://api.elevenlabs.io/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.elevenlabs.io/v1/mcp",
      "repo": "https://github.com/elevenlabs/elevenlabs-mcp",
      "source_url": "https://github.com/elevenlabs/elevenlabs-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": null,
      "issue": "repo archived 2026-08-20; replaced by hosted OAuth server https://api.elevenlabs.io/v1/mcp"
    },
    "free_tier": "Free: limited monthly credits; non-commercial use with attribution only, no voice cloning",
    "sdk": [
      "python",
      "typescript",
      "swift",
      "kotlin",
      "flutter"
    ],
    "openapi": "https://api.elevenlabs.io/openapi.json",
    "llms_txt": "https://elevenlabs.io/docs/llms.txt",
    "desc_en": "Generate, clone and stream text-to-speech voices and transcribe audio via REST/WebSocket API.",
    "notes": "Official hosted MCP https://api.elevenlabs.io/v1/mcp uses OAuth; the local stdio repo elevenlabs/elevenlabs-mcp is archived since 2026-08-20.",
    "verified": "2026-09-24",
    "operations": [
      "text-to-speech",
      "voice-cloning",
      "speech-to-text"
    ],
    "free_plan": {
      "kind": "free_tier",
      "period": "month",
      "source_url": "https://elevenlabs.io/docs/overview/administration/billing.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "xi-api-key",
      "format": "xi-api-key: <ELEVENLABS_API_KEY>",
      "source_url": "https://elevenlabs.io/docs/api-reference/authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.elevenlabs.io/v1",
    "rate_limits": {
      "summary": "Free plan concurrency: 2 (Multilingual v2), 4 (Flash), 8 STT, 6 realtime STT; excess requests are queued",
      "source_url": "https://elevenlabs.io/docs/overview/models.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "convert text to speech",
      "method": "POST",
      "url": "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
      "example": "curl -X POST https://api.elevenlabs.io/v1/text-to-speech/$VOICE_ID -H \"xi-api-key: $ELEVENLABS_API_KEY\" -H \"Content-Type: application/json\" -d '{\"text\":\"Hello\",\"model_id\":\"eleven_multilingual_v2\"}' --output out.mp3",
      "response_fields": [
        "body: binary audio (default mp3_44100_128)",
        "header character-cost",
        "header request-id"
      ],
      "async": null,
      "source_url": "https://elevenlabs.io/docs/api-reference/text-to-speech/convert",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "TTS API pay-as-you-go: $0.10 per 1,000 characters (Multilingual v2 / v3), $0.05 per 1,000 (Flash / Turbo)",
      "source_url": "https://elevenlabs.io/pricing/api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "elevenlabs/elevenlabs-mcp",
        "stars": 1537,
        "forks": 256,
        "pushed_at": "2026-08-20",
        "archived": true,
        "url": "https://github.com/elevenlabs/elevenlabs-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 4,
        "url": "https://sourceforge.net/software/product/ElevenLabs/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.elevenlabs.io/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 340,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.elevenlabs.io/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 310,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/elevenlabs-api.json"
  },
  {
    "id": "google-cloud-text-to-speech-speech-to-text",
    "name": "Google Cloud Text-to-Speech / Speech-to-Text",
    "category": "audio-speech",
    "homepage": "https://cloud.google.com/text-to-speech",
    "docs": "https://cloud.google.com/text-to-speech/docs",
    "auth": "cloud_iam",
    "auth_hint": "API key (?key=) or OAuth2 service-account token: Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/GoogleCloudPlatform/genmedia-creative-studio/tree/main/experiments/mcp-genmedia",
      "maintainer": "vendor",
      "repo": "https://github.com/GoogleCloudPlatform/genmedia-creative-studio/tree/main/experiments/mcp-genmedia",
      "tools": [
        "chirp_tts",
        "list_chirp_voices"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/GoogleCloudPlatform/genmedia-creative-studio/blob/main/experiments/mcp-genmedia/mcp-genmedia-go/README.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Free tier: TTS 4M chars/mo Standard and WaveNet, 1M chars/mo Neural2, Chirp 3 HD and Studio; STT 60 min/mo",
    "sdk": [
      "python",
      "nodejs",
      "go",
      "java",
      "php",
      "ruby",
      "csharp"
    ],
    "openapi": "https://texttospeech.googleapis.com/$discovery/rest?version=v1",
    "llms_txt": null,
    "desc_en": "Synthesize lifelike speech from text and transcribe audio to text via REST/gRPC using GCP credentials.",
    "notes": "Requires a GCP project with billing enabled. Speech-to-Text docs are separate: https://cloud.google.com/speech-to-text/docs. Experimental vendor MCP mcp-chirp3-go (Genmedia) covers Chirp 3 HD TTS only.",
    "verified": "2026-09-24",
    "operations": [
      "text-to-speech",
      "speech-to-text"
    ],
    "free_plan": {
      "kind": "free_tier",
      "quota": "TTS: 4M chars Standard/WaveNet, 1M Neural2/Chirp 3 HD/Studio; STT: 60 min",
      "period": "month",
      "source_url": "https://cloud.google.com/text-to-speech/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "scheme": "bearer",
      "format": "Authorization: Bearer $(gcloud auth print-access-token) + x-goog-user-project: <PROJECT_ID>",
      "source_url": "https://cloud.google.com/text-to-speech/docs/create-audio-text-command-line",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://texttospeech.googleapis.com/v1",
    "data_policy": {
      "summary": "STT offers a cheaper 'with data logging' price tier (opt-in); 'without data logging' tier costs more",
      "source_url": "https://cloud.google.com/speech-to-text/pricing",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "synthesize speech from text",
      "method": "POST",
      "url": "https://texttospeech.googleapis.com/v1/text:synthesize",
      "example": "curl -X POST https://texttospeech.googleapis.com/v1/text:synthesize -H \"Authorization: Bearer $(gcloud auth print-access-token)\" -H \"x-goog-user-project: $GCP_PROJECT_ID\" -H \"Content-Type: application/json; charset=utf-8\" -d '{\"input\":{\"text\":\"Hello world\"},\"voice\":{\"languageCode\":\"en-gb\",\"name\":\"en-GB-Standard-A\"},\"audioConfig\":{\"audioEncoding\":\"MP3\"}}'",
      "response_fields": [
        "audioContent"
      ],
      "async": null,
      "source_url": "https://docs.cloud.google.com/text-to-speech/docs/create-audio-text-command-line",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "TTS after free tier: Standard and WaveNet $4, Neural2 $16, Chirp 3 HD $30, Studio $160 per 1M characters",
      "source_url": "https://docs.cloud.google.com/text-to-speech/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://texttospeech.googleapis.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 246,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "hume-ai-api",
    "name": "Hume AI API",
    "category": "audio-speech",
    "homepage": "https://www.hume.ai",
    "docs": "https://dev.hume.ai/docs",
    "auth": "api_key",
    "auth_hint": "X-Hume-Api-Key: <key> (REST); api_key query param (EVI WebSocket)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/HumeAI/mcp-server-hume",
      "maintainer": "vendor",
      "repo": "https://github.com/HumeAI/mcp-server-hume",
      "tools": [
        "tts",
        "play_previous_audio",
        "list_voices",
        "save_voice",
        "delete_voice"
      ],
      "covers_full_api": false,
      "source_url": "https://dev.hume.ai/docs/integrations/mcp.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://dev.hume.ai/_mcp/server",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": true,
        "source_url": "https://dev.hume.ai/docs/integrations/mcp.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 10,000 TTS chars/mo + 5 EVI min/mo; new accounts also get $20 in credits",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate expressive text-to-speech and run real-time empathic voice conversations (EVI) via REST/WebSocket.",
    "notes": "The free plan allows 1 concurrent connection. Voice cloning is on paid plans. The API MCP is local `npx @humeai/mcp-server` (HUME_API_KEY); dev.hume.ai/_mcp/server only searches the docs.",
    "verified": "2026-09-24",
    "operations": [
      "text-to-speech",
      "voice-agent"
    ],
    "free_plan": {
      "kind": "free_tier",
      "quota": "10,000 TTS characters (~10 min); new accounts also get $20 credits",
      "period": "month",
      "source_url": "https://www.hume.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Hume-Api-Key",
      "format": "X-Hume-Api-Key: <HUME_API_KEY>",
      "source_url": "https://dev.hume.ai/docs/introduction/api-key.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.hume.ai/v0",
    "rate_limits": {
      "summary": "Free plan TTS: 15 requests per minute",
      "source_url": "https://www.hume.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "By default anonymized EVI interaction data is used for training; users can opt out and enable 'Do not retain data'",
      "source_url": "https://dev.hume.ai/docs/resources/privacy.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "text-to-speech",
      "method": "POST",
      "url": "https://api.hume.ai/v0/tts",
      "example": "curl -X POST https://api.hume.ai/v0/tts -H \"X-Hume-Api-Key: $HUME_API_KEY\" -H \"Content-Type: application/json\" -d '{\"utterances\": [{\"text\": \"Hello from Hume.\", \"description\": \"a calm, friendly narrator\"}], \"format\": {\"type\": \"mp3\"}}'",
      "response_fields": [
        "generations[0].audio",
        "generations[0].duration",
        "generations[0].generation_id",
        "request_id"
      ],
      "async": null,
      "source_url": "https://dev.hume.ai/reference/text-to-speech-tts/synthesize-json",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "TTS overage per 1,000 characters: $0.15 (Creator), $0.12 (Pro), $0.10 (Scale), $0.05 (Business); EVI $0.04-0.07/minute",
      "source_url": "https://www.hume.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.hume.ai/v0",
        "probes": 1,
        "up": 1,
        "median_ms": 502,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "murf-ai-api",
    "name": "Murf AI API",
    "category": "audio-speech",
    "homepage": "https://murf.ai",
    "docs": "https://murf.ai/api/docs/introduction/overview",
    "auth": "api_key",
    "auth_hint": "api-key: <key> request header (base URL https://api.murf.ai/v1)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/murf-ai/murf-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/murf-ai/murf-mcp",
      "covers_full_api": false,
      "source_url": "https://murf.ai/api/docs/integrations/mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Trial: 100,000 characters one-time on the free API plan, no time limit",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate AI voiceovers, clone voices and dub audio in 35+ languages via REST API.",
    "notes": "Two model families: Falcon 2 (low latency, for streaming; $0.01/min) and Gen2 (studio quality).",
    "verified": "2026-09-24",
    "operations": [
      "text-to-speech",
      "voice-cloning"
    ],
    "free_plan": {
      "kind": "trial",
      "quota": "100,000 characters (no time limit)",
      "period": "one_time",
      "source_url": "https://murf.ai/api/docs/resources/faq.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "api-key",
      "format": "api-key: <MURF_API_KEY>",
      "source_url": "https://murf.ai/api/docs/api-reference/text-to-speech/generate.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.murf.ai/v1",
    "rate_limits": {
      "summary": "Free tier streaming concurrency: Falcon 2 5 (US-East) or 2 (global/regional), Gen2 5; WebSocket connections 10x concurrency",
      "source_url": "https://murf.ai/api/docs/resources/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "text-to-speech (generate a voiceover file)",
      "method": "POST",
      "url": "https://api.murf.ai/v1/speech/generate",
      "example": "curl -X POST https://api.murf.ai/v1/speech/generate -H \"api-key: $MURF_API_KEY\" -H 'Content-Type: application/json' -d '{\"text\": \"Hi, how are you doing today?\", \"voiceId\": \"en-US-natalie\"}'",
      "response_fields": [
        "audioFile",
        "audioLengthInSeconds",
        "remainingCharacterCount",
        "wordDurations"
      ],
      "async": null,
      "source_url": "https://murf.ai/api/docs/api-reference/text-to-speech/generate",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pay-as-you-go: $0.03 per 1,000 characters (minimum purchase $2); Falcon streaming model advertised at $0.01 per minute of speech",
      "source_url": "https://help.murf.ai/murf-api-plans-and-limits",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 7,
        "url": "https://sourceforge.net/software/product/Murf-AI/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.murf.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 481,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/murf-ai-api.json"
  },
  {
    "id": "openai-audio-api-tts-transcription",
    "name": "OpenAI Audio API (TTS / transcription)",
    "category": "audio-speech",
    "homepage": "https://platform.openai.com/docs/guides/audio",
    "docs": "https://developers.openai.com/api/docs/guides/text-to-speech",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <key>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "paid only (pay-per-use)",
    "sdk": [
      "python",
      "typescript",
      "go",
      "java",
      "dotnet"
    ],
    "openapi": "https://github.com/openai/openai-openapi",
    "llms_txt": "https://developers.openai.com/llms.txt",
    "desc_en": "Synthesize speech with TTS models and transcribe or translate audio with Whisper/GPT-4o transcribe via REST.",
    "notes": "Whisper transcription costs about $0.006/min. TTS is billed per character or per token, depending on the model. Speech-to-text guide: https://developers.openai.com/api/docs/guides/speech-to-text.",
    "verified": "2026-09-24",
    "operations": [
      "text-to-speech",
      "speech-to-text"
    ],
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OPENAI_API_KEY>",
      "source_url": "https://developers.openai.com/api/docs/guides/text-to-speech.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.openai.com/v1",
    "rate_limits": {
      "summary": "Usage tiers (Free, Tier 1-5) set rate limits and monthly usage caps; Free tier capped at $100/month",
      "source_url": "https://developers.openai.com/api/docs/guides/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "API data not used for training unless you opt in; abuse-monitoring logs retained by default (ZDR available to eligible customers)",
      "source_url": "https://developers.openai.com/api/docs/guides/your-data.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "openai/openai-openapi",
        "stars": 2524,
        "forks": 526,
        "pushed_at": "2026-09-23",
        "archived": false,
        "url": "https://github.com/openai/openai-openapi",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.openai.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 268,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "resemble-ai-api",
    "name": "Resemble AI API",
    "category": "audio-speech",
    "homepage": "https://www.resemble.ai",
    "docs": "https://docs.resemble.ai/",
    "auth": "api_key",
    "auth_hint": "API key from app.resemble.ai dashboard",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://github.com/resemble-ai/resemble-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only; Flex plan is $0/mo base with pay-as-you-go credits, no free usage allowance stated",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Synthesize speech, clone voices, convert speech-to-speech and detect deepfake audio via REST API.",
    "notes": "Enterprise plans are available for on-prem deployment and custom model training. Vendor MCP at https://docs.resemble.ai/_mcp/server only searches the docs.",
    "verified": "2026-09-24",
    "operations": [
      "text-to-speech",
      "voice-cloning"
    ],
    "free_plan": {
      "kind": "none",
      "requires_card": false,
      "source_url": "https://www.resemble.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.resemble.ai/getting-started/authentication.md",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "About 40 requests/second per API token; audio enhancement 10 requests/minute",
      "source_url": "https://docs.resemble.ai/getting-started/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 1.7,
        "reviews": 3,
        "url": "https://sourceforge.net/software/product/Resemble-AI/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://docs.resemble.ai/_mcp/server",
        "probes": 1,
        "up": 1,
        "median_ms": 602,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/resemble-ai-api.json"
  },
  {
    "id": "rev-ai-api",
    "name": "Rev AI API",
    "category": "audio-speech",
    "homepage": "https://www.rev.ai",
    "docs": "https://docs.rev.ai/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <access_token>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://docs.rev.ai/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "trial credits (about 5 hours of ASR)",
    "sdk": [
      "python",
      "node",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Submit audio for asynchronous or streaming speech-to-text transcription, plus sentiment and topic extraction, via REST.",
    "notes": "Vendor MCP at https://docs.rev.ai/mcp only searches the docs. Human transcription is sold separately as a paid option.",
    "verified": "2026-09-24",
    "operations": [
      "speech-to-text"
    ],
    "free_plan": {
      "kind": "trial",
      "quota": "Free credits equivalent to 5 hours of Reverb ASR",
      "period": "one_time",
      "source_url": "https://www.rev.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <REVAI_ACCESS_TOKEN>",
      "source_url": "https://docs.rev.ai/get-started.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.rev.ai/speechtotext/v1",
    "rate_limits": {
      "summary": "Async STT: 10,000 transcription requests per 10 minutes per user; multipart uploads concurrency 5, 2 GB/file",
      "source_url": "https://docs.rev.ai/api/asynchronous.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /jobs returns job id; poll GET /jobs/{id} then GET /jobs/{id}/transcript, or use webhook notification",
      "source_url": "https://docs.rev.ai/get-started.md"
    },
    "data_policy": {
      "summary": "Jobs and associated data deleted after max 30 days; configurable earlier auto-delete or delete_after_seconds",
      "source_url": "https://docs.rev.ai/api/security.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "submit an async transcription job",
      "method": "POST",
      "url": "https://api.rev.ai/speechtotext/v1/jobs",
      "example": "curl -X POST https://api.rev.ai/speechtotext/v1/jobs -H \"Authorization: Bearer $REVAI_ACCESS_TOKEN\" -H 'Content-Type: application/json' -d '{\"source_config\":{\"url\":\"https://www.rev.ai/FTC_Sample_1.mp3\"}}'",
      "response_fields": [
        "id",
        "status",
        "created_on"
      ],
      "async": "poll GET https://api.rev.ai/speechtotext/v1/jobs/{id} until status is transcribed, then GET .../jobs/{id}/transcript (Accept: text/plain)",
      "source_url": "https://docs.rev.ai/api/asynchronous/get-started/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Reverb ASR: $0.20 per hour English, $0.30 per hour other languages (per-second billing, 15 s minimum)",
      "source_url": "https://www.rev.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.rev.ai/speechtotext/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 689,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "speechmatics-api",
    "name": "Speechmatics API",
    "category": "audio-speech",
    "homepage": "https://www.speechmatics.com",
    "docs": "https://docs.speechmatics.com",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <key>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/ArchieMcM234/speechmatics_claude_code_mcp",
      "maintainer": "community",
      "repo": "https://github.com/ArchieMcM234/speechmatics_claude_code_mcp",
      "tools": [
        "transcribe_file",
        "transcribe_directory",
        "get_transcript",
        "get_usage"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/ArchieMcM234/speechmatics_claude_code_mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uv",
        "args": [
          "--directory",
          "/path/to/speechmatics_claude_code_mcp",
          "run",
          "python",
          "server.py"
        ],
        "env": [
          "SPEECHMATICS_API_KEY"
        ],
        "source_url": "https://github.com/ArchieMcM234/speechmatics_claude_code_mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: one-time $100 credit grant, no payment card required",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.speechmatics.com/llms.txt",
    "desc_en": "Transcribe audio in batch or real time with speaker diarization across many languages via REST/WebSocket.",
    "notes": "The free tier also includes 2 concurrent real-time sessions. No official vendor MCP server was found.",
    "verified": "2026-09-24",
    "operations": [
      "speech-to-text"
    ],
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$100 credit grant",
      "period": "one_time",
      "source_url": "https://docs.speechmatics.com/administration/plans.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.speechmatics.com/get-started/authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://eu1.asr.api.speechmatics.com/v2",
    "rate_limits": {
      "summary": "Batch: 10 new jobs/s, 50 job status requests/s; backstop 20,000 concurrent jobs; HTTP 429 when exceeded",
      "source_url": "https://docs.speechmatics.com/speech-to-text/batch/limits.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch: POST /v2/jobs, then poll GET /v2/jobs/{id} or use Notifications (callbacks)",
      "source_url": "https://docs.speechmatics.com/speech-to-text/batch/limits.md"
    },
    "no_auth": false,
    "call": {
      "operation": "transcribe an audio file (batch job, wait for result)",
      "method": "POST",
      "url": "https://eu1.asr.api.speechmatics.com/v2/jobs/?wait=60&format=txt",
      "example": "curl -L -X POST \"https://eu1.asr.api.speechmatics.com/v2/jobs/?wait=60&format=txt\" -H \"Authorization: Bearer $SPEECHMATICS_API_KEY\" -F data_file=@example.wav -F config='{\"type\": \"transcription\", \"transcription_config\": {\"model\": \"enhanced\", \"language\": \"en\"}}'",
      "response_fields": [
        "id",
        "status",
        "txt"
      ],
      "async": "if status is still created when wait elapses, GET /v2/jobs/{id}/transcript?format=txt (also accepts wait) until done",
      "source_url": "https://docs.speechmatics.com/speech-to-text/batch/synchronous.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pro pay-as-you-go: batch Standard $0.24 per audio hour, batch Enhanced $0.40/hr, Melia 1 $0.129/hr; real-time Standard $0.24/hr, Enhanced $0.43/hr",
      "source_url": "https://www.speechmatics.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://eu1.asr.api.speechmatics.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 532,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "beatoven-ai-api",
    "name": "Beatoven.ai API",
    "category": "music-generation",
    "homepage": "https://www.beatoven.ai",
    "docs": "https://www.beatoven.ai/api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_TOKEN> (base URL https://public-api.beatoven.ai)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "check pricing",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate royalty-cleared background music and sound effects from text prompts via REST API (Maestro).",
    "notes": "Auth and endpoints are documented in the public API spec on GitHub (Beatoven/public-api); free-credit amount is not disclosed on public pages.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://github.com/Beatoven/public-api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN>",
      "source_url": "https://raw.githubusercontent.com/Beatoven/public-api/main/docs/api-spec.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://public-api.beatoven.ai",
    "async_jobs": {
      "value": true,
      "how": "POST /api/v1/tracks/compose returns task_id; poll GET /api/v1/tasks/{task_id} until status 'composed'",
      "source_url": "https://raw.githubusercontent.com/Beatoven/public-api/main/docs/api-spec.md"
    },
    "operations": [
      "music-generation",
      "sound-effects"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 3.8,
        "reviews": 4,
        "url": "https://sourceforge.net/software/product/Beatoven.ai/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://public-api.beatoven.ai",
        "probes": 1,
        "up": 0,
        "median_ms": null,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": "dns"
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/beatoven-ai-api.json"
  },
  {
    "id": "elevenlabs-music-api",
    "name": "ElevenLabs Music API",
    "category": "music-generation",
    "homepage": "https://elevenlabs.io/music",
    "docs": "https://elevenlabs.io/docs/api-reference/music/compose",
    "auth": "api_key",
    "auth_hint": "xi-api-key: <API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://api.elevenlabs.io/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.elevenlabs.io/v1/mcp",
      "repo": "https://github.com/elevenlabs/elevenlabs-mcp",
      "source_url": "https://github.com/elevenlabs/elevenlabs-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.elevenlabs.io/v1/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://github.com/elevenlabs/elevenlabs-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 10,000 credits per month shared with TTS (music included, no commercial use of music on Free; Starter $6/mo or higher needed)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate original music tracks from text prompts or detailed composition plans via REST API, with commercial licensing.",
    "notes": "Endpoint POST /v1/music; models music_v1/v2/v2.5; billed from the same ElevenLabs credit pool as TTS. Hosted OAuth MCP at api.elevenlabs.io/v1/mcp; the elevenlabs-mcp repo is archived since 2026-08-20.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10k credits (music included, no commercial use on free plan)",
      "period": "month",
      "source_url": "https://elevenlabs.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "xi-api-key",
      "format": "xi-api-key: <ELEVENLABS_API_KEY>",
      "source_url": "https://elevenlabs.io/docs/api-reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.elevenlabs.io",
    "rate_limits": {
      "summary": "Concurrency-based: Free plan 2 concurrent requests (TTS figures; higher on paid plans)",
      "source_url": "https://elevenlabs.io/docs/help-center/technical/how-many-text-to-speech-requests-can-i-make-and-can-i-increase-it",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "POST /v1/music returns the generated audio file directly",
      "source_url": "https://elevenlabs.io/docs/api-reference/music/compose"
    },
    "operations": [
      "music-generation"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a music track from a text prompt",
      "method": "POST",
      "url": "https://api.elevenlabs.io/v1/music",
      "example": "curl -X POST \"https://api.elevenlabs.io/v1/music?output_format=mp3_44100_128\" -H \"xi-api-key: $ELEVENLABS_API_KEY\" -H \"Content-Type: application/json\" -d '{\"prompt\":\"Upbeat lo-fi hip hop with warm piano\",\"music_length_ms\":30000}' --output track.mp3",
      "response_fields": [
        "binary audio body (format per output_format)"
      ],
      "async": null,
      "source_url": "https://elevenlabs.io/docs/api-reference/music/compose",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Music generation $0.15 per minute of generated audio (API, all paid tiers); finetune $1.50 each",
      "source_url": "https://elevenlabs.io/pricing/api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "elevenlabs/elevenlabs-mcp",
        "stars": 1537,
        "forks": 256,
        "pushed_at": "2026-08-20",
        "archived": true,
        "url": "https://github.com/elevenlabs/elevenlabs-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.elevenlabs.io",
        "probes": 1,
        "up": 1,
        "median_ms": 319,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.elevenlabs.io/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 172,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "loudly-api",
    "name": "Loudly API",
    "category": "music-generation",
    "homepage": "https://www.loudly.com",
    "docs": "https://www.loudly.com/developers",
    "auth": "api_key",
    "auth_hint": "API-KEY: <API_KEY> (base URL https://soundtracks.loudly.com)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Trial: free track allowance on signup with the API key from the developer portal; then volume-based pricing (Startup/SME/Corporate) or pay-as-you-go",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate, remix, stem-split, and master music tracks programmatically via REST API.",
    "notes": "Vendor lists an MCP server as 'in development' (not yet released) as of this check.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "source_url": "https://www.loudly.com/music-api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "API-KEY",
      "format": "API-KEY: <API_KEY>",
      "source_url": "https://b2b-soundtracks-swagger-prd.loudly.com/swagger/b2b_swagger.yaml",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://soundtracks.loudly.com",
    "async_jobs": {
      "value": false,
      "how": "POST /api/ai/prompt/songs returns a song object with the generated track",
      "source_url": "https://b2b-soundtracks-swagger-prd.loudly.com/swagger/b2b_swagger.yaml"
    },
    "operations": [
      "music-generation",
      "stem-separation"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a song from a text prompt",
      "method": "POST",
      "url": "https://soundtracks.loudly.com/api/ai/prompt/songs",
      "example": "curl -X POST https://soundtracks.loudly.com/api/ai/prompt/songs -H \"API-KEY: $LOUDLY_API_KEY\" -F \"prompt=Upbeat lo-fi hip hop with warm piano\" -F \"duration=30\"",
      "response_fields": [
        "id",
        "title",
        "duration",
        "music_file_path",
        "bpm",
        "key"
      ],
      "async": null,
      "source_url": "https://b2b-soundtracks-swagger-prd.loudly.com/swagger/b2b_swagger.yaml",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 1.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Loudly/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://soundtracks.loudly.com",
        "probes": 1,
        "up": 1,
        "median_ms": 799,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/loudly-api.json"
  },
  {
    "id": "mubert-api",
    "name": "Mubert API",
    "category": "music-generation",
    "homepage": "https://mubert.com/api",
    "docs": "https://mubert.com/api",
    "auth": "api_key",
    "auth_hint": "customer-id + access-token headers (credentials emailed after checkout)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "paid only; plans start at $49/mo (100 generations/mo), no free tier",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate streaming or file-based background music from text/image prompts via REST/WebRTC API, 15s-25min tracks.",
    "notes": "No self-serve free trial; must purchase a plan before receiving API credentials.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://mubert.com/api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "access-token",
      "format": "customer-id: <CUSTOMER_ID>; access-token: <ACCESS_TOKEN>",
      "source_url": "https://mubert.com/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://music-api.mubert.com/api/v3/public",
    "async_jobs": {
      "value": true,
      "how": "POST /tracks, then poll GET track by id or use a webhook",
      "source_url": "https://mubert.com/api/docs"
    },
    "operations": [
      "music-generation"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://music-api.mubert.com/api/v3/public",
        "probes": 1,
        "up": 1,
        "median_ms": 654,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "soundraw-api",
    "name": "Soundraw API",
    "category": "music-generation",
    "homepage": "https://soundraw.io",
    "docs": "https://docs.channel.io/soundraw-faq/en/articles/SOUNDRAW-API-fbf580fd",
    "auth": "api_key",
    "auth_hint": "check docs (exact header not publicly disclosed on marketing pages)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Trial: one-time 2-week free API trial with no commitment; then Starter $29.99/mo for 100 songs with a 6-month minimum commitment",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate royalty-free background music tracks by mood, genre, and duration via REST API for embedding in apps.",
    "notes": "Full technical API reference is gated behind sales/docs portal; only an FAQ page and pricing were publicly confirmed.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "2-week free trial",
      "period": "one_time",
      "source_url": "https://docs.channel.io/soundraw-faq/en/articles/SOUNDRAW-API-fbf580fd",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "music-generation"
    ],
    "no_auth": false,
    "unit_price": {
      "summary": "API Starter $29.99/mo for up to 100 songs (~$0.30 per song); API Pro $300/mo for up to 1,000 songs",
      "source_url": "https://soundraw.io/api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 1.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Soundraw/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/soundraw-api.json"
  },
  {
    "id": "stable-audio-api-stability-ai",
    "name": "Stable Audio API (Stability AI)",
    "category": "music-generation",
    "homepage": "https://platform.stability.ai",
    "docs": "https://platform.stability.ai/docs/api-reference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <STABILITY_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "shares Stability AI platform credits; 25 free credits on signup, then pay-as-you-go",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate music and sound effects from text prompts via REST API (Stable Audio 2.5, or Stable Audio 3.0 for tracks up to 6 minutes).",
    "notes": "Endpoint POST /v2beta/audio/stable-audio-2/text-to-audio; default model 2.5 costs 20 credits per generation; Stable Audio 3.0 (up to 6 min, async) costs 26 credits. Shares the platform.stability.ai credit system with Stability's image API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "25 free credits for new accounts (Stable Audio 2.5 costs 20 credits per generation)",
      "period": "one_time",
      "source_url": "https://kb.stability.ai/knowledge-base/where-can-i-find-my-api-key",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "authorization",
      "format": "Authorization: Bearer <STABILITY_API_KEY>",
      "source_url": "https://api.stability.ai/v2alpha/openapi",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.stability.ai",
    "rate_limits": {
      "summary": "150 requests per 10 seconds; exceeding gives 429 and a 60-second timeout",
      "source_url": "https://api.stability.ai/v2alpha/openapi",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "POST /v2beta/audio/stable-audio-2/text-to-audio returns audio directly; GET /v2beta/audio/results/{id} exists for async generations",
      "source_url": "https://api.stability.ai/v2alpha/openapi"
    },
    "operations": [
      "music-generation",
      "sound-effects"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate music or sound effects from a text prompt",
      "method": "POST",
      "url": "https://api.stability.ai/v2beta/audio/stable-audio-2/text-to-audio",
      "example": "curl -f -sS https://api.stability.ai/v2beta/audio/stable-audio-2/text-to-audio -H \"authorization: Bearer $STABILITY_API_KEY\" -H \"accept: audio/*\" -F prompt=\"Upbeat acoustic guitar with light drums and claps\" -F output_format=mp3 -F duration=20 -F model=stable-audio-2.5 -o output.mp3",
      "response_fields": [
        "binary audio body (accept: audio/*)",
        "finish-reason (header)",
        "seed (header)"
      ],
      "async": null,
      "source_url": "https://api.stability.ai/v2alpha/openapi",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Stable Audio 2.5 text-to-audio: 20 credits per successful generation; 1 credit = $0.01 (about $0.20)",
      "source_url": "https://platform.stability.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.stability.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 383,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "csm-common-sense-machines-api",
    "name": "CSM (Common Sense Machines) API",
    "category": "3d-generation",
    "homepage": "https://www.csm.ai",
    "docs": "https://docs.csm.ai/quick-start",
    "auth": "api_key",
    "auth_hint": "API key created from Cube webapp user profile, sent as bearer/header token",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://github.com/CommonSenseMachines/blender-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null,
      "issue": "source repo github.com/CommonSenseMachines/blender-mcp returns 404; entry links only a lobehub listing (403)"
    },
    "free_tier": "Unavailable: service appears discontinued",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create 3D assets and multi-part kits from images via async REST sessions (image-to-3D, retopology).",
    "notes": "Async session-based API; monitor completion via webhook (recommended) or polling. The vendor's Blender MCP repo (github.com/CommonSenseMachines/blender-mcp) now returns 404; no maintained MCP server found.",
    "verified": "2026-09-24",
    "operations": [
      "image-to-3d"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "broken",
      "docs_detail": "[Errno 11001] getaddrinfo failed",
      "mcp": "ok"
    }
  },
  {
    "id": "hyper3d-rodin-api",
    "name": "Hyper3D Rodin API",
    "category": "3d-generation",
    "homepage": "https://hyper3d.ai",
    "docs": "https://docs.hyper3d.ai/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <RODIN_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only: API access requires the Business plan ($120/mo, $96/mo billed annually) or Enterprise; direct credits $1.5 each",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate 3D meshes from text or images (sketch/regular/detail quality tiers) via an async REST job API.",
    "notes": "Async task-based API: submit generation, then poll or use webhooks to retrieve the finished asset.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://hyper3d.ai/pricing?lang=en",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <RODIN_API_KEY>",
      "source_url": "https://docs.hyper3d.ai/en/get-started/quick-start",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.hyper3d.com/api/v2",
    "async_jobs": {
      "value": true,
      "how": "POST /rodin returns uuid + jobs.subscription_key; poll POST /status, then POST /download with task_uuid",
      "source_url": "https://docs.hyper3d.ai/en/get-started/quick-start"
    },
    "operations": [
      "text-to-3d",
      "image-to-3d"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.hyper3d.com/api/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 922,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "meshy-api",
    "name": "Meshy API",
    "category": "3d-generation",
    "homepage": "https://www.meshy.ai",
    "docs": "https://docs.meshy.ai/en/api/quick-start",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <msy-...>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/meshy-dev/meshy-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/meshy-dev/meshy-mcp-server",
      "tools": [
        "meshy_text_to_3d",
        "meshy_text_to_3d_refine",
        "meshy_image_to_3d",
        "meshy_multi_image_to_3d",
        "meshy_creative_lab",
        "meshy_remesh",
        "meshy_retexture",
        "meshy_rig",
        "meshy_animate",
        "meshy_convert",
        "meshy_resize",
        "meshy_uv_unwrap",
        "meshy_text_to_image",
        "meshy_image_to_image",
        "meshy_get_task_status",
        "meshy_list_tasks",
        "meshy_cancel_task",
        "meshy_download_model",
        "meshy_list_models",
        "meshy_send_to_slicer",
        "meshy_analyze_printability",
        "meshy_repair_printability",
        "meshy_process_multicolor",
        "meshy_check_balance"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/meshy-dev/meshy-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@meshy-ai/meshy-mcp-server"
        ],
        "env": [
          "MESHY_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/meshy-dev/meshy-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only: creating API keys requires a paid plan (Pro $20/mo+); Free accounts get only a built-in test key for the Playground (free web plan 100 credits/mo)",
    "sdk": [],
    "openapi": "https://docs.meshy.ai/openapi.yaml",
    "llms_txt": "https://docs.meshy.ai/llms.txt",
    "desc_en": "Generate, retexture, rig, and animate 3D models from text or images via REST API or official MCP server.",
    "notes": "Free web accounts get only a limited built-in Playground key; creating/managing your own API keys requires a paid subscription.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.meshy.ai/en/api/quick-start",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <MESHY_API_KEY>",
      "source_url": "https://docs.meshy.ai/en/api/quick-start",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.meshy.ai/openapi/v1",
    "rate_limits": {
      "summary": "20 requests/s on Pro-Ultra (Enterprise 100); concurrent queue tasks 10 (Pro) to 100 (Ultra); 429 when exceeded",
      "source_url": "https://docs.meshy.ai/en/api/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST returns task id; poll GET task until SUCCEEDED, or use SSE streaming or webhooks",
      "source_url": "https://docs.meshy.ai/en/api/quick-start"
    },
    "data_policy": {
      "summary": "Generated files retained for 3 days on non-Enterprise plans",
      "source_url": "https://docs.meshy.ai/en/api/quick-start",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-3d",
      "image-to-3d",
      "3d-texturing",
      "text-to-image",
      "image-to-image"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "meshy-dev/meshy-mcp-server",
        "stars": 48,
        "forks": 11,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/meshy-dev/meshy-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.meshy.ai/openapi/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 352,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "sketchfab-data-api",
    "name": "Sketchfab Data API",
    "category": "3d-generation",
    "homepage": "https://sketchfab.com/developers",
    "docs": "https://sketchfab.com/developers/data-api/v3",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Token <API_TOKEN> (personal token) or OAuth2 Authorization: Bearer <access_token>; legacy v2 endpoints are deprecated",
    "mcp": {
      "type": "community",
      "url": "https://github.com/gregkop/sketchfab-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/gregkop/sketchfab-mcp-server",
      "tools": [
        "sketchfab-search",
        "sketchfab-model-details",
        "sketchfab-download"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/gregkop/sketchfab-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/path/to/sketchfab-mcp-server/build/index.js",
          "--api-key",
          "$SKETCHFAB_API_KEY"
        ],
        "env": [
          "SKETCHFAB_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/gregkop/sketchfab-mcp-server#using-with-claude-desktop",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: no key needed for search and model listing (GET /v3/search, /v3/models); downloads (/v3/models/{uid}/download) need a free account token",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Search, download, and upload 3D models on Sketchfab programmatically via the REST Data API v3.",
    "notes": "This is an asset hosting/marketplace API, not a generative AI model; downloading models generally requires an authenticated Sketchfab account (and often the uploader's permission/license). Use v3 endpoints; v2 is deprecated.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "source_url": "https://docs.sketchfab.com/data-api/v3/swagger.json",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token <API_TOKEN>  (OAuth2: Authorization: Bearer <ACCESS_TOKEN>)",
      "source_url": "https://docs.sketchfab.com/data-api/v3/swagger.json",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.sketchfab.com/v3",
    "rate_limits": {
      "summary": "Calls can be throttled to limit abuse; throttled clients get 429 Too Many Requests (no numeric limit published)",
      "source_url": "https://docs.sketchfab.com/data-api/v3/swagger.json",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "3d-asset-marketplace"
    ],
    "no_auth": false,
    "call": {
      "operation": "search 3D models",
      "method": "GET",
      "url": "https://api.sketchfab.com/v3/search?type=models&q={keywords}",
      "example": "curl \"https://api.sketchfab.com/v3/search?type=models&q=chair&downloadable=true\"",
      "response_fields": [
        "results[].uid",
        "results[].name",
        "results[].uri",
        "next"
      ],
      "async": null,
      "source_url": "https://docs.sketchfab.com/data-api/v3/swagger.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "gregkop/sketchfab-mcp-server",
        "stars": 40,
        "forks": 10,
        "pushed_at": "2025-03-09",
        "archived": false,
        "url": "https://github.com/gregkop/sketchfab-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.sketchfab.com/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 731,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "stability-ai-3d-stable-fast-3d-spar3d-api",
    "name": "Stability AI 3D (Stable Fast 3D / SPAR3D) API",
    "category": "3d-generation",
    "homepage": "https://platform.stability.ai",
    "docs": "https://platform.stability.ai/docs/api-reference#tag/3D",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <key>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "25 free credits on signup, then pay-as-you-go (Stable Fast 3D costs 10 credits ~ $0.10/generation)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Convert a single 2D image into a textured 3D mesh (GLB) via the v2beta/3d REST endpoints.",
    "notes": "Endpoints such as POST https://api.stability.ai/v2beta/3d/stable-fast-3d; part of Stability's broader multi-modal Platform API.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "authorization",
      "format": "authorization: Bearer sk-<API_KEY>",
      "source_url": "https://api.stability.ai/v2alpha/openapi",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.stability.ai",
    "rate_limits": {
      "summary": "150 requests per 10 seconds; exceeding returns 429 and a 60-second timeout",
      "source_url": "https://api.stability.ai/v2alpha/openapi",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "POST /v2beta/3d/stable-fast-3d and /v2beta/3d/stable-point-aware-3d return the GLB binary directly",
      "source_url": "https://api.stability.ai/v2alpha/openapi"
    },
    "operations": [
      "image-to-3d"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.stability.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 475,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "tencent-hunyuan3d-api",
    "name": "Tencent Hunyuan3D API",
    "category": "3d-generation",
    "homepage": "https://3d.hunyuan.tencent.com",
    "docs": "https://www.tencentcloud.com/document/product/1284/75539",
    "auth": "cloud_iam",
    "auth_hint": "Tencent Cloud SecretId/SecretKey, TC3-HMAC-SHA256 signed requests via the Tencent Cloud API/SDK",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Trial: 200 free credits one-time on first activation (valid 1 year); then postpaid $0.02/credit, Professional generation 25 credits (~$0.50), Express 15",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate textured 3D meshes (GLB, PBR) from text, images, or sketches via Tencent Cloud's Hunyuan 3D API.",
    "notes": "3d.hunyuan.tencent.com is the consumer web app; programmatic access requires a Tencent Cloud account and the Tencent Cloud API console, not the consumer site directly. An open-source self-hostable model (Hunyuan3D-2.1) is also available on GitHub for those who don't want the managed cloud API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "200 credits per user (one-time free resource package on first activation, valid 1 year)",
      "period": "one_time",
      "source_url": "https://www.tencentcloud.com/document/product/1284/75281",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "format": "Tencent Cloud API 3.0 signature (TC3-HMAC-SHA256) with SecretId/SecretKey; X-TC-Action: SubmitHunyuanTo3DProJob",
      "source_url": "https://www.tencentcloud.com/document/product/1284/75540",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://hunyuan.intl.tencentcloudapi.com",
    "rate_limits": {
      "summary": "SubmitHunyuanTo3DProJob: max 20 requests/s; 3 concurrent tasks by default",
      "source_url": "https://www.tencentcloud.com/document/product/1284/75540",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "SubmitHunyuanTo3DProJob returns JobId (valid 24h); poll QueryHunyuanTo3DProJob",
      "source_url": "https://www.tencentcloud.com/document/product/1284/75540"
    },
    "operations": [
      "text-to-3d",
      "image-to-3d"
    ],
    "no_auth": false,
    "call": {
      "operation": "submit a text-to-3D job (Pro)",
      "method": "POST",
      "url": "https://hunyuan.intl.tencentcloudapi.com/",
      "example": "curl -X POST https://hunyuan.intl.tencentcloudapi.com/ -H \"Authorization: $TC3_AUTHORIZATION\" -H \"Content-Type: application/json; charset=utf-8\" -H \"X-TC-Action: SubmitHunyuanTo3DProJob\" -H \"X-TC-Version: 2023-09-01\" -H \"X-TC-Timestamp: $TIMESTAMP\" -H \"X-TC-Region: $TC_REGION\" -d '{\"Prompt\":\"cat\"}'",
      "response_fields": [
        "Response.JobId",
        "Response.RequestId"
      ],
      "async": "poll action QueryHunyuanTo3DProJob with {\"JobId\":...} until Status is DONE, then read ResultFile3Ds[].Url (https://www.tencentcloud.com/document/product/1284/75541). $TC3_AUTHORIZATION is a TC3-HMAC-SHA256 signature computed per request from SecretId/SecretKey",
      "source_url": "https://www.tencentcloud.com/document/product/1284/75540",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pro job 25 credits (LowPoly 30, +10 with PBR), Rapid 15 credits; postpaid $0.02 per credit, so a Pro job is $0.50",
      "source_url": "https://www.tencentcloud.com/document/product/1284/75281",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://hunyuan.intl.tencentcloudapi.com",
        "probes": 1,
        "up": 1,
        "median_ms": 547,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "tripo-api",
    "name": "Tripo API",
    "category": "3d-generation",
    "homepage": "https://www.tripo3d.ai",
    "docs": "https://developers.tripo3d.ai/en/docs/authentication",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <tsk-...>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/VAST-AI-Research/tripo-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/VAST-AI-Research/tripo-mcp",
      "covers_full_api": false,
      "source_url": "https://github.com/VAST-AI-Research/tripo-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "tripo-mcp"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/VAST-AI-Research/tripo-mcp#installation",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: one-time free credits on first API key (amount varies by signup path, not listed on the pricing page); then pay-as-you-go at $0.01/credit",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate textured 3D meshes from text or images via REST API, with an official MCP server for agents.",
    "notes": "Maintained by VAST AI Research (Tripo's developer). Free-credit amounts vary by promotion. The MCP server is alpha (last commit 2025-04) and needs Blender with the Tripo addon.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <api_key>",
      "source_url": "https://developers.tripo3d.ai/en/docs/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://openapi.tripo3d.ai/v3",
    "rate_limits": {
      "summary": "Per-key rate limits (X-RateLimit-* headers, 429); default 10 concurrent tasks per category (image gen 1, P-series 5)",
      "source_url": "https://developers.tripo3d.ai/en/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "poll GET /v3/tasks/{task_id} or receive webhooks",
      "source_url": "https://developers.tripo3d.ai/en/docs/webhooks"
    },
    "operations": [
      "text-to-3d",
      "image-to-3d"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "VAST-AI-Research/tripo-mcp",
        "stars": 206,
        "forks": 29,
        "pushed_at": "2025-04-14",
        "archived": false,
        "url": "https://github.com/VAST-AI-Research/tripo-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://openapi.tripo3d.ai/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 420,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "autodesk-platform-services-aps",
    "name": "Autodesk Platform Services (APS)",
    "category": "architecture-cad-bim",
    "homepage": "https://aps.autodesk.com",
    "docs": "https://aps.autodesk.com/en/docs/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <token> (2-legged or 3-legged OAuth2)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/autodesk-platform-services/aps-mcp-server-python",
      "maintainer": "vendor",
      "repo": "https://github.com/autodesk-platform-services/aps-mcp-server-nodejs",
      "tools": [
        "list_buckets",
        "list_objects",
        "list_hubs",
        "list_projects"
      ],
      "covers_full_api": false,
      "source_url": "https://aps.autodesk.com/blog/building-custom-mcp-servers-autodesk-platform-services",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Free tier: limited usage of rated APIs (Automation, Model Derivative, Flow Graph Engine, Reality Capture) per month, renews monthly; Pay as You Go beyond that needs a card or PayPal",
    "sdk": [
      "javascript",
      "dotnet"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Upload, translate, view and automate CAD/BIM files (Model Derivative, Data Management, Design Automation) via REST APIs.",
    "notes": "Successor to Autodesk Forge; requires an Autodesk account and app registration in the APS console. Autodesk publishes reference MCP servers (Node.js, Python, .NET) to run yourself; no hosted endpoint.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "limited monthly usage of rated APIs (Automation, Model Derivative, Flow Graph Engine, Reality Capture)",
      "period": "month",
      "source_url": "https://aps.autodesk.com/blog/aps-business-model-evolution",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ACCESS_TOKEN> (token from https://developer.api.autodesk.com/authentication/v2/token)",
      "source_url": "https://github.com/autodesk-platform-services/aps-mcp-server-python",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://developer.api.autodesk.com",
    "oauth_scopes": {
      "scopes": [
        "data:read",
        "bucket:read"
      ],
      "source_url": "https://github.com/autodesk-platform-services/aps-mcp-server-python",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "cad-modeling",
      "bim-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "translate a model to SVF2 (Model Derivative job)",
      "method": "POST",
      "url": "https://developer.api.autodesk.com/modelderivative/v2/designdata/job",
      "example": "curl -X POST https://developer.api.autodesk.com/modelderivative/v2/designdata/job -H \"Authorization: Bearer $APS_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"input\": {\"urn\": \"<BASE64_URN_OF_SOURCE_FILE>\"}, \"output\": {\"formats\": [{\"type\": \"svf2\", \"views\": [\"2d\", \"3d\"]}]}}'",
      "response_fields": [
        "result",
        "urn",
        "acceptedJobs.output.formats"
      ],
      "async": "poll GET https://developer.api.autodesk.com/modelderivative/v2/designdata/{urn}/manifest until status is success/failed/timeout",
      "source_url": "https://aps.autodesk.com/en/docs/model-derivative/v2/tutorials/prep-file4viewer/task3-translate-source-file/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://developer.api.autodesk.com",
        "probes": 1,
        "up": 1,
        "median_ms": 258,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "bentley-itwin-platform-apis",
    "name": "Bentley iTwin Platform APIs",
    "category": "architecture-cad-bim",
    "homepage": "https://developer.bentley.com",
    "docs": "https://developer.bentley.com/apis/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <token> (OAuth2 via Bentley IMS)",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://www.bentley.com/en/infrastructure-ai/mcp-servers/",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free tier: Community plan with 100 credits/month, 10 GB cloud data, 100 GB reality data; non-commercial, non-production use only; no expiry",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create, manage and query digital twins, iModels and reality/reporting data for infrastructure projects via REST APIs.",
    "notes": "Built on iTwin.js; free developer account, but production data volumes/usage are billed.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Community tier: 100 credits/month, 10 GB cloud data, 100 GB reality data; non-commercial, non-production",
      "period": "month",
      "source_url": "https://developer.bentley.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ACCESS_TOKEN> (token from https://ims.bentley.com/connect/token)",
      "source_url": "https://developer.bentley.com/apis/overview/authorization/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.bentley.com",
    "rate_limits": {
      "summary": "Community: 500 requests/min and 5,000 calls/hour; Standard/Premium: 5,000 requests/min",
      "source_url": "https://developer.bentley.com/apis/overview/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "itwin-platform",
        "offline_access"
      ],
      "source_url": "https://developer.bentley.com/apis/overview/authorization/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "bim-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "list the iModels of an iTwin",
      "method": "GET",
      "url": "https://api.bentley.com/imodels/?iTwinId={iTwinId}",
      "example": "curl \"https://api.bentley.com/imodels/?iTwinId=$ITWIN_ID\" -H \"Authorization: Bearer $BENTLEY_ACCESS_TOKEN\" -H 'Accept: application/vnd.bentley.itwin-platform.v2+json'",
      "response_fields": [
        "iModels[].id",
        "iModels[].displayName",
        "iModels[].state",
        "_links.next"
      ],
      "async": null,
      "source_url": "https://developer.bentley.com/apis/imodels-v2/operations/get-itwin-imodels/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Usage billed in credits at $1.20 per credit (paid tiers); e.g. iModels 1 credit per 2 GB ingress/egress, Reporting 1 credit per 250,000 rows, Forms/Issues 1 credit per 50 queries",
      "source_url": "https://developer.bentley.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.bentley.com",
        "probes": 1,
        "up": 1,
        "median_ms": 200,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "onshape-rest-api",
    "name": "Onshape REST API",
    "category": "architecture-cad-bim",
    "homepage": "https://onshape-public.github.io/docs/",
    "docs": "https://onshape-public.github.io/docs/",
    "auth": "api_key+oauth2",
    "auth_hint": "API key pair (access/secret) via Basic auth (base64 access:secret) or optional HMAC request signature; OAuth2 Bearer token for published apps",
    "mcp": {
      "type": "official",
      "url": "https://fs-mcp.labs.onshape.app/mcp",
      "maintainer": "vendor",
      "remote_url": "https://fs-mcp.labs.onshape.app/mcp",
      "covers_full_api": false,
      "source_url": "https://www.onshape.com/en/blog/featurescript-mcp-server-enables-text-code-cad",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://fs-mcp.labs.onshape.app/mcp",
        "derived": true
      }
    },
    "free_tier": "free tier (public documents only); private documents need a paid plan",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create, read and modify Onshape CAD documents, parts, assemblies and drawings programmatically via REST API.",
    "notes": "Free-tier API access is limited to public documents; private/commercial use needs a paid Onshape subscription. FeatureScript MCP server is in early access via Onshape Labs (App Store subscription).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "2,500 API calls per user (Free plan; public documents only, non-commercial)",
      "period": "year",
      "source_url": "https://onshape-public.github.io/docs/auth/limits/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<ACCESS_KEY>:<SECRET_KEY>) or HMAC: Authorization: On <AccessKey>:HmacSHA256:<Signature>",
      "source_url": "https://onshape-public.github.io/docs/auth/apikeys/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://cad.onshape.com/api",
    "rate_limits": {
      "summary": "Annual call caps: Free/Standard 2,500 per user, Professional 5,000 per user, Enterprise 10,000 per full user; 429 on burst; public App Store OAuth apps exempt",
      "source_url": "https://onshape-public.github.io/docs/auth/limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "OAuth2Read",
        "OAuth2Write"
      ],
      "source_url": "https://onshape-public.github.io/docs/auth/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "cad-modeling"
    ],
    "no_auth": false,
    "call": {
      "operation": "get a document's metadata",
      "method": "GET",
      "url": "https://cad.onshape.com/api/v10/documents/{did}",
      "example": "curl https://cad.onshape.com/api/v10/documents/$ONSHAPE_DOCUMENT_ID -H 'Accept: application/json;charset=UTF-8; qs=0.09' -u $ONSHAPE_ACCESS_KEY:$ONSHAPE_SECRET_KEY",
      "response_fields": [
        "id",
        "name"
      ],
      "async": null,
      "source_url": "https://onshape-public.github.io/docs/api-intro/quickstart/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://cad.onshape.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 757,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://fs-mcp.labs.onshape.app/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 467,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "procore-api",
    "name": "Procore API",
    "category": "architecture-cad-bim",
    "homepage": "https://developers.procore.com",
    "docs": "https://developers.procore.com/reference/rest/v1",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <token> (OAuth2 authorization code / client credentials)",
    "mcp": {
      "type": "official",
      "url": "https://app.procore.com/rest/v1.0/mcp",
      "maintainer": "vendor",
      "remote_url": "https://app.procore.com/rest/v1.0/mcp",
      "tools": [
        "procore_read",
        "procore_write",
        "converse",
        "health",
        "whoami"
      ],
      "covers_full_api": true,
      "source_url": "https://raw.githubusercontent.com/procore/documentation/main/mcp/procore_ai_edge_mcp_setup.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://app.procore.com/rest/v1.0/mcp",
        "derived": true
      }
    },
    "free_tier": "free developer sandbox; production requires customer's paid Procore plan",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read and write construction project data - RFIs, submittals, drawings, budgets, schedules - via REST API.",
    "notes": "Requires joining the Procore Developer Program and OAuth app approval for production scopes; sandbox is free. Official AI Edge MCP (US02: us02.procore.com) authenticates with a Datagrid API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Developer Sandbox auto-created per registered app (seed data, separate OAuth credentials)",
      "source_url": "https://raw.githubusercontent.com/procore/documentation/main/platform_concepts/development_environments.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ACCESS_TOKEN> (token from https://login.procore.com/oauth/token)",
      "source_url": "https://raw.githubusercontent.com/procore/documentation/main/oauth/oauth_client_credentials.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.procore.com/rest/v1.0",
    "rate_limits": {
      "summary": "Hourly limit (60-min window) plus spike limit (10-s window); see X-Rate-Limit-* headers; failed calls count",
      "source_url": "https://raw.githubusercontent.com/procore/documentation/main/plan_your_app/rate_limiting.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "construction-management",
      "task-management"
    ],
    "no_auth": false,
    "call": {
      "operation": "list projects in a company",
      "method": "GET",
      "url": "https://api.procore.com/rest/v1.0/projects?company_id={company_id}",
      "example": "curl -H \"Authorization: Bearer $PROCORE_ACCESS_TOKEN\" -H \"Procore-Company-Id: $PROCORE_COMPANY_ID\" \"https://api.procore.com/rest/v1.0/projects?company_id=$PROCORE_COMPANY_ID\"",
      "response_fields": [
        "[].id",
        "[].name"
      ],
      "async": null,
      "source_url": "https://github.com/procore/documentation/blob/main/tutorials/tutorial_mpz.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 2,
        "url": "https://sourceforge.net/software/product/Procore/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.procore.com/rest/v1.0",
        "probes": 1,
        "up": 1,
        "median_ms": 207,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://app.procore.com/rest/v1.0/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 189,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/procore-api.json"
  },
  {
    "id": "rhino-compute-mcneel",
    "name": "Rhino.Compute (McNeel)",
    "category": "architecture-cad-bim",
    "homepage": "https://www.rhino3d.com/compute",
    "docs": "https://developer.rhino3d.com/guides/compute/",
    "auth": "api_key",
    "auth_hint": "optional RhinoComputeKey header; endpoint is otherwise open once deployed",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only: self-hosted, requires a Rhino license; core-hour billing at $0.10 per core per hour of Rhino uptime on Windows Server, no free allowance",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run Rhino/Grasshopper geometry operations headlessly via a stateless REST API you deploy yourself.",
    "notes": "Not a hosted SaaS signup - must self-host on Windows/Linux (IIS, Azure, AWS); requires a Rhino license.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "requires_card": true,
      "source_url": "https://developer.rhino3d.com/guides/compute/core-hour-billing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "RhinoComputeKey",
      "format": "RhinoComputeKey: <API_KEY>",
      "source_url": "https://developer.rhino3d.com/guides/compute/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "cad-modeling"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "speckle-api",
    "name": "Speckle API",
    "category": "architecture-cad-bim",
    "homepage": "https://speckle.systems",
    "docs": "https://docs.speckle.systems/dev/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <personal access token>, or OAuth2 for published apps",
    "mcp": {
      "type": "community",
      "url": "https://github.com/bimgeek/speckle-mcp",
      "maintainer": "community",
      "repo": "https://github.com/bimgeek/speckle-mcp",
      "covers_full_api": false,
      "source_url": "https://github.com/bimgeek/speckle-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": null
    },
    "free_tier": "free Explore plan (1 project, 3 users), unlimited API calls",
    "sdk": [
      "python",
      "javascript",
      "dotnet"
    ],
    "openapi": null,
    "llms_txt": "https://docs.speckle.systems/llms.txt",
    "desc_en": "Send, receive and query 3D/BIM model data across CAD tools (Revit, Rhino, Grasshopper, Tekla) via GraphQL API and SDKs.",
    "notes": "Open-source data platform; free tier has unlimited API calls but limits project/user counts.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Explore plan: 1 project, up to 3 users, 100 versions, unlimited API calls",
      "source_url": "https://www.speckle.systems/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PERSONAL_ACCESS_TOKEN>",
      "source_url": "https://docs.speckle.systems/developers/authentication/pats.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app.speckle.systems/graphql",
    "oauth_scopes": {
      "scopes": [
        "streams:read"
      ],
      "source_url": "https://docs.speckle.systems/developers/authentication/pats.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "bim-data",
      "cad-modeling"
    ],
    "no_auth": false,
    "call": {
      "operation": "list projects in a workspace via GraphQL",
      "method": "POST",
      "url": "https://app.speckle.systems/graphql",
      "example": "curl -X POST https://app.speckle.systems/graphql -H \"Authorization: Bearer $SPECKLE_TOKEN\" -H \"Content-Type: application/json\" -d '{\"query\":\"query($workspaceId: String!){ workspace(id: $workspaceId){ projects { totalCount items { id name createdAt } } } }\",\"variables\":{\"workspaceId\":\"{workspace_id}\"}}'",
      "response_fields": [
        "data.workspace.projects.totalCount",
        "data.workspace.projects.items[].id",
        "data.workspace.projects.items[].name",
        "errors"
      ],
      "async": null,
      "source_url": "https://docs.speckle.systems/developers/api/graphql",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app.speckle.systems/api/graphql",
        "probes": 1,
        "up": 1,
        "median_ms": 464,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "trimble-connect-api",
    "name": "Trimble Connect API",
    "category": "architecture-cad-bim",
    "homepage": "https://developer.trimble.com",
    "docs": "https://developer.trimble.com/docs/connect",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <token> (Trimble Identity OAuth2)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "check pricing",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage Trimble Connect projects, files, BIM models, issues/topics and metadata via REST APIs (Core, Model, Organizer).",
    "notes": "Requires a Trimble Identity developer account and a registered application.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <TRIMBLE_IDENTITY_TOKEN>",
      "source_url": "https://developer.trimble.com/docs/connect",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Not published; HTTP 429 Too Many Requests should be retried. Regional base URLs must be discovered via the /regions endpoint",
      "source_url": "https://developer.trimble.com/docs/connect/reference",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "bim-data"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "zoo-text-to-cad-api-kittycad",
    "name": "Zoo Text-to-CAD API (KittyCAD)",
    "category": "architecture-cad-bim",
    "homepage": "https://zoo.dev",
    "docs": "https://zoo.dev/docs/api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/KittyCAD/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/KittyCAD/mcp",
      "tools": [
        "zoo_execute_kcl",
        "mock_execute_kcl",
        "exec_kcl_project",
        "get_modeling_sessions",
        "start_modeling_session",
        "stop_modeling_session",
        "snapshot",
        "import_cad_file",
        "parse_unit",
        "normalize_ext"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/KittyCAD/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "start free trial credits, then usage-based pay-as-you-go",
    "sdk": [
      "python",
      "typescript",
      "rust",
      "go"
    ],
    "openapi": "https://api.zoo.dev",
    "llms_txt": null,
    "desc_en": "Generate 3D CAD models from text prompts and run modeling/file-conversion operations via REST API.",
    "notes": "ML endpoints handle text-to-CAD generation; base API URL is api.zoo.dev, OpenAPI schema served from there.",
    "verified": "2026-09-24",
    "free_plan": {
      "quota": "Start free, then pay-as-you-go; some plans include monthly API usage",
      "source_url": "https://zoo.dev/api-pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ZOO_API_TOKEN>",
      "source_url": "https://zoo.dev/docs/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.zoo.dev",
    "operations": [
      "text-to-3d",
      "cad-modeling"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.zoo.dev",
        "probes": 1,
        "up": 1,
        "median_ms": 428,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "eraser-api-diagramgpt",
    "name": "Eraser API (DiagramGPT)",
    "category": "diagrams-software-architecture",
    "homepage": "https://www.eraser.io",
    "docs": "https://docs.eraser.io/reference/getting-started",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_token>",
    "mcp": {
      "type": "official",
      "url": "https://app.eraser.io/api/mcp",
      "maintainer": "vendor",
      "remote_url": "https://app.eraser.io/api/mcp",
      "repo": "https://www.npmjs.com/package/@eraserlabs/eraser-mcp",
      "source_url": "https://docs.eraser.io/mcp.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://app.eraser.io/api/mcp",
        "derived": true
      }
    },
    "free_tier": "paid only - API tokens require an active paid team plan",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate diagrams from text prompts (DiagramGPT) and manage Eraser files programmatically via REST API.",
    "notes": "No free tier for API access - tokens are only issued to paid teams, not free accounts. The official remote MCP server (OAuth or API key; local npm @eraserlabs/eraser-mcp) is free within in-app free-tier limits.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.eraser.io/reference/api-token.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN>",
      "source_url": "https://docs.eraser.io/reference/api-token.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app.eraser.io/api",
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app.eraser.io/api",
        "probes": 1,
        "up": 1,
        "median_ms": 417,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://app.eraser.io/api/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 378,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "icepanel-api",
    "name": "IcePanel API",
    "category": "diagrams-software-architecture",
    "homepage": "https://icepanel.io",
    "docs": "https://developer.icepanel.io/",
    "auth": "api_key",
    "auth_hint": "X-API-Key: <ICEPANEL_API_KEY>; OpenAPI 3.1 spec published at api.icepanel.io",
    "mcp": {
      "type": "official",
      "url": "https://mcp.icepanel.io/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.icepanel.io/mcp",
      "covers_full_api": false,
      "source_url": "https://docs.icepanel.io/integrations/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.icepanel.io/mcp",
        "derived": true
      }
    },
    "free_tier": "free tier: 10,000 read requests/mo, 1,000 write requests/mo, 5 import/export requests/mo",
    "sdk": [],
    "openapi": "https://api.icepanel.io/",
    "llms_txt": "https://developer.icepanel.io/llms.txt",
    "desc_en": "Programmatically create, read, import, and export C4-style architecture landscapes and models via REST API.",
    "notes": "Free plan has monthly request caps; higher volume requires Growth ($40/editor/mo), Scale ($80/editor/mo) or Enterprise. Official remote MCP (OAuth) is documented as paid plans only; the local IcePanel/mcp-server repo is deprecated.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "10,000 read, 1,000 write, 5 import and 5 export API requests",
      "period": "month",
      "source_url": "https://icepanel.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <ICEPANEL_API_KEY>",
      "source_url": "https://developer.icepanel.io/developer-guide/getting-started/quickstart.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.icepanel.io/v1",
    "rate_limits": {
      "summary": "GET/HEAD 2,400/min; POST/PUT/PATCH/DELETE 60/min; POST /user/* 10/min; 429 with Retry-After",
      "source_url": "https://developer.icepanel.io/developer-guide/getting-started/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": false,
    "call": {
      "operation": "list model objects in a landscape",
      "method": "GET",
      "url": "https://api.icepanel.io/v1/landscapes/{landscapeId}/versions/latest/model/objects",
      "example": "curl \"https://api.icepanel.io/v1/landscapes/$ICEPANEL_LANDSCAPE_ID/versions/latest/model/objects\" -H \"X-API-Key: $ICEPANEL_API_KEY\"",
      "response_fields": [
        "modelObjects[].id",
        "modelObjects[].name",
        "modelObjects[].type",
        "modelObjects[].parentId",
        "modelObjects[].status"
      ],
      "async": null,
      "source_url": "https://developer.icepanel.io/developer-guide/getting-started/quickstart.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/IcePanel/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.icepanel.io/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 384,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.icepanel.io/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 309,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/icepanel-api.json"
  },
  {
    "id": "kroki",
    "name": "Kroki",
    "category": "diagrams-software-architecture",
    "homepage": "https://kroki.io",
    "docs": "https://docs.kroki.io/kroki/",
    "auth": "none",
    "auth_hint": "",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free, no key; public hosted instance at kroki.io sponsored by Exoscale (no SLA)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Render 25+ diagram-as-code formats (PlantUML, Mermaid, C4, GraphViz, BPMN, etc.) from text via a free HTTP GET/POST API.",
    "notes": "No authentication or signup required; text diagram in, image out; can be self-hosted via Docker for privacy or higher volume.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://kroki.io/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "GET https://kroki.io/{diagram_type}/{output_format}/{deflate+base64 source} or POST with text/plain body",
      "source_url": "https://docs.kroki.io/kroki/setup/usage/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://kroki.io",
    "async_jobs": {
      "value": false,
      "how": "synchronous: image returned in the HTTP response",
      "source_url": "https://docs.kroki.io/kroki/setup/usage/"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": true,
    "call": {
      "operation": "render a diagram from text source",
      "method": "POST",
      "url": "https://kroki.io/{diagram_type}/{output_format}",
      "example": "curl -X POST https://kroki.io/graphviz/svg -H \"Content-Type: text/plain\" --data-raw 'digraph G {Hello->World}'",
      "response_fields": [
        "response body: rendered image (SVG/PNG/PDF per output_format)"
      ],
      "source_url": "https://docs.kroki.io/kroki/setup/usage/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://kroki.io",
        "probes": 1,
        "up": 1,
        "median_ms": 820,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "lucid-lucidchart-rest-api",
    "name": "Lucid (Lucidchart) REST API",
    "category": "diagrams-software-architecture",
    "homepage": "https://developer.lucid.co",
    "docs": "https://developer.lucid.co",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <api_key> or OAuth 2.0 access token",
    "mcp": {
      "type": "official",
      "url": "https://mcp.lucid.app/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.lucid.app/mcp",
      "covers_full_api": false,
      "source_url": "https://community.lucid.co/community-news-and-announcements-9/introducing-the-lucid-model-context-protocol-mcp-server-12230",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.lucid.app/mcp",
        "derived": true
      }
    },
    "free_tier": "check pricing",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://developer.lucid.co/llms.txt",
    "desc_en": "Create, read, search, and manage Lucidchart documents and folders programmatically via REST API.",
    "notes": "Requires enabling Developer Tools on the account first; supports both API-key and OAuth 2.0 client-credential flows; exact free-tier API quota not published in docs. The official MCP server (OAuth, since 2025-11-18) must be enabled by an account admin.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY or OAuth token> + Lucid-Api-Version: <version>",
      "source_url": "https://lucid.readme.io/reference/headers.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.lucid.co",
    "oauth_scopes": {
      "scopes": [
        "lucidchart.document.content",
        "lucidchart.document.content:readonly",
        "folder",
        "user.profile"
      ],
      "source_url": "https://lucid.readme.io/reference/access-scopes.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.lucid.co",
        "probes": 1,
        "up": 1,
        "median_ms": 295,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.lucid.app/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 311,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "mermaid-chart-api",
    "name": "Mermaid Chart API",
    "category": "diagrams-software-architecture",
    "homepage": "https://www.mermaidchart.com",
    "docs": "https://mermaid.ai/docs/ai/mcp-server",
    "auth": "api_key",
    "auth_hint": "API token from account settings; MCP tools use bearer-style auth",
    "mcp": {
      "type": "official",
      "url": "https://mcp.mermaid.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.mermaid.ai/mcp",
      "tools": [
        "validate_and_render_mermaid_diagram",
        "get_diagram_title",
        "get_diagram_summary",
        "search_mermaid_icons",
        "get_mermaid_syntax_document",
        "list_tools",
        "list_mermaid_chart_projects",
        "list_mermaid_chart_diagrams",
        "create_mermaid_chart_diagram",
        "get_mermaid_chart_diagram",
        "update_mermaid_chart_diagram"
      ],
      "source_url": "https://mermaid.ai/docs/ai/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.mermaid.ai/mcp",
        "headers": {
          "Authorization": "$MERMAID_CHART_TOKEN"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://mermaid.ai/docs/ai/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "unauthenticated MCP validate/render tools are free; saving to a Mermaid Chart account needs a token, check pricing for limits",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Validate, render, and save Mermaid diagrams via Mermaid Chart's official MCP server using an account API token.",
    "notes": "Broad REST API docs are gated behind a Google Form request (contact-to-access); the MCP server (HTTP https://mcp.mermaid.ai/mcp, SSE https://mcp.mermaid.ai/sse) is the practical self-serve agent interface today.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://mermaid.ai/docs/ai/mcp-server",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <MERMAID_CHART_API_TOKEN> (only for Mermaid Chart account tools)",
      "source_url": "https://mermaid.ai/docs/ai/mcp-server",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.mermaid.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 561,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "miro-rest-api",
    "name": "Miro REST API",
    "category": "diagrams-software-architecture",
    "homepage": "https://developers.miro.com",
    "docs": "https://developers.miro.com/docs",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token> (OAuth 2.0 authorization code flow, or OAuth 2.1 for MCP)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.miro.com/",
      "maintainer": "vendor",
      "remote_url": "https://mcp.miro.com/",
      "tools": [
        "board_create",
        "board_search_boards",
        "canvas_get_canvas_composer_skill",
        "canvas_load_format_skill",
        "canvas_search",
        "canvas_create_from_svg",
        "canvas_read_as_svg",
        "canvas_update_from_svg",
        "comment_list_comments",
        "comment_reply",
        "comment_resolve",
        "image_create",
        "image_get_data",
        "image_get_upload_url",
        "image_get_url",
        "table_create",
        "table_list_rows",
        "table_sync_rows",
        "prototype_read",
        "prototype_create"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.miro.com/docs/miro-mcp-tools.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.miro.com/",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developers.miro.com/docs/connecting-to-miro-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: up to 3 editable team boards; MCP on all plans, capped per day at 100 tool calls on Free (Starter 500, Business 2,000, Enterprise 10,000)",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://developers.miro.com/llms.txt",
    "desc_en": "Create/read boards and items via REST API, or use Miro's official MCP server to search, build, and summarize boards.",
    "notes": "REST access tokens expire in 1 hour (refresh token 60 days); MCP server supports OIDC for enterprise data-safety controls.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "100 MCP tool calls",
      "period": "day",
      "source_url": "https://developers.miro.com/docs/mcp-usage-and-daily-limits.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://developers.miro.com/docs/rest-api-reference-guide",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.miro.com/v2",
    "rate_limits": {
      "summary": "Credit-based per user per app: global 100,000 credits/min; Level 1 call = 50 credits (2,000 req/min), Level 2 = 100 credits (1,000 req/min)",
      "source_url": "https://developers.miro.com/reference/rate-limiting.md",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "boards:read",
        "boards:write",
        "identity:read"
      ],
      "source_url": "https://developers.miro.com/reference/scopes.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "whiteboard-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a sticky note on a board",
      "method": "POST",
      "url": "https://api.miro.com/v2/boards/{board_id}/sticky_notes",
      "example": "curl -X POST https://api.miro.com/v2/boards/$MIRO_BOARD_ID/sticky_notes -H \"Authorization: Bearer $MIRO_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"data\":{\"content\":\"Hello\",\"shape\":\"square\"},\"position\":{\"x\":100,\"y\":100}}'",
      "response_fields": [
        "id",
        "type",
        "data.content",
        "links.self"
      ],
      "async": null,
      "source_url": "https://developers.miro.com/reference/create-sticky-note-item-1.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.miro.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 409,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.miro.com/",
        "probes": 1,
        "up": 1,
        "median_ms": 323,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "napkin-ai-api",
    "name": "Napkin AI API",
    "category": "diagrams-software-architecture",
    "homepage": "https://www.napkin.ai",
    "docs": "https://api.napkin.ai/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_token>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://api.napkin.ai/faq",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "included on every plan; any account can create a token and call the API, limited by credits",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate diagrams, flowcharts, mind maps, and charts from text via REST API, exporting to SVG, PNG, or PPT.",
    "notes": "Credit-based usage; requests fail with a no_credits error once a team's credits are exhausted.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "500 AI credits per week (shared with the app)",
      "watermark": true,
      "source_url": "https://www.napkin.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN>",
      "source_url": "https://api.napkin.ai/api/create-visual-request",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.napkin.ai/v1",
    "rate_limits": {
      "summary": "POST /v1/visual throttled per second/minute/hour/day by plan; X-RateLimit-* and Retry-After headers",
      "source_url": "https://api.napkin.ai/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v1/visual returns request id; poll GET /v1/visual/{id}/status; file URLs expire after 30 min",
      "source_url": "https://api.napkin.ai/"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a visual from text",
      "method": "POST",
      "url": "https://api.napkin.ai/v1/visual",
      "example": "curl -X POST https://api.napkin.ai/v1/visual -H \"Authorization: Bearer $NAPKIN_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"format\":\"svg\",\"content\":\"Napkin API\"}'",
      "response_fields": [
        "id",
        "status"
      ],
      "async": "poll GET https://api.napkin.ai/v1/visual/{request-id}/status until status is completed, then download each generated_files URL with the same Authorization header (URLs expire after 30 min)",
      "source_url": "https://api.napkin.ai/api/create-visual-request",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.napkin.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 463,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "plantuml-server-api",
    "name": "PlantUML Server API",
    "category": "diagrams-software-architecture",
    "homepage": "https://plantuml.com",
    "docs": "https://plantuml.com/server",
    "auth": "none",
    "auth_hint": "",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "vendor",
      "repo": "https://github.com/plantuml/plantuml-mcp",
      "tools": [
        "plantuml_version"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/plantuml/plantuml-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "free, no key; public hosted server at plantuml.com/plantuml",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Render UML and architecture-as-code diagrams to PNG/SVG/ASCII via a free public HTTP GET API using encoded diagram text.",
    "notes": "Extremely widely used for UML/C4/architecture-as-code; no signup; self-hostable via plantuml.war for privacy or rate-limit control. The official plantuml/plantuml-mcp is an MVP exposing only plantuml_version (no rendering yet).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://plantuml.com/server",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "GET https://www.plantuml.com/plantuml/{png|svg|txt}/<ENCODED_SOURCE>",
      "source_url": "https://plantuml.com/server",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://www.plantuml.com/plantuml",
    "async_jobs": {
      "value": false,
      "how": "synchronous: image returned in the HTTP response",
      "source_url": "https://plantuml.com/server"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": true,
    "call": {
      "operation": "render a diagram to PNG",
      "method": "GET",
      "url": "https://www.plantuml.com/plantuml/png/{ENCODED_SOURCE}",
      "example": "curl -o diagram.png https://www.plantuml.com/plantuml/png/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000",
      "response_fields": [
        "body: PNG image bytes (use /svg/ for SVG, /txt/ for ASCII)",
        "Content-Type"
      ],
      "async": null,
      "source_url": "https://plantuml.com/server",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://www.plantuml.com/plantuml",
        "probes": 1,
        "up": 1,
        "median_ms": 799,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "structurizr",
    "name": "Structurizr",
    "category": "diagrams-software-architecture",
    "homepage": "https://structurizr.com",
    "docs": "https://docs.structurizr.com/cloud/workspace-api",
    "auth": "api_key",
    "auth_hint": "X-Authorization header: apiKey:base64(HMAC-SHA256(apiSecret, digest)) plus Nonce header",
    "mcp": {
      "type": "official",
      "url": "https://mcp.structurizr.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.structurizr.com/mcp",
      "tools": [
        "inspect",
        "parse",
        "validate",
        "export-mermaid",
        "export-c4plantuml",
        "export-plantuml"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.structurizr.com/ai/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.structurizr.com/mcp",
        "derived": true
      }
    },
    "free_tier": "free tier: workspaces up to 0.5MB; paid plans raise the limit to 5MB",
    "sdk": [
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create and update C4-model software architecture diagram workspaces as JSON via a signed HTTPS API.",
    "notes": "Cloud service is end-of-life (migrate to playground, local or self-hosted server per docs.structurizr.com/cloud). Uses a nonstandard HMAC signing scheme rather than a bearer token; docs recommend the Structurizr CLI or client libraries over the raw API.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Authorization",
      "format": "X-Authorization: <apiKey>:<base64(HMAC-SHA256(apiSecret, digest))> + Nonce + Content-MD5 headers",
      "source_url": "https://docs.structurizr.com/cloud/workspace-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.structurizr.com",
    "rate_limits": {
      "summary": "Rate limiting enforced on all workspace API calls (GET and PUT); no number published",
      "source_url": "https://docs.structurizr.com/cloud/workspace-api",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "diagram-rendering"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.structurizr.com",
        "probes": 1,
        "up": 1,
        "median_ms": 1062,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.structurizr.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 621,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "canva-connect-api",
    "name": "Canva Connect API",
    "category": "design-ui",
    "homepage": "https://www.canva.dev",
    "docs": "https://www.canva.dev/docs/connect/",
    "auth": "oauth2",
    "auth_hint": "OAuth2 Authorization Code + PKCE (SHA-256); Authorization: Bearer <access_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.canva.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.canva.com/mcp",
      "tools": [
        "search-designs",
        "get-design",
        "get-design-content",
        "generate-design",
        "create-design-from-candidate",
        "export-design",
        "upload-asset-from-url",
        "autofill-design",
        "resize-design",
        "start-editing-transaction",
        "perform-editing-operations",
        "commit-editing-transaction",
        "comment-on-design",
        "create-folder"
      ],
      "source_url": "https://www.canva.dev/docs/apps/mcp/tools/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.canva.com/mcp",
        "derived": true
      }
    },
    "free_tier": "check pricing (free to build/test; public apps require Canva review before production use)",
    "sdk": [],
    "openapi": "https://www.canva.dev/sources/connect/api/latest/api.yml",
    "llms_txt": null,
    "desc_en": "Programmatically create, autofill, and export Canva designs, and manage assets and comments via a REST API.",
    "notes": "Auth is OAuth2 only (no raw API key/static token option). Apps using preview/beta scopes cannot pass Canva's required review for production/public use. A general apps llms.txt exists at canva.dev/docs/apps/llms.txt but no Connect-specific one was found.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <access_token>",
      "source_url": "https://www.canva.dev/docs/connect/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.canva.com/rest/v1",
    "rate_limits": {
      "summary": "Per endpoint; e.g. create export job 20 req/min per user, 750 exports/5 min per app",
      "source_url": "https://www.canva.dev/docs/connect/api-reference/exports/create-design-export-job/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "design:meta:read",
        "design:content:read",
        "design:content:write",
        "asset:read",
        "asset:write",
        "folder:read",
        "comment:write"
      ],
      "source_url": "https://www.canva.dev/docs/connect/authentication/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v1/exports returns a job id; poll GET /v1/exports/{exportId} until success/failed",
      "source_url": "https://www.canva.dev/docs/connect/api-reference/exports/create-design-export-job/"
    },
    "operations": [
      "design-templating",
      "design-file-access"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.canva.com/rest/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 119,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.canva.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 298,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "figma-rest-api-dev-mode-mcp",
    "name": "Figma REST API / Dev Mode MCP",
    "category": "design-ui",
    "homepage": "https://www.figma.com/developers",
    "docs": "https://developers.figma.com/docs/rest-api/",
    "auth": "api_key+oauth2",
    "auth_hint": "X-Figma-Token: <personal-access-token> or OAuth2 Bearer token",
    "mcp": {
      "type": "official",
      "url": "https://mcp.figma.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.figma.com/mcp",
      "tools": [
        "get_design_context",
        "get_metadata",
        "get_screenshot",
        "get_variable_defs",
        "get_code_connect_map",
        "search_design_system",
        "get_figjam",
        "download_assets",
        "create_new_file",
        "generate_figma_design",
        "generate_diagram",
        "use_figma",
        "upload_assets",
        "whoami"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.figma.com/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free: personal access tokens work on free plan, rate-limited per seat/plan tier; MCP free during beta",
    "sdk": [],
    "openapi": "https://github.com/figma/rest-api-spec",
    "llms_txt": "https://developers.figma.com/llms.txt",
    "desc_en": "Read and write Figma file/comment/component data via REST, and feed live design context to coding agents via the official Dev Mode MCP server.",
    "notes": "REST API rate limits vary by seat/plan (e.g. Tier 1 ~10-20 req/min), returns 429 with Retry-After. Remote MCP (mcp.figma.com/mcp) works on all plans and is free during beta, will move to usage-based pricing; local desktop MCP variant requires a paid Dev/Full seat.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Starter plan: Tier 1 endpoints 10 req/min for Dev/Full seats; View/Collab seats up to 20 Tier 1 calls/month",
      "source_url": "https://developers.figma.com/docs/rest-api/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Figma-Token",
      "format": "X-Figma-Token: <personal_access_token> (OAuth apps: Authorization: Bearer <token>)",
      "source_url": "https://developers.figma.com/docs/rest-api/personal-access-tokens/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.figma.com/v1",
    "rate_limits": {
      "summary": "Tiered per seat and plan: Tier 1 10-20 req/min, Tier 2 25-100 req/min, Tier 3 50-150 req/min for Dev/Full seats; View/Collab much lower",
      "source_url": "https://developers.figma.com/docs/rest-api/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "file_content:read",
        "file_metadata:read",
        "file_comments:read",
        "file_comments:write",
        "file_variables:read",
        "current_user:read"
      ],
      "source_url": "https://developers.figma.com/docs/rest-api/scopes/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "design-file-access",
      "ui-generation",
      "diagram-rendering"
    ],
    "no_auth": false,
    "call": {
      "operation": "read a Figma file (document tree, components, styles)",
      "method": "GET",
      "url": "https://api.figma.com/v1/files/{file_key}",
      "example": "curl https://api.figma.com/v1/files/$FIGMA_FILE_KEY -H \"X-Figma-Token: $FIGMA_TOKEN\"",
      "response_fields": [
        "name",
        "lastModified",
        "version",
        "document",
        "components"
      ],
      "async": null,
      "source_url": "https://developers.figma.com/docs/rest-api/file-endpoints/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "figma/rest-api-spec",
        "stars": 219,
        "forks": 29,
        "pushed_at": "2026-09-16",
        "archived": false,
        "url": "https://github.com/figma/rest-api-spec",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.figma.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 437,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.figma.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 264,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "framer",
    "name": "Framer",
    "category": "design-ui",
    "homepage": "https://www.framer.com",
    "docs": "https://www.framer.com/developers/server-api-quick-start",
    "auth": "api_key",
    "auth_hint": "Project-scoped API key generated in Site Settings, passed to the framer-api SDK's connect() function",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free: Server API is free while in beta; Framer plans per-use pricing with a monthly free allowance later",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Automate publishing of Framer sites programmatically (get project info, publish previews, promote to production) via a Node SDK.",
    "notes": "Framer's genuine server-side surface is narrow: the Server API (npm package framer-api) only covers publish/deploy automation, not general design editing. The in-editor Plugin API, Code Components, and Fetch are for the visual editor/site runtime, not agent-callable server-side. No MCP server confirmed; 'External Agents' docs reference coding-agent workflows (Claude Code/Cursor) rather than a formal MCP endpoint.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Server API free of charge during beta",
      "source_url": "https://www.framer.com/developers/server-api-faq",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "format": "connect(projectUrl, <FRAMER_API_KEY>) via the framer-api npm SDK (WebSocket, no REST header)",
      "source_url": "https://www.framer.com/developers/server-api-quick-start",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "static-site-hosting"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Framer/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/framer.json"
  },
  {
    "id": "penpot-api",
    "name": "Penpot API",
    "category": "design-ui",
    "homepage": "https://penpot.app",
    "docs": "https://design.penpot.app/api/_doc",
    "auth": "api_key",
    "auth_hint": "Authorization: Token <personal-access-token>",
    "mcp": {
      "type": "official",
      "url": "https://design.penpot.app/mcp/stream",
      "maintainer": "vendor",
      "remote_url": "https://design.penpot.app/mcp/stream",
      "repo": "https://github.com/penpot/penpot/tree/develop/mcp",
      "source_url": "https://help.penpot.app/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://design.penpot.app/mcp/stream?userToken=$PENPOT_MCP_KEY",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://help.penpot.app/mcp/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: free cloud account (design.penpot.app) plus free, open-source self-hosting",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read, create, and modify Penpot design files, comments, and webhooks via a token-authenticated RPC/REST API, or via the official MCP server.",
    "notes": "API is RPC-style; methods are listed at https://design.penpot.app/api/main/methods/<name>, no OpenAPI file; open source, self-hostable. Remote MCP takes ?userToken=<MCP key> and needs the MCP plugin open in a Penpot browser tab; local: npx @penpot/mcp@stable.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Professional plan $0: up to 10GB storage, up to 8 team members",
      "period": "month",
      "source_url": "https://penpot.app/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token <access_token>",
      "source_url": "https://design.penpot.app/api/_doc",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://design.penpot.app/api/main/methods",
    "rate_limits": {
      "summary": "Per-user rate limit (all tokens of a user share it); values not published",
      "source_url": "https://design.penpot.app/api/_doc",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "design-file-access"
    ],
    "no_auth": false,
    "call": {
      "operation": "get a design file by id",
      "method": "POST",
      "url": "https://design.penpot.app/api/main/methods/get-file",
      "example": "curl -X POST https://design.penpot.app/api/main/methods/get-file -H \"Authorization: Token $PENPOT_ACCESS_TOKEN\" -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{\"id\": \"{file_id}\"}'",
      "response_fields": [
        "id",
        "name",
        "revn",
        "projectId",
        "data"
      ],
      "async": null,
      "source_url": "https://design.penpot.app/api/_doc",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/penpot/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://design.penpot.app/api/main/methods",
        "probes": 1,
        "up": 1,
        "median_ms": 771,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/penpot-api.json"
  },
  {
    "id": "v0-platform-api-vercel",
    "name": "v0 Platform API (Vercel)",
    "category": "design-ui",
    "homepage": "https://v0.app",
    "docs": "https://v0.app/docs/api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <V0_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://v0.app/api/mcp",
      "maintainer": "vendor",
      "remote_url": "https://v0.app/api/mcp",
      "tools": [
        "chats.create",
        "chats.createAsync",
        "chats.getUrl",
        "chats.getPreview",
        "chats.getFiles",
        "chats.deploy",
        "messages.send",
        "messages.sendAsync",
        "messages.resolveAsync",
        "messages.get"
      ],
      "covers_full_api": false,
      "source_url": "https://v0.app/docs/api/v2/guides/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://v0.app/api/mcp",
        "derived": true
      }
    },
    "free_tier": "Free tier: v0 Free plan includes $5 of credits per month (7 messages/day); Platform API use on Free not confirmed, credits also included on Premium/Team plans",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate full UI/frontend code from natural-language prompts, iterate via chat, and deploy the result directly to Vercel via REST API.",
    "notes": "Different product from Vercel's core platform API; API access is tied to v0 plan credits rather than a standalone free signup. The official remote MCP server (v0.app/api/mcp) uses OAuth, not the API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "$5 of included credits (Free plan, 7 messages/day); API use on Free not confirmed",
      "period": "month",
      "source_url": "https://v0.app/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <V0_API_KEY>",
      "source_url": "https://v0.app/docs/api/platform/reference/chats/create",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.v0.dev/v2",
    "rate_limits": {
      "summary": "10,000 API requests/day, 1,000 chat messages/day, 100 deployments/day",
      "source_url": "https://v0.app/docs/api/platform/overview",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "responseMode=async returns a placeholder message; poll the chat/message by id (or use experimental SSE stream)",
      "source_url": "https://v0.app/docs/api/platform/reference/chats/create"
    },
    "operations": [
      "ui-generation",
      "serverless-deploy"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a chat that generates an app from a prompt (blocks until done)",
      "method": "POST",
      "url": "https://api.v0.dev/v2/chats",
      "example": "curl -X POST \"https://api.v0.dev/v2/chats\" -H \"Authorization: Bearer $V0_API_KEY\" -H \"Content-Type: application/json\" -d '{\"message\":\"Create a project management dashboard with a kanban board\"}'",
      "response_fields": [
        "chat.id",
        "chat.title",
        "usage.creditsCost.total"
      ],
      "async": null,
      "source_url": "https://v0.app/docs/api/v2/reference/chats/create-chat",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Per token, drawn from plan credits: v0 Mini $0.20/$1.20, v0 Pro $2/$10, v0 Max $5/$25, v0 Max Fast $10/$50 per 1M input/output tokens",
      "source_url": "https://v0.app/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.v0.dev/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 401,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://v0.app/api/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 434,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "webflow-data-api",
    "name": "Webflow Data API",
    "category": "design-ui",
    "homepage": "https://developers.webflow.com",
    "docs": "https://developers.webflow.com/data/reference/rest-introduction",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <site-token|workspace-token|oauth-token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.webflow.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.webflow.com/mcp",
      "repo": "https://github.com/webflow/mcp-server",
      "source_url": "https://developers.webflow.com/mcp/reference/getting-started",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.webflow.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developers.webflow.com/mcp/installing/claude-code",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "check pricing (API access itself is free with a token; some CMS/publish actions require the site to be on a paid Webflow plan)",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://developers.webflow.com/llms.txt",
    "desc_en": "Create/update CMS collections, items, and pages, and publish Webflow sites programmatically via REST API or the official MCP server.",
    "notes": "Three token types: Site tokens (single site), Workspace tokens (multi-site read-only), OAuth tokens (multi-site apps). Official SDKs exist but specific languages weren't confirmed in docs excerpt; rate limits documented separately under 'Rate Limiting'.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <site_token|workspace_token|oauth_token>",
      "source_url": "https://developers.webflow.com/data/reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.webflow.com/v2",
    "rate_limits": {
      "summary": "60 req/min on Starter/Basic site plans, 120 req/min on CMS/eCommerce/Business; 429 with Retry-After",
      "source_url": "https://developers.webflow.com/data/reference/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "sites:read",
        "sites:write",
        "cms:read",
        "cms:write",
        "pages:read",
        "pages:write",
        "assets:read",
        "forms:read"
      ],
      "source_url": "https://developers.webflow.com/data/reference/scopes",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "no-code-database",
      "static-site-hosting"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.webflow.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 310,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.webflow.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 294,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "adobe-pdf-services-api",
    "name": "Adobe PDF Services API",
    "category": "presentations-documents",
    "homepage": "https://developer.adobe.com/document-services/",
    "docs": "https://developer.adobe.com/document-services/docs/overview/pdf-services-api/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token> obtained via OAuth Server-to-Server client_credentials grant (client_id/client_secret)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: 500 document transactions/month, no credit card required",
    "sdk": [
      "python",
      "java",
      "nodejs",
      "dotnet"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Programmatically create, convert, combine, compress, OCR, and extract data from PDF documents.",
    "notes": "As of January 2025, JWT/service-account auth is deprecated; all new integrations must use OAuth Server-to-Server (2-legged client-credentials) via Adobe Developer Console.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "500 Document Transactions",
      "period": "month",
      "source_url": "https://developer.adobe.com/document-services/docs/overview/limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <access_token> + X-API-Key: <client_id> (token from POST https://pdf-services.adobe.io/token)",
      "source_url": "https://developer.adobe.com/document-services/docs/overview/pdf-services-api/gettingstarted/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://pdf-services.adobe.io",
    "rate_limits": {
      "summary": "Free tier 25 RPM, Enterprise 100 RPM; max file size 100MB",
      "source_url": "https://developer.adobe.com/document-services/docs/overview/limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "job creation returns a location header; poll it until status done/failed",
      "source_url": "https://developer.adobe.com/document-services/docs/overview/pdf-services-api/gettingstarted/"
    },
    "operations": [
      "pdf-processing",
      "ocr",
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "OCR an uploaded PDF",
      "method": "POST",
      "url": "https://pdf-services.adobe.io/operation/ocr",
      "example": "curl -X POST https://pdf-services.adobe.io/operation/ocr -H \"x-api-key: $ADOBE_CLIENT_ID\" -H \"Authorization: Bearer $ADOBE_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"assetID\":\"<ASSET_ID>\",\"ocrLang\":\"en-US\"}'",
      "response_fields": [
        "HTTP 201",
        "location header",
        "status",
        "asset.downloadUri"
      ],
      "async": "poll GET the URL from the location header until status is done, then download asset.downloadUri (upload the PDF first via POST /assets + PUT to uploadUri; token from POST /token)",
      "source_url": "https://developer.adobe.com/document-services/docs/overview/pdf-services-api/howtos/ocr-pdf",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://pdf-services.adobe.io",
        "probes": 1,
        "up": 1,
        "median_ms": 308,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "aws-textract",
    "name": "AWS Textract",
    "category": "presentations-documents",
    "homepage": "https://aws.amazon.com/textract/",
    "docs": "https://docs.aws.amazon.com/textract/latest/dg/what-is.html",
    "auth": "cloud_iam",
    "auth_hint": "AWS SigV4-signed requests using IAM access key/secret or role credentials",
    "mcp": {
      "type": "official",
      "url": "https://aws-mcp.us-east-1.api.aws/mcp",
      "maintainer": "vendor",
      "remote_url": "https://aws-mcp.us-east-1.api.aws/mcp",
      "repo": "https://github.com/aws/mcp-proxy-for-aws",
      "tools": [
        "aws___run_script",
        "aws___get_presigned_url",
        "aws___get_tasks",
        "aws___search_documentation",
        "aws___read_documentation",
        "aws___retrieve_skill",
        "aws___list_regions",
        "aws___get_regional_availability"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.aws.amazon.com/aws-mcp/latest/userguide/understanding-mcp-server-tools.html",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "python",
        "args": [
          "mcp_server/main.py",
          "stdio"
        ],
        "docs_only": false,
        "source_url": "https://github.com/ag2-mcp-servers/amazon-textract",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: new AWS customers get 3 months free, per month 1,000 pages DetectDocumentText, 100 pages AnalyzeDocument forms/tables/layout/queries, 100 AnalyzeExpense/AnalyzeID, 2,000 pages AnalyzeLending; card required",
    "sdk": [
      "python",
      "java",
      "javascript",
      "dotnet",
      "go",
      "ruby",
      "php"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Detect and extract text, forms, tables, and data from scanned documents and images via API calls.",
    "notes": "Requires an AWS account and IAM credentials; region-specific; free tier applies only for the first 3 months after the first Textract request. No dedicated Textract MCP; the official AWS MCP Server can call Textract via aws___run_script.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "per month for 3 months: DetectDocumentText 1,000 pages; AnalyzeDocument forms/tables/layout 100 pages; AnalyzeExpense/AnalyzeID 100 pages; AnalyzeLending 2,000 pages",
      "period": "month",
      "source_url": "https://aws.amazon.com/textract/pricing/",
      "checked_at": "2026-09-24",
      "requires_card": true
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "format": "AWS Signature V4 signed requests (IAM credentials)",
      "source_url": "https://docs.aws.amazon.com/general/latest/gr/textract.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://textract.us-east-1.amazonaws.com",
    "rate_limits": {
      "summary": "us-east-1 defaults: DetectDocumentText 25 TPS, AnalyzeDocument 10 TPS, AnalyzeExpense/AnalyzeID 5 TPS; up to 600 concurrent async jobs",
      "source_url": "https://docs.aws.amazon.com/general/latest/gr/textract.html",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Start* operations (e.g. StartDocumentAnalysis) return a JobId; poll Get* operations; sync APIs also available",
      "source_url": "https://docs.aws.amazon.com/general/latest/gr/textract.html"
    },
    "operations": [
      "ocr",
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "detect text in a document image",
      "method": "POST",
      "url": "https://textract.{region}.amazonaws.com/",
      "example": "curl -X POST https://textract.us-east-1.amazonaws.com/ --aws-sigv4 \"aws:amz:us-east-1:textract\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" -H \"X-Amz-Target: Textract.DetectDocumentText\" -H \"Content-Type: application/x-amz-json-1.1\" -d '{\"Document\": {\"S3Object\": {\"Bucket\": \"my-bucket\", \"Name\": \"scan.png\"}}}'",
      "response_fields": [
        "Blocks[].BlockType",
        "Blocks[].Text",
        "Blocks[].Confidence",
        "DocumentMetadata.Pages"
      ],
      "source_url": "https://docs.aws.amazon.com/textract/latest/dg/API_DetectDocumentText.html",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "DetectDocumentText $0.0015 per page (first 1M pages/month); AnalyzeDocument tables $0.015/page, forms $0.05/page (US West Oregon)",
      "source_url": "https://aws.amazon.com/textract/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "ag2-mcp-servers/amazon-textract",
        "stars": 0,
        "forks": 0,
        "pushed_at": "2025-07-15",
        "archived": false,
        "url": "https://github.com/ag2-mcp-servers/amazon-textract",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://textract.us-east-1.amazonaws.com",
        "probes": 1,
        "up": 1,
        "median_ms": 372,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "azure-ai-document-intelligence",
    "name": "Azure AI Document Intelligence",
    "category": "presentations-documents",
    "homepage": "https://azure.microsoft.com/products/ai-services/ai-document-intelligence",
    "docs": "https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/",
    "auth": "cloud_iam",
    "auth_hint": "Ocp-Apim-Subscription-Key: <key> header (Azure AD/Entra ID Bearer token also supported)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free tier: F0 pricing tier, 500 pages/month; analyzes only the first 2 pages per document, 4 MB max file, 1 TPS",
    "sdk": [
      "python",
      "csharp",
      "java",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Analyze forms, invoices, receipts, and scanned documents to extract structured JSON via REST API.",
    "notes": "Auth via Azure subscription key or Entra ID (Azure AD) OAuth2; current GA version is 4.0; legacy v3.0 API scheduled to retire March 30, 2029; no official Microsoft MCP server specific to Document Intelligence, only community implementations and the general-purpose Azure MCP Server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "500 pages (F0); only the first 2 pages of each document analyzed, 4 MB max",
      "period": "month",
      "source_url": "https://azure.microsoft.com/en-us/pricing/details/ai-document-intelligence/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Ocp-Apim-Subscription-Key",
      "format": "Ocp-Apim-Subscription-Key: <key>",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/quickstarts/get-started-sdks-rest-api?pivots=programming-language-rest-api",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "F0: 1 TPS analyze, 1 TPS get; S0: 15 TPS analyze, 50 TPS get (adjustable)",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/service-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST ...:analyze returns 202 with Operation-Location header; poll GET until status succeeded/failed",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/quickstarts/get-started-sdks-rest-api?pivots=programming-language-rest-api"
    },
    "operations": [
      "document-parsing",
      "ocr"
    ],
    "no_auth": false,
    "call": {
      "operation": "analyze a document with a prebuilt model (prebuilt-layout, prebuilt-invoice, prebuilt-receipt ...)",
      "method": "POST",
      "url": "{endpoint}/documentintelligence/documentModels/{modelId}:analyze?api-version=2024-11-30",
      "example": "curl -i -X POST \"$DI_ENDPOINT/documentintelligence/documentModels/prebuilt-layout:analyze?api-version=2024-11-30\" -H \"Content-Type: application/json\" -H \"Ocp-Apim-Subscription-Key: $DI_KEY\" -d '{\"urlSource\":\"https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf\"}'",
      "response_fields": [
        "Operation-Location (response header)",
        "status",
        "analyzeResult.content",
        "analyzeResult.pages",
        "analyzeResult.documents"
      ],
      "async": "202 returns an Operation-Location header; poll GET {endpoint}/documentintelligence/documentModels/{modelId}/analyzeResults/{resultId}?api-version=2024-11-30 until status is succeeded",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/quickstarts/get-started-sdks-rest-api?pivots=programming-language-rest-api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pay-as-you-go (East US, S0): prebuilt models $10 per 1,000 pages; Read $1.50 per 1,000 pages; custom extraction $30 per 1,000 pages",
      "source_url": "https://prices.azure.com/api/retail/prices?$filter=productName eq 'Azure Document Intelligence' and armRegionName eq 'eastus'",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "cloudconvert-api",
    "name": "CloudConvert API",
    "category": "presentations-documents",
    "homepage": "https://cloudconvert.com/api/v2",
    "docs": "https://cloudconvert.com/api/v2",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <API_KEY> (OAuth2 authorization-code/implicit flow also supported for user-facing apps)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.cloudconvert.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.cloudconvert.com",
      "tools": [
        "createJob",
        "getOperations"
      ],
      "covers_full_api": true,
      "source_url": "https://cloudconvert.com/docs/raw/integrations/mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.cloudconvert.com",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://cloudconvert.com/docs/raw/integrations/mcp-server.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: 10 conversion credits/day including all API features, no credit card required; paid credit packages beyond that; free Sandbox API for unlimited test jobs without consuming credits",
    "sdk": [
      "php",
      "nodejs",
      "python",
      "ruby",
      "java",
      "dotnet"
    ],
    "openapi": null,
    "llms_txt": "https://cloudconvert.com/llms.txt",
    "desc_en": "Convert, compress, merge, watermark, and OCR files across 200+ formats via REST API or MCP.",
    "notes": "Official MCP server at https://mcp.cloudconvert.com uses Streamable HTTP transport and authenticates via OAuth2 against the user's CloudConvert account (no API key needed for MCP); no public OpenAPI/Swagger file is served by CloudConvert itself.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "10 conversion credits/day, all API features included",
      "period": "day",
      "source_url": "https://cloudconvert.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://cloudconvert.com/api/v2",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cloudconvert.com/v2",
    "rate_limits": {
      "summary": "Dynamic rate limiting on task/job creation; 429 with X-RateLimit-* and Retry-After headers",
      "source_url": "https://cloudconvert.com/api/v2",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "user.read",
        "task.read",
        "task.write"
      ],
      "source_url": "https://cloudconvert.com/docs/raw/integrations/mcp-server.md",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "jobs/tasks run asynchronously; poll job status or receive webhooks",
      "source_url": "https://cloudconvert.com/api/v2"
    },
    "operations": [
      "pdf-processing",
      "ocr"
    ],
    "no_auth": false,
    "call": {
      "operation": "convert a file (import URL, convert, export URL job)",
      "method": "POST",
      "url": "https://api.cloudconvert.com/v2/jobs",
      "example": "curl -X POST https://api.cloudconvert.com/v2/jobs -H \"Authorization: Bearer $CLOUDCONVERT_API_KEY\" -H \"Content-Type: application/json\" -d '{\"tasks\":{\"import-my-file\":{\"operation\":\"import/url\",\"url\":\"https://example.com/file.docx\"},\"convert-my-file\":{\"operation\":\"convert\",\"input\":\"import-my-file\",\"output_format\":\"pdf\"},\"export-my-file\":{\"operation\":\"export/url\",\"input\":\"convert-my-file\"}}}'",
      "response_fields": [
        "data.id",
        "data.status",
        "data.tasks[].result.files[].url"
      ],
      "async": "GET https://sync.api.cloudconvert.com/v2/jobs/{id} blocks until finished; the export/url task result holds the file URL",
      "source_url": "https://cloudconvert.com/api/v2/jobs",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/CloudConvert/",
        "fetched_at": "2026-09-24T16:56Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cloudconvert.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 335,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.cloudconvert.com",
        "probes": 1,
        "up": 1,
        "median_ms": 662,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/cloudconvert-api.json"
  },
  {
    "id": "docusign-esignature-api",
    "name": "DocuSign eSignature API",
    "category": "presentations-documents",
    "homepage": "https://developers.docusign.com",
    "docs": "https://developers.docusign.com/docs/esign-rest-api/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token> via OAuth2 Authorization Code grant or JWT Grant",
    "mcp": {
      "type": "official",
      "url": "https://mcp.docusign.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.docusign.com/mcp",
      "covers_full_api": false,
      "source_url": "https://mcp.docusign.com/.well-known/oauth-protected-resource",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp-d.docusign.com/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://developers.docusign.com/platform/mcp-server/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free developer/demo sandbox account (account-d.docusign.com) with unlimited test envelopes; production use requires a paid DocuSign plan",
    "sdk": [
      "python",
      "java",
      "csharp",
      "nodejs",
      "php",
      "ruby"
    ],
    "openapi": "https://github.com/docusign/OpenAPI-Specifications",
    "llms_txt": null,
    "desc_en": "Send, sign, track, and manage electronic signature envelopes and agreement workflows via REST API.",
    "notes": "Official Docusign MCP Server (Open Beta, OAuth) covers eSignature plus Navigator/Maestro/Workspaces: production https://mcp.docusign.com/mcp, developer accounts https://mcp-d.docusign.com/mcp. JWT grant needs one-time user consent.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "non-expiring developer (demo) account; envelopes not legally valid; production from $50/mo Starter (40 envelopes/mo)",
      "source_url": "https://ecom.docusign.com/plans-and-pricing/developer",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <access_token> (Authorization Code or JWT Grant)",
      "source_url": "https://developers.docusign.com/platform/auth/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "signature",
        "impersonation"
      ],
      "source_url": "https://developers.docusign.com/platform/auth/reference/scopes/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "e-signature"
    ],
    "no_auth": false,
    "call": {
      "operation": "create and send an envelope for signature",
      "method": "POST",
      "url": "https://demo.docusign.net/restapi/v2.1/accounts/{accountId}/envelopes",
      "example": "curl -X POST https://demo.docusign.net/restapi/v2.1/accounts/$DOCUSIGN_ACCOUNT_ID/envelopes -H \"Authorization: Bearer $DOCUSIGN_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"emailSubject\":\"Please sign this document\",\"documents\":[{\"documentBase64\":\"'\"$DOC_BASE64\"'\",\"name\":\"Contract\",\"fileExtension\":\"pdf\",\"documentId\":\"1\"}],\"recipients\":{\"signers\":[{\"email\":\"signer@example.com\",\"name\":\"Signer\",\"recipientId\":\"1\",\"routingOrder\":\"1\"}]},\"status\":\"sent\"}'",
      "response_fields": [
        "envelopeId",
        "status",
        "statusDateTime",
        "uri"
      ],
      "async": "signing happens later; poll GET .../envelopes/{envelopeId} for status or use Connect webhooks",
      "source_url": "https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg002SigningViaEmail.sh",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "docusign/OpenAPI-Specifications",
        "stars": 24,
        "forks": 20,
        "pushed_at": "2026-08-31",
        "archived": false,
        "url": "https://github.com/docusign/OpenAPI-Specifications",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp-d.docusign.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 406,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    }
  },
  {
    "id": "gamma-api",
    "name": "Gamma API",
    "category": "presentations-documents",
    "homepage": "https://gamma.app",
    "docs": "https://developers.gamma.app/generations/create-generation",
    "auth": "api_key+oauth2",
    "auth_hint": "X-API-KEY: <key> (OAuth 2.0 Bearer tokens also accepted on the same endpoints)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.gamma.app/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.gamma.app/mcp",
      "tools": [
        "generate",
        "generate_multi_page_gamma",
        "generate_from_template",
        "generate_image",
        "get_generation_status",
        "get_image_generation_status",
        "export_gamma",
        "get_export_status",
        "get_gammas",
        "read_gamma",
        "get_gamma_comments",
        "get_themes",
        "get_folders",
        "get_gamma_analytics",
        "get_gamma_card_analytics",
        "get_gamma_viewer_analytics",
        "get_gamma_viewer_detail_analytics"
      ],
      "covers_full_api": true,
      "source_url": "https://developers.gamma.app/mcp/mcp-tools-reference.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.gamma.app/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developers.gamma.app/mcp/gamma-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only for API keys (Pro, Ultra, Teams or Business plan); the Gamma MCP server/connectors work on all plans including Free, with generations consuming credits",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://developers.gamma.app/llms.txt",
    "desc_en": "Generate, poll, and export AI-made presentations, documents, or social posts as PDF/PPTX via REST API.",
    "notes": "Async workflow (POST /v1.0/generations then poll GET .../{id}); base URL https://public-api.gamma.app/v1.0; official remote MCP server is OAuth2-secured (RFC 7591 dynamic client registration).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://developers.gamma.app/get-started/access-and-pricing.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-KEY",
      "format": "X-API-KEY: <key>",
      "source_url": "https://developers.gamma.app/generations/create-generation",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://public-api.gamma.app/v1.0",
    "rate_limits": {
      "summary": "Burst, rolling and daily limits reported via x-ratelimit-remaining-burst / -remaining / -remaining-daily headers",
      "source_url": "https://developers.gamma.app/generations/create-generation",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "generate",
        "gamma:read"
      ],
      "source_url": "https://mcp.gamma.app/.well-known/oauth-protected-resource",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /generations returns generationId; poll GET /generations/{id}",
      "source_url": "https://developers.gamma.app/generations/create-generation"
    },
    "operations": [
      "slides-generation",
      "document-generation"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://public-api.gamma.app/v1.0",
        "probes": 1,
        "up": 1,
        "median_ms": 253,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.gamma.app/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 237,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "google-document-ai",
    "name": "Google Document AI",
    "category": "presentations-documents",
    "homepage": "https://cloud.google.com/document-ai",
    "docs": "https://cloud.google.com/document-ai/docs/reference/rest",
    "auth": "cloud_iam",
    "auth_hint": "Authorization: Bearer <OAuth2 access token> (service account) or API key for some endpoints",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free tier: first 1,000 pages/month free for Enterprise Document OCR only (then $1.50/1,000); Form Parser and custom extractor $30/1,000 pages with no free band",
    "sdk": [
      "python",
      "nodejs",
      "java",
      "go",
      "php",
      "ruby",
      "csharp",
      "cpp"
    ],
    "openapi": "https://documentai.googleapis.com/$discovery/rest?version=v1",
    "llms_txt": null,
    "desc_en": "Extract text, tables, and structured data from documents like invoices, forms, and IDs via REST API.",
    "notes": "Requires a GCP project and service-account/OAuth2 credentials (standard Google Cloud IAM auth); region-specific endpoints (global/us/eu); no official MCP server found.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "first 1,000 pages free (Enterprise Document OCR only); Form Parser/custom extractor billed from page 1 ($30/1,000)",
      "period": "month",
      "source_url": "https://cloud.google.com/document-ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "scheme": "bearer",
      "format": "Authorization: Bearer <Google OAuth2 access token>",
      "source_url": "https://docs.cloud.google.com/document-ai/docs/reference/rest",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://documentai.googleapis.com",
    "rate_limits": {
      "summary": "Online process: 120 requests/min per project per processor type (US/EU); 5 concurrent batch requests per project",
      "source_url": "https://docs.cloud.google.com/document-ai/quotas",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": ":process is synchronous; :batchProcess returns a long-running operation to poll",
      "source_url": "https://docs.cloud.google.com/document-ai/docs/reference/rest"
    },
    "data_policy": {
      "summary": "Content not used except to provide the service; online requests not persisted; batch data deleted after processing (1-day TTL failsafe)",
      "source_url": "https://docs.cloud.google.com/document-ai/docs/data-usage",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "document-parsing",
      "ocr"
    ],
    "no_auth": false,
    "call": {
      "operation": "process a document (OCR / extraction)",
      "method": "POST",
      "url": "https://{LOCATION}-documentai.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/processors/{PROCESSOR_ID}:process",
      "example": "curl -X POST -H \"Authorization: Bearer $(gcloud auth print-access-token)\" -H \"Content-Type: application/json; charset=utf-8\" -d '{\"rawDocument\": {\"mimeType\": \"application/pdf\", \"content\": \"'\"$BASE64_PDF\"'\"}}' https://us-documentai.googleapis.com/v1/projects/$PROJECT_ID/locations/us/processors/$PROCESSOR_ID:process",
      "response_fields": [
        "document.text",
        "document.pages",
        "document.entities"
      ],
      "async": null,
      "source_url": "https://docs.cloud.google.com/document-ai/docs/send-request",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Enterprise Document OCR: $1.50 per 1,000 pages (first 1,000 pages/month free); Form Parser and Custom extractor $30 per 1,000 pages; Layout Parser $10 per 1,000 pages",
      "source_url": "https://cloud.google.com/document-ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://documentai.googleapis.com",
        "probes": 1,
        "up": 1,
        "median_ms": 252,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "google-slides-docs-api",
    "name": "Google Slides / Docs API",
    "category": "presentations-documents",
    "homepage": "https://developers.google.com/slides",
    "docs": "https://developers.google.com/workspace/slides/api/reference/rest",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>; scopes e.g. https://www.googleapis.com/auth/presentations",
    "mcp": {
      "type": "official",
      "url": "https://slidesmcp.googleapis.com/mcp/v1",
      "maintainer": "vendor",
      "remote_url": "https://slidesmcp.googleapis.com/mcp/v1",
      "tools": [
        "read_presentation",
        "update_presentation"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.google.com/workspace/slides/api/guides/configure-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://slidesmcp.googleapis.com/mcp/v1",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developers.google.com/workspace/slides/api/guides/configure-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key (standard Google API usage quotas apply; requires GCP project + OAuth consent)",
    "sdk": [
      "python",
      "java",
      "javascript",
      "go",
      "nodejs"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read and programmatically edit Google Slides presentations (slides, shapes, text, tables) via REST API or MCP.",
    "notes": "Official remote MCP server (slidesmcp.googleapis.com, tools: read_presentation, update_presentation) is part of the Google Workspace Developer Preview Program - limited/early access. Non-OpenAPI Discovery Doc available at https://slides.googleapis.com/$discovery/rest?version=v1.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "no charge; subject to per-minute request quotas",
      "source_url": "https://developers.google.com/workspace/slides/api/limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OAuth2 access token>",
      "source_url": "https://developers.google.com/workspace/slides/api/guides/configure-mcp-server",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://slides.googleapis.com",
    "rate_limits": {
      "summary": "Reads 3,000/min per project, 600/min per user; writes 600/min per project, 60/min per user",
      "source_url": "https://developers.google.com/workspace/slides/api/limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "https://www.googleapis.com/auth/presentations",
        "https://www.googleapis.com/auth/presentations.readonly",
        "https://www.googleapis.com/auth/drive.file",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "source_url": "https://developers.google.com/workspace/slides/api/guides/configure-mcp-server",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "synchronous REST calls (presentations.get / batchUpdate)",
      "source_url": "https://developers.google.com/workspace/slides/api/reference/rest"
    },
    "operations": [
      "slides-generation"
    ],
    "no_auth": false,
    "call": {
      "operation": "read a presentation (slides, shapes, text)",
      "method": "GET",
      "url": "https://slides.googleapis.com/v1/presentations/{presentationId}",
      "example": "curl -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\" https://slides.googleapis.com/v1/presentations/$PRESENTATION_ID",
      "response_fields": [
        "presentationId",
        "title",
        "slides[].objectId",
        "slides[].pageElements",
        "revisionId"
      ],
      "async": null,
      "source_url": "https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/get",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://slides.googleapis.com",
        "probes": 1,
        "up": 1,
        "median_ms": 264,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      },
      "mcp_remote": {
        "url": "https://slidesmcp.googleapis.com/mcp/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 270,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "llamaparse-llamacloud",
    "name": "LlamaParse (LlamaCloud)",
    "category": "presentations-documents",
    "homepage": "https://www.llamaindex.ai/llamaparse",
    "docs": "https://developers.llamaindex.ai/llamaparse/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <LLAMA_CLOUD_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.llamaindex.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.llamaindex.ai/mcp",
      "covers_full_api": true,
      "source_url": "https://developers.llamaindex.ai/llamaparse/for-agents/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.llamaindex.ai/mcp",
        "headers": {
          "Authorization": "Bearer $LLAMA_CLOUD_API_KEY"
        },
        "oauth": true,
        "source_url": "https://developers.llamaindex.ai/llamaparse/for-agents/mcp/",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: Free plan with 10K credits/month; beyond that credit-based at $1.25/1,000 credits (1-45+ credits/page depending on tier); 48h parse cache is free to re-query",
    "sdk": [
      "python",
      "typescript",
      "go",
      "java"
    ],
    "openapi": null,
    "llms_txt": "https://developers.llamaindex.ai/llms.txt",
    "desc_en": "Parse, classify, extract, and split complex documents (tables, forms, charts) into LLM-ready structured data via API.",
    "notes": "Regional MCP endpoints: mcp.llamaindex.ai (North America) and mcp.eu.llamaindex.ai (Europe), sign in with LlamaCloud account. Pricing tiers: Fast/Cost-effective/Agentic/Agentic Plus.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10K credits (1,000 credits = $1.25)",
      "period": "month",
      "source_url": "https://www.llamaindex.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <LLAMA_CLOUD_API_KEY>",
      "source_url": "https://developers.llamaindex.ai/llamaparse/for-agents/mcp/",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Free plan: 5 concurrent parse jobs, 5 concurrent extract jobs, 1 concurrent sheets job; paid tiers 20-100",
      "source_url": "https://www.llamaindex.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "REST API processes documents asynchronously as jobs",
      "source_url": "https://developers.llamaindex.ai/llamaparse/"
    },
    "data_policy": {
      "summary": "Parse cache retained 48 hours then permanently deleted; caching can be disabled",
      "source_url": "https://www.llamaindex.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "start a parse job for an uploaded file",
      "method": "POST",
      "url": "https://api.cloud.llamaindex.ai/api/v2/parse",
      "example": "curl -X POST https://api.cloud.llamaindex.ai/api/v2/parse -H \"Authorization: Bearer $LLAMA_CLOUD_API_KEY\" -H 'Content-Type: application/json' -d '{\"file_id\":\"<file_id>\",\"tier\":\"agentic\",\"version\":\"latest\"}'",
      "response_fields": [
        "id",
        "status"
      ],
      "async": "upload first via POST https://api.cloud.llamaindex.ai/api/v1/beta/files (multipart purpose=parse, file=@doc.pdf) to get file_id; then poll GET https://api.cloud.llamaindex.ai/api/v2/parse/{job_id}?expand=markdown until job.status is COMPLETED and read markdown.pages[].markdown",
      "source_url": "https://developers.llamaindex.ai/llamaparse/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "per page: Fast 1 credit, Cost-effective 3, Agentic 10, Agentic Plus 45; $1.25 per 1,000 credits (Agentic = $0.0125/page)",
      "source_url": "https://developers.llamaindex.ai/llamaparse/general/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.llamaindex.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 483,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "mistral-ocr-api",
    "name": "Mistral OCR API",
    "category": "presentations-documents",
    "homepage": "https://mistral.ai",
    "docs": "https://docs.mistral.ai/capabilities/OCR/basic_ocr/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <MISTRAL_API_KEY>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/D-Diaa/mistral-ocr-mcp",
      "maintainer": "community",
      "repo": "https://github.com/D-Diaa/mistral-ocr-mcp",
      "tools": [
        "ocr_local_file"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/D-Diaa/mistral-ocr-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "--from",
          "/path/to/mistral-ocr-mcp",
          "mistral-ocr-mcp"
        ],
        "env": [
          "MISTRAL_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/D-Diaa/mistral-ocr-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: Free plan includes $10/month in API credits; then $4/1,000 pages (OCR), $5/1,000 pages (Document AI); 50% off via Batch API",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.mistral.ai/llms.txt",
    "desc_en": "Extract text, tables, and layout structure from PDFs and images as structured Markdown/JSON via REST API.",
    "notes": "Current model: Mistral OCR 4; block/table/bounding-box extraction requires OCR 4+/2512+; no official Mistral-maintained MCP server, only community implementations.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "$10 in API credits (Free plan)",
      "period": "month",
      "source_url": "https://mistral.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <MISTRAL_API_KEY>",
      "source_url": "https://docs.mistral.ai/api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mistral.ai",
    "async_jobs": {
      "value": false,
      "how": "synchronous OCR call; Batch Inference available for high volume",
      "source_url": "https://docs.mistral.ai/capabilities/OCR/basic_ocr/"
    },
    "data_policy": {
      "summary": "Model-training opt-out available on all plans including Free",
      "source_url": "https://mistral.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "ocr",
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "OCR a PDF to markdown",
      "method": "POST",
      "url": "https://api.mistral.ai/v1/ocr",
      "example": "curl https://api.mistral.ai/v1/ocr -H 'Content-Type: application/json' -H \"Authorization: Bearer $MISTRAL_API_KEY\" -d '{\"model\": \"mistral-ocr-latest\", \"document\": {\"type\": \"document_url\", \"document_url\": \"https://arxiv.org/pdf/2201.04234\"}}'",
      "response_fields": [
        "pages[].markdown",
        "pages[].images",
        "model",
        "usage_info"
      ],
      "async": null,
      "source_url": "https://docs.mistral.ai/studio/document-processing/basic_ocr.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Mistral OCR 4: $4 per 1,000 pages ($2 per 1,000 via Batch API); Document AI $5 per 1,000 pages",
      "source_url": "https://mistral.ai/news/ocr-4/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "D-Diaa/mistral-ocr-mcp",
        "stars": 0,
        "forks": 0,
        "pushed_at": "2025-08-04",
        "archived": false,
        "url": "https://github.com/D-Diaa/mistral-ocr-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mistral.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 317,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "pdf-co-api",
    "name": "PDF.co API",
    "category": "presentations-documents",
    "homepage": "https://pdf.co",
    "docs": "https://developer.pdf.co",
    "auth": "api_key",
    "auth_hint": "x-api-key: <API_KEY> header",
    "mcp": {
      "type": "official",
      "url": "https://github.com/pdfdotco/pdfco-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/pdfdotco/pdfco-mcp",
      "tools": [
        "pdf_to_json",
        "pdf_to_csv",
        "pdf_to_text",
        "pdf_to_xls",
        "pdf_to_xlsx",
        "pdf_to_xml",
        "pdf_to_html",
        "pdf_to_image",
        "document_to_pdf",
        "csv_to_pdf",
        "image_to_pdf",
        "webpage_to_pdf",
        "html_to_pdf",
        "email_to_pdf",
        "excel_to_csv",
        "excel_to_json",
        "excel_to_html",
        "excel_to_txt",
        "excel_to_xml",
        "excel_to_pdf",
        "pdf_merge",
        "pdf_split",
        "pdf_add_annotations_images_fields",
        "read_pdf_forms_info",
        "fill_pdf_forms",
        "create_fillable_forms",
        "find_text",
        "find_table",
        "ai_invoice_parser",
        "extract_attachments",
        "pdf_info_reader",
        "pdf_add_password",
        "pdf_remove_password",
        "pdf_make_searchable",
        "pdf_make_unsearchable",
        "upload_file",
        "get_job_check",
        "wait_job_completion"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/pdfdotco/pdfco-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "pdfco-mcp"
        ],
        "env": [
          "X_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/pdfdotco/pdfco-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "trial credits: 10,000 credits for 1 month, no credit card required",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://developer.pdf.co/llms.txt",
    "desc_en": "Convert, merge, split, edit, fill forms, OCR, and extract data from PDFs via REST API.",
    "notes": "Base URL https://api.pdf.co/v1; credit-based usage pricing after trial; code samples (not formal SDKs) at github.com/pdfdotco/pdf-co-api-samples. Official MCP server: uvx pdfco-mcp (X_API_KEY env var).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "period": "one_time",
      "source_url": "https://pdf.co/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <API_KEY>",
      "source_url": "https://developer.pdf.co/api/index.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.pdf.co/v1",
    "async_jobs": {
      "value": true,
      "how": "set async=true to get a jobId; poll POST /v1/job/check until success/failed",
      "source_url": "https://developer.pdf.co/api/job-check.md"
    },
    "data_policy": {
      "summary": "Temporary files stored 1 hour by default, then auto-removed",
      "source_url": "https://developer.pdf.co/llms.txt",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "pdf-processing",
      "ocr",
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "extract text from a PDF (OCR, layout kept)",
      "method": "POST",
      "url": "https://api.pdf.co/v1/pdf/convert/to/text",
      "example": "curl -X POST https://api.pdf.co/v1/pdf/convert/to/text -H \"x-api-key: $PDFCO_API_KEY\" -H \"Content-Type: application/json\" -d '{\"url\":\"https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-text/sample.pdf\",\"inline\":true,\"async\":false}'",
      "response_fields": [
        "body",
        "pageCount",
        "error",
        "credits",
        "remainingCredits"
      ],
      "async": null,
      "source_url": "https://developer.pdf.co/api/pdf-to-text/basic",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "PDF to text: 21 credits per page (simple, no OCR: 4); Basic plan $9.99/mo ($8.99 billed annually) includes 16,500 credits, about $0.0006/credit (plans at pdf.co/pricing)",
      "source_url": "https://developer.pdf.co/api/credits-per-api-function",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.pdf.co/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 407,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "reducto-api",
    "name": "Reducto API",
    "category": "presentations-documents",
    "homepage": "https://reducto.ai",
    "docs": "https://docs.reducto.ai/get-started/quickstart",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <REDUCTO_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.reducto.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.reducto.ai/mcp",
      "tools": [
        "parse_document",
        "extract_data",
        "split_document",
        "classify_document",
        "edit_document",
        "upload_file"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.reducto.ai/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.reducto.ai/mcp",
        "headers": {
          "Authorization": "Bearer $REDUCTO_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.reducto.ai/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: $150 in free credits (15,000 credits) one-time for new Standard accounts; then standard rates; Startup Program gives extra credits to qualifying teams",
    "sdk": [
      "python",
      "typescript",
      "go"
    ],
    "openapi": "https://docs.reducto.ai/openapi.json",
    "llms_txt": "https://docs.reducto.ai/llms.txt",
    "desc_en": "Parse, extract, split, edit, and classify complex documents into structured JSON/Markdown via REST API or SDKs.",
    "notes": "Pay-as-you-go after free credits: ~$10/1,000 pages (Parse), ~$20/1,000 pages (Extract); official MCP repo at github.com/reductoai/mcp-server-reducto; hosted MCP variant does not support local file paths, only URLs.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "15,000 free credits (~$150) for Standard accounts; card requirement not stated on the pricing page",
      "period": "one_time",
      "source_url": "https://reducto.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <REDUCTO_API_KEY>",
      "source_url": "https://docs.reducto.ai/get-started/quickstart",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://platform.reducto.ai",
    "rate_limits": {
      "summary": "Concurrent pages: Standard 200, Growth 350, Enterprise 500+",
      "source_url": "https://reducto.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "async parse with job polling or webhooks (sync /parse also available)",
      "source_url": "https://docs.reducto.ai/get-started/quickstart"
    },
    "data_policy": {
      "summary": "Zero Data Retention agreement available on Growth and Enterprise tiers",
      "source_url": "https://reducto.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "parse a document into chunks",
      "method": "POST",
      "url": "https://platform.reducto.ai/parse",
      "example": "curl -X POST https://platform.reducto.ai/parse -H \"Authorization: Bearer $REDUCTO_API_KEY\" -H \"Content-Type: application/json\" -d '{\"input\":\"https://example.com/document.pdf\"}'",
      "response_fields": [
        "job_id",
        "usage.num_pages",
        "usage.credits",
        "result.chunks[].content",
        "result.chunks[].blocks"
      ],
      "async": null,
      "source_url": "https://docs.reducto.ai/api-reference/parse",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Standard: Parse $10 per 1,000 pages; Extract $20 per 1,000 pages (parsing included)",
      "source_url": "https://reducto.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://platform.reducto.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 383,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    }
  },
  {
    "id": "slidespeak-api",
    "name": "SlideSpeak API",
    "category": "presentations-documents",
    "homepage": "https://slidespeak.co",
    "docs": "https://docs.slidespeak.co/v1/quickstart",
    "auth": "api_key",
    "auth_hint": "X-API-Key: <key>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/SlideSpeak/slidespeak-mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.slidespeak.co/mcp",
      "repo": "https://github.com/SlideSpeak/slidespeak-mcp",
      "source_url": "https://github.com/SlideSpeak/slidespeak-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.slidespeak.co/mcp",
        "headers": {
          "Authorization": "Bearer $SLIDESPEAK_API_KEY"
        },
        "oauth": false,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/SlideSpeak/slidespeak-mcp#remote-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: free API trial, no credit card required; then API plans from $49/month (1,000 credits)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Generate, edit, and download PowerPoint/PDF presentations from text, documents, or outlines via REST API.",
    "notes": "Async task-based workflow with polling (GET /task_status/{task_id}); download URLs are short-lived; no official language SDK, only a Postman collection plus the MCP server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "period": "one_time",
      "source_url": "https://slidespeak.co/slidespeak-api/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <key>",
      "source_url": "https://docs.slidespeak.co/v1/quickstart",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.slidespeak.co/api/v1",
    "async_jobs": {
      "value": true,
      "how": "POST /presentation/generate returns task_id; poll GET /task_status/{task_id}, then /presentation/download/{request_id}",
      "source_url": "https://docs.slidespeak.co/v1/quickstart"
    },
    "data_policy": {
      "summary": "API plans state no model training on your data",
      "source_url": "https://slidespeak.co/slidespeak-api/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "slides-generation",
      "document-generation"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate a presentation from text",
      "method": "POST",
      "url": "https://api.slidespeak.co/api/v1/presentation/generate",
      "example": "curl -X POST https://api.slidespeak.co/api/v1/presentation/generate -H \"Content-Type: application/json\" -H \"X-API-Key: $SLIDESPEAK_API_KEY\" -d '{\"plain_text\": \"Key moments in the french revolution\", \"length\": 6, \"template\": \"default\"}'",
      "response_fields": [
        "task_id",
        "task_status",
        "task_result"
      ],
      "async": "poll GET https://api.slidespeak.co/api/v1/task_status/{task_id} until task_status is SUCCESS, then GET /presentation/download/{id} for a short-lived url",
      "source_url": "https://docs.slidespeak.co/v1/quickstart",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 API credit per generated slide (1 credit = 5 outline slides); API plans from $49/mo for 1,000 credits (~$0.05 per slide)",
      "source_url": "https://docs.slidespeak.co/v1/credits/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "SlideSpeak/slidespeak-mcp",
        "stars": 14,
        "forks": 12,
        "pushed_at": "2026-04-30",
        "archived": false,
        "url": "https://github.com/SlideSpeak/slidespeak-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 1.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/SlideSpeak/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.slidespeak.co/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 584,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.slidespeak.co/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 549,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/slidespeak-api.json"
  },
  {
    "id": "unstructured-api",
    "name": "Unstructured API",
    "category": "presentations-documents",
    "homepage": "https://unstructured.io",
    "docs": "https://docs.unstructured.io/api-reference/overview",
    "auth": "api_key",
    "auth_hint": "unstructured-api-key: <key> (verify exact header on api-reference page)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.transform.unstructured.io",
      "maintainer": "vendor",
      "remote_url": "https://mcp.transform.unstructured.io",
      "repo": "https://github.com/Unstructured-IO/UNS-MCP",
      "source_url": "https://docs.unstructured.io/transform/get-started/claude-code",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.transform.unstructured.io",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://docs.unstructured.io/transform/get-started/claude-code",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 10,000 free pages one-time on signup, no credit card; then pay-as-you-go at $0.015/page",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": "https://docs.unstructured.io/llms.txt",
    "desc_en": "Partition and extract structured elements (text, tables, layout) from PDFs, docs, and images for RAG pipelines via API.",
    "notes": "Legacy /general/v0/general Partition endpoint is for prototyping single files; production use should use the Workflow API. Hosted Transform MCP parses documents; the UNS-MCP repo only manages connectors/workflows and is no longer maintained. Current parse endpoint: POST https://transform.unstructured.io/api/v2/parse with header unstructured-api-key",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "10,000 free pages at account start, then $0.015/page",
      "period": "one_time",
      "source_url": "https://unstructured.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "unstructured-api-key",
      "format": "unstructured-api-key: <UNSTRUCTURED_API_KEY>",
      "source_url": "https://docs.unstructured.io/transform/authentication",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Prefer: wait=0 returns 202 with Location URL; poll job until completed/failed",
      "source_url": "https://docs.unstructured.io/transform/jobs"
    },
    "data_policy": {
      "summary": "Zero Data Retention: processed data not stored permanently",
      "source_url": "https://unstructured.io/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "document-parsing"
    ],
    "base_url": "https://transform.unstructured.io/api/v2",
    "no_auth": false,
    "call": {
      "operation": "parse a document into elements (Transform Parse API)",
      "method": "POST",
      "url": "https://transform.unstructured.io/api/v2/parse",
      "example": "curl https://transform.unstructured.io/api/v2/parse -H \"unstructured-api-key: $UNSTRUCTURED_API_KEY\" -F \"input=@document.pdf\" -F \"output=elements\"",
      "response_fields": [
        "status",
        "elements[].type",
        "elements[].text",
        "elements[].metadata.page_number",
        "markdown (default output=markdown)"
      ],
      "async": "usually synchronous (200); on 202 keep the Location header and poll it until status is completed",
      "source_url": "https://docs.unstructured.io/transform/parse",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pay-As-You-Go: $0.015 per page after the first 10,000 free pages",
      "source_url": "https://unstructured.io/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "Unstructured-IO/UNS-MCP",
        "stars": 43,
        "forks": 18,
        "pushed_at": "2026-07-21",
        "archived": false,
        "url": "https://github.com/Unstructured-IO/UNS-MCP",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.transform.unstructured.io",
        "probes": 1,
        "up": 1,
        "median_ms": 526,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "amazon-translate",
    "name": "Amazon Translate",
    "category": "translation-language",
    "homepage": "https://aws.amazon.com/translate/",
    "docs": "https://docs.aws.amazon.com/translate/",
    "auth": "cloud_iam",
    "auth_hint": "AWS SigV4 (IAM credentials) via AWS SDK/CLI",
    "mcp": {
      "type": "official",
      "url": "https://github.com/awslabs/mcp/tree/main/src/aws-api-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/awslabs/mcp/tree/main/src/aws-api-mcp-server",
      "tools": [
        "call_aws",
        "suggest_aws_commands",
        "get_execution_plan"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/awslabs/mcp/tree/main/src/aws-api-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null,
      "issue": "entry lists no MCP server (mcp.url is null)"
    },
    "free_tier": "free tier: 2M characters/month for 12 months (new AWS accounts)",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go",
      ".net"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Translate text and documents in real time or batch across 75+ languages via the AWS SDK/API.",
    "notes": "Requires an AWS account and IAM credentials. The generic AWS API MCP Server (awslabs) can call Translate via AWS CLI commands.",
    "verified": "2026-09-24",
    "operations": [
      "translation"
    ],
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "2M characters (first 12 months)",
      "period": "month",
      "source_url": "https://aws.amazon.com/translate/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "format": "AWS Signature Version 4 signed requests with IAM credentials",
      "source_url": "https://docs.aws.amazon.com/general/latest/gr/translate-service.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://translate.<region>.amazonaws.com",
    "data_policy": {
      "summary": "Text inputs may be stored and used to improve AWS AI services; opt out via AWS Organizations AI services opt-out policy",
      "source_url": "https://aws.amazon.com/translate/faqs/",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "translate text",
      "method": "POST",
      "url": "https://translate.{region}.amazonaws.com/",
      "example": "curl https://translate.us-east-1.amazonaws.com/ --aws-sigv4 \"aws:amz:us-east-1:translate\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" -H \"Content-Type: application/x-amz-json-1.1\" -H \"X-Amz-Target: AWSShineFrontendService_20170701.TranslateText\" -d '{\"Text\":\"Hello world.\",\"SourceLanguageCode\":\"en\",\"TargetLanguageCode\":\"de\"}'",
      "response_fields": [
        "TranslatedText",
        "SourceLanguageCode",
        "TargetLanguageCode"
      ],
      "async": null,
      "source_url": "https://docs.aws.amazon.com/translate/latest/APIReference/API_TranslateText.html",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Standard real-time text translation: $15.00 per million characters",
      "source_url": "https://aws.amazon.com/translate/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Amazon-Translate/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/amazon-translate.json"
  },
  {
    "id": "azure-ai-translator",
    "name": "Azure AI Translator",
    "category": "translation-language",
    "homepage": "https://azure.microsoft.com/products/ai-services/ai-translator",
    "docs": "https://learn.microsoft.com/azure/ai-services/translator/",
    "auth": "api_key",
    "auth_hint": "Ocp-Apim-Subscription-Key header (+ Ocp-Apim-Subscription-Region)",
    "mcp": {
      "type": "community",
      "url": null,
      "domain_verified": null,
      "kind": "community",
      "config": null,
      "issue": "no MCP server listed in entry (mcp.url null)"
    },
    "free_tier": "free tier (F0): 2,000,000 characters/month",
    "sdk": [
      "python",
      "node",
      "java",
      "csharp",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Translate text, detect language, and transliterate across 100+ languages via REST API within Azure AI Services.",
    "notes": "F0 free tier excludes custom model training/hosting, which are billed separately.",
    "verified": "2026-09-24",
    "operations": [
      "translation",
      "language-detection"
    ],
    "free_plan": {
      "kind": "free_tier",
      "quota": "2M characters (standard + custom translation training)",
      "period": "month",
      "source_url": "https://azure.microsoft.com/en-us/pricing/details/cognitive-services/translator/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Ocp-Apim-Subscription-Key",
      "format": "Ocp-Apim-Subscription-Key: <KEY> + Ocp-Apim-Subscription-Region: <region>",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/text-translation/reference/v3/reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cognitive.microsofttranslator.com",
    "rate_limits": {
      "summary": "F0: 2 million characters per hour, consumed evenly (~33,300 chars/min sliding window)",
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/service-limits",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "translate text",
      "method": "POST",
      "url": "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from={from}&to={to}",
      "example": "curl -X POST \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr\" -H \"Ocp-Apim-Subscription-Key: $AZURE_TRANSLATOR_KEY\" -H \"Ocp-Apim-Subscription-Region: $AZURE_REGION\" -H \"Content-Type: application/json\" -d '[{\"text\":\"Hello, world\"}]'",
      "response_fields": [
        "[0].translations[].text",
        "[0].translations[].to",
        "[0].detectedLanguage.language"
      ],
      "async": null,
      "source_url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/text-translation/quickstart/rest-api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "S1 pay-as-you-go standard text translation: $10 per 1M characters (F0 free tier: 2M characters/month)",
      "source_url": "https://prices.azure.com/api/retail/prices?$filter=productName%20eq%20'Translator%20Text'%20and%20armRegionName%20eq%20'eastus'",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cognitive.microsofttranslator.com",
        "probes": 1,
        "up": 1,
        "median_ms": 354,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "deepl-api",
    "name": "DeepL API",
    "category": "translation-language",
    "homepage": "https://www.deepl.com/pro-api",
    "docs": "https://developers.deepl.com/docs",
    "auth": "api_key",
    "auth_hint": "Authorization: DeepL-Auth-Key <key>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/DeepL/deepl-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/DeepL/deepl-mcp-server",
      "tools": [
        "translate-text",
        "translate-document",
        "rephrase-text",
        "get-source-languages",
        "get-target-languages",
        "get-glossary-info",
        "get-glossary-entries",
        "list-glossaries"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.deepl.com/docs/getting-started/deepl-mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "deepl-mcp-server"
        ],
        "env": [
          "DEEPL_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/DeepL/deepl-mcp-server#configuration",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only for new signups: API Free plan retired mid-2026; API plans are Developer (from EUR 4.99/mo, 'test out the API for free'), Growth and Enterprise API; legacy Free keys (suffix :fx) use https://api-free.deepl.com",
    "sdk": [
      "python",
      "node",
      "java",
      ".net",
      "php",
      "go",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Translate and rephrase text or documents between 30+ languages via REST API, SDKs, or an official MCP server.",
    "notes": "DeepL retired the API Free plan around July 2026; no more permanent free tier for new signups.",
    "verified": "2026-09-24",
    "operations": [
      "translation"
    ],
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: DeepL-Auth-Key <api-key>",
      "source_url": "https://developers.deepl.com/docs/getting-started/auth.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.deepl.com",
    "rate_limits": {
      "summary": "Max request size 128 KiB, header size 16 KiB; throttle on HTTP 429",
      "source_url": "https://developers.deepl.com/docs/resources/usage-limits.md",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "translate text",
      "method": "POST",
      "url": "https://api.deepl.com/v2/translate",
      "example": "curl -X POST https://api.deepl.com/v2/translate -H \"Authorization: DeepL-Auth-Key $DEEPL_API_KEY\" -H 'Content-Type: application/json' -d '{\"text\": [\"Hello world!\"], \"target_lang\": \"DE\"}'",
      "response_fields": [
        "translations[0].text",
        "translations[0].detected_source_language"
      ],
      "async": null,
      "source_url": "https://developers.deepl.com/docs/getting-started/quickstart",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "DeepL/deepl-mcp-server",
        "stars": 116,
        "forks": 19,
        "pushed_at": "2026-09-21",
        "archived": false,
        "url": "https://github.com/DeepL/deepl-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/DeepL/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.deepl.com",
        "probes": 1,
        "up": 1,
        "median_ms": 613,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/deepl-api.json"
  },
  {
    "id": "google-cloud-translation",
    "name": "Google Cloud Translation",
    "category": "translation-language",
    "homepage": "https://cloud.google.com/translate",
    "docs": "https://cloud.google.com/translate/docs",
    "auth": "cloud_iam",
    "auth_hint": "OAuth2/IAM (GCP service account), or a simple API key for the Basic v2 edition",
    "mcp": {
      "type": "community",
      "url": null,
      "domain_verified": null,
      "kind": "community",
      "config": null,
      "issue": "entry lists no MCP server (mcp.url null)"
    },
    "free_tier": "free tier: 500,000 characters/month (permanent, not a trial)",
    "sdk": [
      "python",
      "node",
      "java",
      "go",
      ".net",
      "php",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Translate text/documents and detect language across 100+ languages via REST/gRPC API within Google Cloud.",
    "notes": "Advanced (v3) edition supports glossaries/custom models; requires a GCP project with billing enabled even for free usage.",
    "verified": "2026-09-24",
    "operations": [
      "translation",
      "language-detection"
    ],
    "free_plan": {
      "kind": "free_tier",
      "quota": "500,000 characters NMT (applied as $10 credit every month)",
      "period": "month",
      "source_url": "https://cloud.google.com/translate/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "scheme": "bearer",
      "format": "Authorization: Bearer $(gcloud auth print-access-token) + x-goog-user-project (v3); the Basic v2 edition also accepts ?key=<API_KEY>",
      "source_url": "https://docs.cloud.google.com/translate/docs/basic/translating-text",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://translation.googleapis.com",
    "no_auth": false,
    "call": {
      "operation": "translate text",
      "method": "POST",
      "url": "https://translation.googleapis.com/v3/projects/{PROJECT_ID}:translateText",
      "example": "curl -X POST -H \"Authorization: Bearer $(gcloud auth print-access-token)\" -H \"x-goog-user-project: $PROJECT_ID\" -H \"Content-Type: application/json; charset=utf-8\" -d '{\"sourceLanguageCode\": \"en\", \"targetLanguageCode\": \"pl\", \"contents\": [\"Bring me some coffee!\"]}' https://translation.googleapis.com/v3/projects/$PROJECT_ID:translateText",
      "response_fields": [
        "translations[].translatedText"
      ],
      "async": null,
      "source_url": "https://docs.cloud.google.com/translate/docs/basic/translating-text",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "NMT text translation: $20 per 1M characters after the first 500,000 characters/month (free, applied as $10 monthly credit)",
      "source_url": "https://cloud.google.com/translate/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://translation.googleapis.com",
        "probes": 1,
        "up": 1,
        "median_ms": 343,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "languagetool-api",
    "name": "LanguageTool API",
    "category": "translation-language",
    "homepage": "https://languagetool.org/http-api/",
    "docs": "https://languagetool.org/http-api/",
    "auth": "api_key",
    "auth_hint": "username + apiKey form-data params on https://api.languagetoolplus.com/v2 (Premium); anonymous on the free public endpoint https://api.languagetool.org/v2",
    "mcp": {
      "type": "community",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/BaconDroid/languagetool-mcp-server",
      "source_url": "https://github.com/BaconDroid/languagetool-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": null,
      "issue": "entry lists no MCP server (mcp.url null)"
    },
    "free_tier": "Free: no key needed on public endpoint (rate-limited: 20 req/min, 75KB text/min per IP, 20KB per request)",
    "sdk": [],
    "openapi": "https://languagetool.org/http-api/swagger-ui/",
    "llms_txt": null,
    "desc_en": "Check grammar, style, and spelling in 30+ languages via a public HTTP API, with an optional Premium key for higher limits.",
    "notes": "This is a proofreading/grammar API, not machine translation. The keyless host api.languagetool.org is documented only on dev.languagetool.org/public-http-api; the OpenAPI spec lists only the Premium host",
    "verified": "2026-09-24",
    "operations": [
      "grammar-check"
    ],
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "20 requests/min and 75KB text/min per IP; 20KB per request",
      "source_url": "https://dev.languagetool.org/public-http-api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "name": "apiKey",
      "format": "POST form fields username=<login email>&apiKey=<key> (Premium, api.languagetoolplus.com/v2); none on public api.languagetool.org",
      "source_url": "https://languagetool.org/http-api/languagetool-swagger.json",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.languagetool.org/v2",
    "rate_limits": {
      "summary": "Public API: 20 requests per IP per minute, 75KB text per IP per minute, 20KB per request",
      "source_url": "https://dev.languagetool.org/public-http-api",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "Synchronous POST /v2/check",
      "source_url": "https://dev.languagetool.org/public-http-api"
    },
    "no_auth": false,
    "call": {
      "operation": "check text for grammar and spelling errors",
      "method": "POST",
      "url": "https://api.languagetool.org/v2/check",
      "example": "curl -d \"text=This is an test.\" -d \"language=auto\" https://api.languagetool.org/v2/check",
      "response_fields": [
        "matches[].message",
        "matches[].offset",
        "matches[].length",
        "matches[].replacements[].value",
        "language.detectedLanguage.code"
      ],
      "async": null,
      "source_url": "https://dev.languagetool.org/public-http-api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/LanguageTool/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.languagetool.org/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 701,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/languagetool-api.json"
  },
  {
    "id": "lara-translate-api",
    "name": "Lara Translate API",
    "category": "translation-language",
    "homepage": "https://laratranslate.com",
    "docs": "https://developers.laratranslate.com/docs/introduction",
    "auth": "api_key",
    "auth_hint": "An Access Key ID plus an Access Key Secret, created under 'API credentials' in the Lara Translate account dashboard after signing up for any plan, including Free; the secret cannot be recovered if lost.",
    "mcp": {
      "type": "official",
      "url": "https://mcp-v2.laratranslate.com/v1",
      "maintainer": "vendor",
      "remote_url": "https://mcp-v2.laratranslate.com/v1",
      "repo": "https://github.com/translated/lara-mcp",
      "tools": [
        "translate",
        "detect_language",
        "list_languages",
        "list_memories",
        "create_memory",
        "update_memory",
        "delete_memory",
        "add_translation",
        "delete_translation",
        "import_tmx",
        "check_import_status",
        "list_glossaries",
        "get_glossary",
        "create_glossary",
        "update_glossary",
        "delete_glossary",
        "add_glossary_entry",
        "delete_glossary_entry",
        "import_glossary_csv",
        "export_glossary",
        "check_glossary_import_status",
        "get_glossary_counts"
      ],
      "covers_full_api": true,
      "source_url": "https://developers.laratranslate.com/docs/getting-started-with-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp-v2.laratranslate.com/v1",
        "derived": true
      }
    },
    "free_tier": "Free: 10,000 API characters/month (shared by translation and language detection), no credit card required",
    "sdk": [
      "python",
      "javascript",
      "java",
      "php",
      "go",
      "csharp",
      "swift"
    ],
    "openapi": null,
    "llms_txt": "https://developers.laratranslate.com/llms.txt",
    "desc_en": "Translate text, documents, images and audio with context, style, glossaries and translation memories, and detect the language of text.",
    "notes": "Successor to ModernMT, which closed new sign-ups. Raw REST auth: POST /v2/auth/ signed with HMAC-SHA256 (Authorization: Lara:<base64-signature> plus X-Lara-Date) returns a JWT valid 10 minutes, sent as Authorization: Bearer <token> and refreshed via POST /v2/auth/refresh; the SDKs do the signing. Hosted MCP uses OAuth by default and also accepts access keys; npm @translated/lara-mcp runs locally over stdio. Pay-as-you-go: EUR 20 per 1M characters (Pro), EUR 15 (Team).",
    "verified": "2026-09-24",
    "operations": [
      "translation",
      "language-detection"
    ],
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "10,000 API characters (translation and language detection combined)",
      "period": "month",
      "source_url": "https://laratranslate.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "api_key",
      "scheme": "HMAC-SHA256 signed key exchange for a JWT bearer token",
      "format": "POST /v2/auth/ with {\"id\":\"<access-key-id>\"}, headers X-Lara-Date and Authorization: Lara:<base64 HMAC-SHA256 signature keyed with the secret>; then Authorization: Bearer <jwt>",
      "source_url": "https://developers.laratranslate.com/docs/switch-from-modernmt",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.laratranslate.com",
    "no_auth": false,
    "call": {
      "operation": "translate text (Bearer is a 10-minute JWT from POST /v2/auth/, signed with HMAC-SHA256 of the access key secret; see auth_scheme)",
      "method": "POST",
      "url": "https://api.laratranslate.com/v2/translate/",
      "example": "curl -X POST https://api.laratranslate.com/v2/translate/ -H \"Authorization: Bearer $LARA_JWT\" -H \"X-Lara-Date: $(date -u '+%a, %d %b %Y %H:%M:%S GMT')\" -H \"Content-Type: application/json\" -d '{\"q\":\"Hello world\",\"target\":\"pl-PL\"}'",
      "response_fields": [],
      "async": null,
      "source_url": "https://developers.laratranslate.com/docs/switch-from-modernmt",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pro: €20 per 1M characters; Team: €15 per 1M characters; free: 10,000 characters/month",
      "source_url": "https://app.laratranslate.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false
  },
  {
    "id": "cloudflare-sandbox-sdk",
    "name": "Cloudflare Sandbox SDK",
    "category": "code-execution-sandbox",
    "homepage": "https://developers.cloudflare.com/sandbox/",
    "docs": "https://developers.cloudflare.com/sandbox/api/",
    "auth": "api_key",
    "auth_hint": "Cloudflare API token to deploy the Worker; the sandbox itself is reached through your own deployed Worker route",
    "mcp": {
      "type": "official",
      "url": "https://containers.mcp.cloudflare.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://containers.mcp.cloudflare.com/mcp",
      "repo": "https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/sandbox-container",
      "tools": [
        "container_initialize",
        "container_ping",
        "container_file_write",
        "container_files_list",
        "container_file_read",
        "container_file_delete",
        "container_exec"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.cloudflare.com/agents/model-context-protocol/mcp-servers-for-cloudflare/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://containers.mcp.cloudflare.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/sandbox-container",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "requires Workers Paid plan ($5/mo) for Containers; no free tier for container-backed sandboxes",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Deploy a Cloudflare Worker embedding this SDK to run untrusted code in per-request container sandboxes.",
    "notes": "Not a hosted API called directly with a key - you deploy your own Worker using the SDK on Cloudflare Containers/Durable Objects. The official Container MCP is a generic sandbox, not a Sandbox SDK wrapper.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://developers.cloudflare.com/containers/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <CLOUDFLARE_API_TOKEN> (Cloudflare API, used to deploy the Worker; sandbox reached via your own Worker)",
      "source_url": "https://developers.cloudflare.com/fundamentals/api/how-to/make-api-calls/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cloudflare.com/client/v4",
    "rate_limits": {
      "summary": "Worker subrequests per request: 50 on Free, 1,000 on Paid (HTTP transport); RPC transport avoids extra subrequests",
      "source_url": "https://developers.cloudflare.com/sandbox/platform/limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "code-execution",
      "sandbox-vm"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cloudflare.com/client/v4",
        "probes": 1,
        "up": 1,
        "median_ms": 327,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://containers.mcp.cloudflare.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 466,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "codesandbox-sdk",
    "name": "CodeSandbox SDK",
    "category": "code-execution-sandbox",
    "homepage": "https://codesandbox.io/sdk",
    "docs": "https://codesandbox.io/docs/sdk",
    "auth": "api_key",
    "auth_hint": "CSB_API_KEY env var, passed to the CodeSandbox() SDK constructor",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free plan: 400 VM credits/mo (~40 Nano-VM hrs), up to 10 concurrent VMs",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Programmatically create, resume, and control cloud VM sandboxes to run and preview AI-written code.",
    "notes": "Also powers Together AI's white-labeled 'Code Sandbox' product; unofficial community MCP wrappers exist but none vendor-maintained.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <CSB_API_KEY> (SDK: new CodeSandbox(process.env.CSB_API_KEY))",
      "source_url": "https://github.com/codesandbox/codesandbox-sdk/blob/main/src/utils/api.ts",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.codesandbox.io",
    "operations": [
      "sandbox-vm",
      "code-execution"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.codesandbox.io",
        "probes": 1,
        "up": 1,
        "median_ms": 566,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "daytona",
    "name": "Daytona",
    "category": "code-execution-sandbox",
    "homepage": "https://www.daytona.io",
    "docs": "https://www.daytona.io/docs",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <DAYTONA_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://www.daytona.io/docs/en/mcp/",
      "maintainer": "vendor",
      "repo": "https://github.com/daytonaio/daytona",
      "source_url": "https://www.daytona.io/docs/en/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "stdio",
        "command": "daytona",
        "args": [
          "mcp",
          "start"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://www.daytona.io/docs/en/mcp/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: $200 free compute credit one-time on signup, no credit card required; first 5 GiB storage free; startup program up to $50k credits",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://www.daytona.io/docs/llms-full.txt",
    "desc_en": "Create elastic remote sandboxes via SDK/API to run AI-generated code with sub-second startup.",
    "notes": "Billed per second; supports sandbox snapshots and preview URLs for web apps. Official MCP server runs locally via the Daytona CLI (daytona mcp start); no hosted endpoint.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$200 free compute; first 5 GiB storage free",
      "period": "one_time",
      "source_url": "https://www.daytona.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <DAYTONA_API_KEY>",
      "source_url": "https://www.daytona.io/docs/en/api-keys/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app.daytona.io/api",
    "rate_limits": {
      "summary": "Tier 1: 10,000 general requests/min, 300 sandbox creations/min, 10,000 lifecycle ops/min; higher tiers up to 50,000/600/50,000",
      "source_url": "https://www.daytona.io/docs/en/limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sandbox-vm",
      "code-execution"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a sandbox",
      "method": "POST",
      "url": "https://app.daytona.io/api/sandbox",
      "example": "curl -X POST https://app.daytona.io/api/sandbox -H \"Authorization: Bearer $DAYTONA_API_KEY\" -H 'Content-Type: application/json' -d '{}'",
      "response_fields": [
        "id",
        "state",
        "cpu",
        "memory"
      ],
      "async": "state starts as creating; poll GET https://app.daytona.io/api/sandbox/{sandboxIdOrName} until state is started",
      "source_url": "https://www.daytona.io/docs/en/tools/api/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "billed per second: $0.0504 per vCPU-hour, $0.0162 per GiB RAM-hour, $0.000108 per GiB disk-hour (first 5 GiB free)",
      "source_url": "https://www.daytona.io/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app.daytona.io/api",
        "probes": 1,
        "up": 1,
        "median_ms": 429,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "e2b",
    "name": "E2B",
    "category": "code-execution-sandbox",
    "homepage": "https://e2b.dev",
    "docs": "https://e2b.dev/docs",
    "auth": "api_key",
    "auth_hint": "E2B_API_KEY env var / X-API-Key: <key> header (Bearer works only together with an X-Team-ID header)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/e2b-dev/mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/e2b-dev/mcp-server",
      "covers_full_api": false,
      "source_url": "https://github.com/e2b-dev/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null,
      "issue": "e2b-dev/mcp-server archived since 2026-04"
    },
    "free_tier": "Trial: one-time $100 usage credit on signup (Hobby, no card); up to 1 h per sandbox, 20 concurrent; then pay-as-you-go",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.e2b.dev/llms.txt",
    "desc_en": "Spin up isolated Firecracker cloud sandboxes via SDK/REST to execute AI-generated code and return results.",
    "notes": "Sandboxes auto-expire after a configurable timeout (default ~5 min); used by many agent frameworks (OpenHands, etc.). The e2b-dev/mcp-server repo was archived and deprecated on 2026-04-16.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "One-time $100 in usage credits; up to 1 hour per sandbox session, 20 concurrent sandboxes",
      "period": "one_time",
      "source_url": "https://e2b.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <E2B_API_KEY>",
      "source_url": "https://github.com/e2b-dev/E2B/blob/main/spec/openapi.yml",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.e2b.app",
    "rate_limits": {
      "summary": "Hobby: 1 sandbox creation/sec, 20 concurrent sandboxes, max 1 hour continuous runtime",
      "source_url": "https://docs.e2b.dev/sandbox/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sandbox-vm",
      "code-execution"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a sandbox",
      "method": "POST",
      "url": "https://api.e2b.app/v2/sandboxes",
      "example": "curl -X POST https://api.e2b.app/v2/sandboxes -H \"X-API-Key: $E2B_API_KEY\" -H 'Content-Type: application/json' -d '{\"templateID\": \"base\", \"timeout\": 300}'",
      "response_fields": [
        "sandboxID",
        "templateID",
        "envdAccessToken",
        "domain"
      ],
      "async": null,
      "source_url": "https://github.com/e2b-dev/E2B/blob/main/spec/openapi.yml",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Per running second: $0.000014 per vCPU + $0.0000045 per GiB RAM (default 2 vCPU = $0.000028/s CPU)",
      "source_url": "https://e2b.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "e2b-dev/mcp-server",
        "stars": 394,
        "forks": 72,
        "pushed_at": "2026-04-16",
        "archived": true,
        "url": "https://github.com/e2b-dev/mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.e2b.app",
        "probes": 1,
        "up": 1,
        "median_ms": 236,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "judge0",
    "name": "Judge0",
    "category": "code-execution-sandbox",
    "homepage": "https://judge0.com",
    "docs": "https://ce.judge0.com/",
    "auth": "api_key",
    "auth_hint": "X-Auth-Token header (self-hosted, if enabled) or X-RapidAPI-Key (RapidAPI-hosted); can run with none if self-hosted unauthenticated",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only on Judge0 Cloud (Pro EUR 27/mo for 2,000 submissions/day and up); self-host free & open-source (GPLv3)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Submit source code and stdin via REST to compile/run it in 60+ languages and poll for the result.",
    "notes": "Built for compile-run-compare judging (like competitive programming), not long-lived interactive agent sandboxes; self-hosting recommended for production agent use.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Auth-Token",
      "format": "X-Auth-Token: <AUTH_TOKEN> (optional; header name configurable by the instance admin)",
      "source_url": "https://ce.judge0.com/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://ce.judge0.com",
    "rate_limits": {
      "summary": "Cloud plans: Pro 2,000, Ultra 5,000, Mega 10,000 submissions/day; extra submissions EUR 0.001 each",
      "source_url": "https://judge0.com/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /submissions returns a token; poll GET /submissions/{token} (wait=true for sync where enabled)",
      "source_url": "https://ce.judge0.com/"
    },
    "operations": [
      "code-execution"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://ce.judge0.com",
        "probes": 1,
        "up": 1,
        "median_ms": 552,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "modal",
    "name": "Modal",
    "category": "code-execution-sandbox",
    "homepage": "https://modal.com",
    "docs": "https://modal.com/docs/guide/sandboxes",
    "auth": "api_key",
    "auth_hint": "MODAL_TOKEN_ID + MODAL_TOKEN_SECRET (generated via `modal token new`)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/milkymap/mcp4modal_sandbox",
      "maintainer": "community",
      "repo": "https://github.com/milkymap/mcp4modal_sandbox",
      "tools": [
        "launch_sandbox",
        "terminate_sandbox",
        "list_sandboxes",
        "execute_command",
        "push_file_to_sandbox",
        "pull_file_from_sandbox",
        "list_directory_contents",
        "make_directory",
        "remove_path",
        "read_file_content_from_sandbox",
        "write_file_content_to_sandbox"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/milkymap/mcp4modal_sandbox",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "mcp4modal-sandbox",
          "--transport",
          "stdio",
          "--app_name",
          "{app_name}"
        ],
        "env": [
          "MODAL_TOKEN_ID",
          "MODAL_TOKEN_SECRET"
        ],
        "docs_only": false,
        "source_url": "https://github.com/milkymap/mcp4modal_sandbox#integration-with-claude-desktop",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Starter plan: $0 base + $30/mo free credits",
    "sdk": [
      "python",
      "javascript",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Programmatically launch serverless sandboxes, optionally with GPUs, to execute untrusted or agent code.",
    "notes": "Sandbox compute billed separately from regular function compute (~$0.14/vCPU-hr); Python SDK is most mature/complete.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "$30/month free compute on Starter ($0 base)",
      "period": "month",
      "source_url": "https://modal.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "format": "MODAL_TOKEN_ID=ak-... and MODAL_TOKEN_SECRET=as-... env vars (or `modal token set`), used by the SDK",
      "source_url": "https://modal.com/docs/reference/modal.config",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Starter: 100 containers + 10 GPU concurrency",
      "source_url": "https://modal.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sandbox-vm",
      "code-execution"
    ],
    "no_auth": false,
    "unit_price": {
      "summary": "Sandboxes: CPU $0.00003942 per core-second, memory $0.00000667 per GiB-second; GPUs e.g. T4 $0.000164/s, H100 $0.001097/s",
      "source_url": "https://modal.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "milkymap/mcp4modal_sandbox",
        "stars": 1,
        "forks": 0,
        "pushed_at": "2025-07-09",
        "archived": false,
        "url": "https://github.com/milkymap/mcp4modal_sandbox",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "piston",
    "name": "Piston",
    "category": "code-execution-sandbox",
    "homepage": "https://github.com/engineer-man/piston",
    "docs": "https://piston.readthedocs.io/en/latest/api-v2/",
    "auth": "api_key",
    "auth_hint": "authorization token for the public emkc.org instance, granted by EngineerMan (Discord) only for non-commercial educational projects; none when self-hosted",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free: self-host (open source); public emkc.org API no longer open since 2026-02-15, token only for non-commercial educational projects",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Call a free public REST API to compile and run code in 70+ languages inside isolated containers.",
    "notes": "Public emkc.org instance closed to open use on 2026-02-15; self-host via Docker for agent workloads. Widely used by Discord/Slack bots.",
    "verified": "2026-09-24",
    "base_url": "https://emkc.org/api/v2/piston",
    "operations": [
      "code-execution"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "engineer-man/piston",
        "stars": 2823,
        "forks": 468,
        "pushed_at": "2026-07-31",
        "archived": false,
        "url": "https://github.com/engineer-man/piston",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://emkc.org/api/v2/piston",
        "probes": 1,
        "up": 1,
        "median_ms": 305,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "riza",
    "name": "Riza",
    "category": "code-execution-sandbox",
    "homepage": "https://riza.io",
    "docs": "https://docs.riza.io/api-reference/command/execute-code",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <RIZA_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.riza.io/code-interpreter",
      "maintainer": "vendor",
      "remote_url": "https://mcp.riza.io/code-interpreter",
      "repo": "https://github.com/riza-io/riza-mcp",
      "tools": [
        "create_tool",
        "fetch_tool",
        "execute_tool",
        "edit_tool",
        "list_tools",
        "execute_code"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.riza.io/getting-started/mcp-servers",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "url": "https://mcp.riza.io/code-interpreter",
        "headers": {
          "Authorization": "Bearer $RIZA_API_KEY"
        },
        "oauth": false,
        "env": [
          "RIZA_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://docs.riza.io/getting-started/mcp-servers",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: Hobby plan free forever, 100,000 requests/month, 30 s execution limit; then usage-based pricing",
    "sdk": [
      "python",
      "typescript",
      "go"
    ],
    "openapi": null,
    "llms_txt": "https://docs.riza.io/llms.txt",
    "desc_en": "Call a REST API to execute untrusted Python/JS/Ruby/PHP code in sandboxes that start in under 10ms.",
    "notes": "Also supports saving reusable 'tools' (functions) via a Tools API for repeated agent calls.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100,000 requests/month (Hobby, free forever), 30 s execution limit",
      "period": "month",
      "source_url": "https://riza.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <RIZA_API_KEY>",
      "source_url": "https://docs.riza.io/api-reference/command/execute-code",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.riza.io",
    "rate_limits": {
      "summary": "Hobby: 100,000 requests/month, 30 s max execution, 128 MB memory per invocation",
      "source_url": "https://riza.io/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "code-execution",
      "sandbox-vm"
    ],
    "no_auth": false,
    "call": {
      "operation": "execute untrusted Python code in a sandbox",
      "method": "POST",
      "url": "https://api.riza.io/v1/execute",
      "example": "curl https://api.riza.io/v1/execute -H \"Content-Type: application/json\" -H \"Authorization: Bearer $RIZA_API_KEY\" -d '{\"language\":\"python\",\"code\":\"import sys\\nprint(sys.stdin.read()[::-1])\",\"stdin\":\"Hello\"}'",
      "response_fields": [
        "exit_code",
        "stdout",
        "stderr"
      ],
      "async": null,
      "source_url": "https://docs.riza.io/api-reference/command/execute-code",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "error",
      "mcp_detail": "timeout",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.riza.io",
        "probes": 1,
        "up": 0,
        "median_ms": null,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": "tls"
        }
      },
      "mcp_remote": {
        "url": "https://mcp.riza.io/code-interpreter",
        "probes": 1,
        "up": 0,
        "median_ms": null,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": "tls"
        }
      }
    }
  },
  {
    "id": "runloop",
    "name": "Runloop",
    "category": "code-execution-sandbox",
    "homepage": "https://www.runloop.ai",
    "docs": "https://docs.runloop.ai/docs/devboxes/overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <RUNLOOP_API_KEY> (auto-loaded from RUNLOOP_API_KEY env var)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/runloopai/api-client-ts/tree/main/packages/mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/runloopai/api-client-ts/tree/main/packages/mcp-server",
      "covers_full_api": true,
      "source_url": "https://github.com/runloopai/api-client-ts/tree/main/packages/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@runloop/api-client-mcp"
        ],
        "env": [
          "RUNLOOP_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/runloopai/api-client-ts/tree/main/packages/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "$50 free credits on signup, then usage-based ($0.108/CPU-hr, $0.0252/GB-hr)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.runloop.ai/llms.txt",
    "desc_en": "Create, snapshot, suspend/resume, and run commands in Linux Devboxes via API/SDK for agent coding tasks.",
    "notes": "Official local MCP server @runloop/api-client-mcp (npx, RUNLOOP_API_KEY) exposes the Runloop API; the 'MCP Hub' feature lets Devboxes connect outward to other MCP servers.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$50 in credits; trial limits 3 running devboxes, 5 blueprints, 10 snapshots",
      "period": "one_time",
      "source_url": "https://www.runloop.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <RUNLOOP_API_KEY>",
      "source_url": "https://github.com/runloopai/api-client-ts",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.runloop.ai",
    "operations": [
      "sandbox-vm",
      "code-execution"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a devbox",
      "method": "POST",
      "url": "https://api.runloop.ai/v1/devboxes",
      "example": "curl -X POST https://api.runloop.ai/v1/devboxes -H \"Authorization: Bearer $RUNLOOP_API_KEY\" -H \"Content-Type: application/json\" -d '{\"name\":\"agent-box\"}'",
      "response_fields": [
        "id",
        "status",
        "name"
      ],
      "async": "poll GET https://api.runloop.ai/v1/devboxes/{id} until status is running",
      "source_url": "https://docs.runloop.ai/api-reference/devbox/create-a-devbox",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Devbox: $0.108 per CPU-hour + $0.0252 per GB-hour memory; blueprint build $0.252/hour",
      "source_url": "https://www.runloop.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.runloop.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 371,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "vercel-sandbox",
    "name": "Vercel Sandbox",
    "category": "code-execution-sandbox",
    "homepage": "https://vercel.com/docs/vercel-sandbox",
    "docs": "https://vercel.com/docs/sandbox",
    "auth": "api_key+oauth2",
    "auth_hint": "VERCEL_OIDC_TOKEN (recommended, auto on Vercel) or VERCEL_TOKEN Bearer + team/project IDs",
    "mcp": {
      "type": "official",
      "url": "https://vercel.com/docs/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.vercel.com",
      "covers_full_api": false,
      "source_url": "https://vercel.com/docs/agent-resources/vercel-mcp/tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.vercel.com",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://vercel.com/docs/agent-resources/vercel-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "usage included on Hobby plan, otherwise usage-based on Pro/Enterprise",
    "sdk": [
      "typescript",
      "python"
    ],
    "openapi": "https://openapi.vercel.sh/",
    "llms_txt": null,
    "desc_en": "Boot ephemeral Firecracker microVMs via SDK/REST to run agent- or AI-generated code and shell commands.",
    "notes": "Pricing = active CPU + provisioned memory + per Sandbox.create() call + data transfer; 64 GB ephemeral NVMe per sandbox (SDK 3.0.0+ and custom images).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Hobby: 5 h Active CPU, 420 GB-h memory, 5,000 creations, 20 GB data transfer; paused when exceeded",
      "period": "month",
      "source_url": "https://vercel.com/docs/sandbox/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <VERCEL_TOKEN or VERCEL_OIDC_TOKEN> (+ teamId/projectId)",
      "source_url": "https://vercel.com/docs/rest-api/sandboxes/delete-a-sandbox",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.vercel.com",
    "rate_limits": {
      "summary": "Hobby: 10 concurrent sandboxes, 45 min max session, 20-40 vCPUs/min allocation, 1,000 control-plane req/min; Pro: 10,000 concurrent, 24 h",
      "source_url": "https://vercel.com/docs/sandbox/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sandbox-vm",
      "code-execution"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a sandbox microVM",
      "method": "POST",
      "url": "https://api.vercel.com/v4/sandboxes?teamId={teamId}",
      "example": "curl -X POST \"https://api.vercel.com/v4/sandboxes?teamId=$VERCEL_TEAM_ID\" -H \"Authorization: Bearer $VERCEL_TOKEN\" -H \"Content-Type: application/json\" -d '{\"projectId\": \"prj_abc123\", \"name\": \"my-sandbox\", \"timeout\": 300000}'",
      "response_fields": [
        "sandbox.name",
        "sandbox.status",
        "sandbox.currentSessionId",
        "session.id",
        "routes[].url"
      ],
      "source_url": "https://vercel.com/docs/rest-api/sandboxes/create-a-named-sandbox-2",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Pro: $0.60 per 1M sandbox creations + $0.128 per active CPU hour + $0.0212 per GB-hour of memory (iad1); Hobby includes 5,000 creations and 5 CPU hours/month",
      "source_url": "https://vercel.com/docs/sandbox/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.vercel.com",
        "probes": 1,
        "up": 1,
        "median_ms": 802,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.vercel.com",
        "probes": 1,
        "up": 1,
        "median_ms": 212,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "circleci-api",
    "name": "CircleCI API",
    "category": "developer-devops",
    "homepage": "https://circleci.com/docs/api/v2/",
    "docs": "https://circleci.com/docs/api/v2/",
    "auth": "api_key",
    "auth_hint": "Circle-Token: <token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.circleci.com/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.circleci.com/v1/mcp",
      "repo": "https://github.com/CircleCI-Public/mcp-server-circleci",
      "tools": [
        "list_runs",
        "get_run",
        "list_run_workflows",
        "get_workflow",
        "list_workflow_jobs",
        "get_job",
        "list_job_tests",
        "get_job_logs",
        "get_job_resource_usage",
        "list_job_artifacts",
        "rerun_workflow",
        "cancel_workflow",
        "validate_config",
        "get_orb",
        "get_orb_source",
        "list_deployments",
        "list_deploy_components",
        "list_deploy_environments",
        "list_deploy_component_versions",
        "rollback_deploy_component",
        "get_me",
        "download_usage_data"
      ],
      "covers_full_api": false,
      "source_url": "https://circleci.com/changelog/hosted-mcp-server-now-available/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.circleci.com/v1/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://circleci.com/changelog/hosted-mcp-server-now-available/",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan: 30,000 credits/month (~6,000 build minutes on a small Docker resource class), credits expire monthly",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://circleci.com/docs/llms.txt",
    "desc_en": "An agent can trigger pipelines, rerun workflows, fetch logs/test results, and validate CI/CD configuration via REST.",
    "notes": "Use the v3 API for new work (v2 still supported). CircleCI's hosted MCP is at https://mcp.circleci.com/v1/mcp (OAuth2 sign-in, 24 tools); the mcp-server-circleci npm package is deprecated.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "30,000 credits (up to 6,000 build minutes on small Docker), up to 5 active users",
      "period": "month",
      "source_url": "https://circleci.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Circle-Token",
      "format": "Circle-Token: <CIRCLE_TOKEN>",
      "source_url": "https://circleci.com/docs/api/v2/index.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://circleci.com/api/v2",
    "operations": [
      "ci-cd"
    ],
    "no_auth": false,
    "call": {
      "operation": "trigger a pipeline on a branch",
      "method": "POST",
      "url": "https://circleci.com/api/v2/project/{project-slug}/pipeline",
      "example": "curl -X POST https://circleci.com/api/v2/project/gh/{org}/{repo}/pipeline -H \"Circle-Token: $CIRCLE_TOKEN\" -H \"Content-Type: application/json\" -d '{\"branch\":\"main\"}'",
      "response_fields": [
        "id",
        "number",
        "state",
        "created_at"
      ],
      "async": "the pipeline runs in the background; poll GET https://circleci.com/api/v2/pipeline/{id}/workflow for workflow status",
      "source_url": "https://circleci.com/docs/api/v2/index.html",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Compute billed in credits: Linux Medium = 10 credits per minute; extra credits $15 per 25,000 (about $0.006 per Linux Medium minute)",
      "source_url": "https://circleci.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "CircleCI-Public/mcp-server-circleci",
        "stars": 94,
        "forks": 63,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/CircleCI-Public/mcp-server-circleci",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 3.0,
        "reviews": 2,
        "url": "https://sourceforge.net/software/product/CircleCI/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://circleci.com/api/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 309,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.circleci.com/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 332,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/circleci-api.json"
  },
  {
    "id": "datadog-api",
    "name": "Datadog API",
    "category": "developer-devops",
    "homepage": "https://docs.datadoghq.com/api/",
    "docs": "https://docs.datadoghq.com/api/",
    "auth": "api_key",
    "auth_hint": "DD-API-KEY: <api_key> plus DD-APPLICATION-KEY: <app_key> for some endpoints",
    "mcp": {
      "type": "official",
      "url": "https://mcp.datadoghq.com/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.datadoghq.com/v1/mcp",
      "tools": [
        "search_datadog_logs",
        "analyze_datadog_logs",
        "search_datadog_metrics",
        "get_datadog_metric",
        "search_datadog_monitors",
        "search_datadog_incidents",
        "get_datadog_incident",
        "search_datadog_dashboards",
        "search_datadog_spans",
        "get_datadog_trace",
        "search_datadog_hosts",
        "search_datadog_events",
        "create_datadog_notebook"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.datadoghq.com/getting_started/software_delivery_mcp_tools/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.{dd_site}/v1/mcp",
        "headers": {
          "Authorization": "Bearer $DD_ACCESS_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.datadoghq.com/mcp_server/setup/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free Infrastructure Monitoring plan: 1-day metric retention, up to 5 hosts; other products (APM, Logs, Security) are paid",
    "sdk": [
      "java",
      "python",
      "ruby",
      "go",
      "typescript",
      "rust"
    ],
    "openapi": null,
    "llms_txt": "https://docs.datadoghq.com/llms.txt",
    "desc_en": "An agent can query metrics, logs, traces, monitors, and dashboards, and manage Datadog configuration via REST.",
    "notes": "Datadog MCP server endpoint is site-specific (app.datadoghq.com, datadoghq.eu, etc.); supports OAuth2, personal/service tokens, or DD-API-KEY/DD-APPLICATION-KEY headers.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Infrastructure free plan: up to 5 hosts, 1-day metric retention",
      "source_url": "https://www.datadoghq.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "DD-API-KEY",
      "format": "DD-API-KEY: <api_key> and DD-APPLICATION-KEY: <app_key>",
      "source_url": "https://docs.datadoghq.com/api/latest/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.datadoghq.com",
    "rate_limits": {
      "summary": "Per-endpoint limits (429 when exceeded); metric data-point submission is not rate limited",
      "source_url": "https://docs.datadoghq.com/api/latest/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "monitoring",
      "incident-management"
    ],
    "no_auth": false,
    "call": {
      "operation": "query metric timeseries",
      "method": "GET",
      "url": "https://api.datadoghq.com/api/v1/query?from={from}&to={to}&query={query}",
      "example": "curl -G \"https://api.datadoghq.com/api/v1/query\" --data-urlencode \"from=$FROM_EPOCH\" --data-urlencode \"to=$TO_EPOCH\" --data-urlencode \"query=avg:system.cpu.user{*}\" -H \"Accept: application/json\" -H \"DD-API-KEY: $DD_API_KEY\" -H \"DD-APPLICATION-KEY: $DD_APP_KEY\"",
      "response_fields": [
        "status",
        "series[].metric",
        "series[].pointlist",
        "series[].scope"
      ],
      "async": null,
      "source_url": "https://docs.datadoghq.com/api/latest/metrics/query-timeseries-points/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.9,
        "reviews": 7,
        "url": "https://sourceforge.net/software/product/Datadog/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.datadoghq.com",
        "probes": 1,
        "up": 1,
        "median_ms": 226,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/datadog-api.json"
  },
  {
    "id": "docker-hub-api",
    "name": "Docker Hub API",
    "category": "developer-devops",
    "homepage": "https://docs.docker.com/docker-hub/api/latest/",
    "docs": "https://docs.docker.com/reference/api/hub/latest/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <token> (obtained via login or a Personal/Organization Access Token)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/docker/hub-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/docker/hub-mcp",
      "tools": [
        "search",
        "get_namespaces",
        "list_repositories_by_namespace",
        "get_repository_info",
        "check_repository",
        "create_repository",
        "update_repository_info",
        "list_repository_tags",
        "read_repository_tag",
        "check_repository_tag",
        "docker_hardened_images"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/docker/hub-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/PATH/TO/hub-mcp/dist/index.js",
          "--transport=stdio",
          "--username=$DOCKER_HUB_USERNAME"
        ],
        "env": [
          "HUB_PAT_TOKEN"
        ],
        "docs_only": false,
        "source_url": "https://github.com/docker/hub-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free personal accounts with rate-limited image pulls; paid Pro/Team/Business tiers raise pull limits",
    "sdk": [],
    "openapi": "https://docs.docker.com/reference/api/hub/latest.yaml",
    "llms_txt": null,
    "desc_en": "An agent can search, push, pull, tag, and manage container images and repositories on Docker Hub.",
    "notes": "API is v2-beta; free/anonymous pulls are rate-limited. Docker's MCP Catalog/Toolkit offers 300+ containerized MCP servers. The hub-mcp server runs locally (stdio or self-run HTTP); no hosted endpoint.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Personal (free) account: 200 image pulls per 6 hours (unauthenticated 100 per IP)",
      "source_url": "https://docs.docker.com/docker-hub/usage/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "POST /v2/auth/token with username + PAT, then Authorization: Bearer <token>",
      "source_url": "https://docs.docker.com/reference/api/hub/latest/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://hub.docker.com",
    "rate_limits": {
      "summary": "Abuse limit of thousands of requests/min per IP; X-RateLimit-* headers, 429 with Retry-After; pulls 200/6h free, 100/6h anonymous",
      "source_url": "https://docs.docker.com/docker-hub/usage/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "package-registry"
    ],
    "no_auth": false,
    "call": {
      "operation": "list tags of a repository",
      "method": "GET",
      "url": "https://hub.docker.com/v2/namespaces/{namespace}/repositories/{repository}/tags",
      "example": "curl -H \"Authorization: Bearer $DOCKER_HUB_TOKEN\" https://hub.docker.com/v2/namespaces/library/repositories/nginx/tags",
      "response_fields": [
        "count",
        "next",
        "results[].name",
        "results[].last_updated"
      ],
      "async": null,
      "source_url": "https://docs.docker.com/reference/api/hub/latest/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "docker/hub-mcp",
        "stars": 165,
        "forks": 101,
        "pushed_at": "2026-08-27",
        "archived": false,
        "url": "https://github.com/docker/hub-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://hub.docker.com",
        "probes": 1,
        "up": 0,
        "median_ms": 8171,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": 503
        }
      }
    }
  },
  {
    "id": "github-api",
    "name": "GitHub API",
    "category": "developer-devops",
    "homepage": "https://docs.github.com/rest",
    "docs": "https://docs.github.com/rest",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://api.githubcopilot.com/mcp/",
      "maintainer": "vendor",
      "remote_url": "https://api.githubcopilot.com/mcp/",
      "repo": "https://github.com/github/github-mcp-server",
      "tools": [
        "get_file_contents",
        "issue_read",
        "issue_write",
        "create_pull_request",
        "merge_pull_request",
        "search_issues",
        "actions_list",
        "actions_get",
        "list_code_scanning_alerts"
      ],
      "source_url": "https://github.com/github/github-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.githubcopilot.com/mcp/",
        "headers": {
          "Authorization": "Bearer $GITHUB_PAT"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/github/github-mcp-server#install-in-vs-code",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free with any GitHub account; 5,000 req/hr authenticated, 60/hr unauthenticated",
    "sdk": [
      "javascript",
      "typescript",
      "ruby"
    ],
    "openapi": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json",
    "llms_txt": "https://docs.github.com/llms.txt",
    "desc_en": "An agent can manage repositories, issues, pull requests, releases, and code search via REST or GraphQL.",
    "notes": "Rate limits scale with auth type (60/hr unauth, 5,000/hr PAT, higher for GitHub Apps); secondary abuse limits also apply; GraphQL uses a separate points-based limit.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "5,000 requests/hour authenticated; 60/hour unauthenticated",
      "source_url": "https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <token> (plus X-GitHub-Api-Version header)",
      "source_url": "https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.github.com",
    "rate_limits": {
      "summary": "5,000 req/hour per user token (15,000 on Enterprise Cloud); 60/hour unauthenticated; secondary limits e.g. 100 concurrent, 900 points/min",
      "source_url": "https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "repo",
        "read:org",
        "workflow",
        "gist",
        "user",
        "notifications"
      ],
      "source_url": "https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "source-control",
      "ci-cd"
    ],
    "no_auth": false,
    "call": {
      "operation": "create an issue in a repository",
      "method": "POST",
      "url": "https://api.github.com/repos/{owner}/{repo}/issues",
      "example": "curl -L -X POST https://api.github.com/repos/OWNER/REPO/issues -H 'Accept: application/vnd.github+json' -H \"Authorization: Bearer $GITHUB_TOKEN\" -H 'X-GitHub-Api-Version: 2026-03-10' -d '{\"title\": \"Found a bug\", \"body\": \"Steps to reproduce...\"}'",
      "response_fields": [
        "number",
        "html_url",
        "id",
        "state"
      ],
      "async": null,
      "source_url": "https://docs.github.com/en/rest/issues/issues#create-an-issue",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "github/github-mcp-server",
        "stars": 33176,
        "forks": 5045,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/github/github-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 6059,
        "url": "https://smithery.ai/servers/github",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 21,
        "url": "https://sourceforge.net/software/product/GitHub/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.github.com",
        "probes": 1,
        "up": 1,
        "median_ms": 229,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://api.githubcopilot.com/mcp/",
        "probes": 1,
        "up": 1,
        "median_ms": 156,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/github-api.json"
  },
  {
    "id": "gitlab-api",
    "name": "GitLab API",
    "category": "developer-devops",
    "homepage": "https://docs.gitlab.com/api/",
    "docs": "https://docs.gitlab.com/api/",
    "auth": "api_key+oauth2",
    "auth_hint": "PRIVATE-TOKEN: <personal_access_token>",
    "mcp": {
      "type": "official",
      "url": "https://gitlab.com/api/v4/mcp",
      "maintainer": "vendor",
      "remote_url": "https://gitlab.com/api/v4/mcp",
      "tools": [
        "get_project",
        "create_issue",
        "get_issue",
        "list_merge_requests",
        "get_merge_request",
        "get_merge_request_diffs",
        "save_merge_request",
        "list_pipelines",
        "get_pipeline",
        "get_job",
        "get_repository_file",
        "list_commits",
        "search",
        "semantic_search",
        "list_work_items",
        "save_work_item"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.gitlab.com/user/model_context_protocol/mcp_server_tools/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://gitlab.com/api/v4/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.gitlab.com/user/model_context_protocol/mcp_server/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: full REST API access on GitLab.com Free plan; some features gated to Premium/Ultimate",
    "sdk": [],
    "openapi": "https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/api/openapi/openapi_v3.yaml",
    "llms_txt": "https://docs.gitlab.com/llms.txt",
    "desc_en": "An agent can manage projects, issues, merge requests, CI/CD pipelines, and repository files via REST/GraphQL.",
    "notes": "GitLab's official MCP server is in beta (GitLab 18.6+) at https://<gitlab-host>/api/v4/mcp with OAuth dynamic client registration, on all tiers incl. Free; no GitLab-maintained multi-language SDK, but community libraries (python-gitlab, node-gitlab) exist.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "GitLab.com Free: 100 authenticated API requests/min burst, 5,000/hour; unauthenticated 60/hour",
      "source_url": "https://docs.gitlab.com/user/gitlab_com/rate_limits/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "PRIVATE-TOKEN",
      "format": "PRIVATE-TOKEN: <personal_access_token> (OAuth: Authorization: Bearer <token>)",
      "source_url": "https://docs.gitlab.com/api/rest/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://gitlab.com/api/v4",
    "rate_limits": {
      "summary": "GitLab.com Free: 100 req/min burst and 5,000 req/hour per user; unauthenticated 60/hour",
      "source_url": "https://docs.gitlab.com/user/gitlab_com/rate_limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "source-control",
      "ci-cd"
    ],
    "no_auth": false,
    "call": {
      "operation": "create an issue",
      "method": "POST",
      "url": "https://gitlab.com/api/v4/projects/{id}/issues",
      "example": "curl --request POST --header \"PRIVATE-TOKEN: $GITLAB_TOKEN\" --url \"https://gitlab.com/api/v4/projects/$PROJECT_ID/issues?title=Issues%20with%20auth&labels=bug\"",
      "response_fields": [
        "id",
        "iid",
        "web_url",
        "state"
      ],
      "async": null,
      "source_url": "https://docs.gitlab.com/api/issues/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.4,
        "reviews": 14,
        "url": "https://sourceforge.net/software/product/GitLab/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://gitlab.com/api/v4",
        "probes": 1,
        "up": 1,
        "median_ms": 175,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://gitlab.com/api/v4/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 299,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/gitlab-api.json"
  },
  {
    "id": "globalping",
    "name": "Globalping Network Measurement API",
    "category": "developer-devops",
    "homepage": "https://globalping.io",
    "docs": "https://globalping.io/docs/api.globalping.io",
    "auth": "none",
    "auth_hint": "No key required; optional token from dash.globalping.io raises limits: 'Authorization: Bearer <GLOBALPING_TOKEN>'",
    "mcp": {
      "type": "official",
      "url": "https://mcp.globalping.dev/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.globalping.dev/mcp",
      "repo": "https://github.com/jsdelivr/globalping-mcp-server",
      "tools": [
        "ping",
        "traceroute",
        "dns",
        "mtr",
        "http",
        "locations",
        "limits",
        "getMeasurement",
        "compareLocations",
        "help",
        "authStatus"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/jsdelivr/globalping-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.globalping.dev/mcp",
        "headers": {
          "Authorization": "Bearer $GLOBALPING_API_TOKEN"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/jsdelivr/globalping-mcp-server#authentication",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key; 250 tests/hour anonymously (up to 50 probes per measurement), 500 tests/hour with a free account token (up to 500 probes); extra tests use credits.",
    "sdk": [
      "javascript",
      "go"
    ],
    "openapi": "https://api.globalping.io/v1/spec.yaml",
    "llms_txt": "https://globalping.io/llms.txt",
    "desc_en": "Lets an agent run ping, traceroute, MTR, DNS and HTTP tests from thousands of probes worldwide to check reachability, latency and routing of a host.",
    "notes": "Async: POST /v1/measurements, then poll GET /v1/measurements/{id}. Remote MCP (Streamable HTTP) takes OAuth or a Bearer token.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "250 tests/hour anonymous (50 probes/measurement); 500 tests/hour with free account token",
      "source_url": "https://github.com/jsdelivr/globalping",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No auth required; optional Authorization: Bearer <GLOBALPING_TOKEN> for higher limits",
      "source_url": "https://github.com/jsdelivr/globalping-mcp-server",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.globalping.io/v1",
    "rate_limits": {
      "summary": "250 tests/hour anonymous, 500 tests/hour registered; 2 GET requests/s per measurement",
      "source_url": "https://github.com/jsdelivr/globalping",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v1/measurements returns an id; poll GET /v1/measurements/{id}",
      "source_url": "https://github.com/jsdelivr/globalping"
    },
    "operations": [
      "network-probing"
    ],
    "no_auth": true,
    "call": {
      "operation": "run a ping test from probes in chosen countries",
      "method": "POST",
      "url": "https://api.globalping.io/v1/measurements",
      "example": "curl -X POST https://api.globalping.io/v1/measurements -H \"Content-Type: application/json\" -d '{\"type\":\"ping\",\"target\":\"cdn.jsdelivr.net\",\"locations\":[{\"country\":\"DE\",\"limit\":2}]}'",
      "response_fields": [
        "id",
        "probesCount"
      ],
      "async": "poll GET https://api.globalping.io/v1/measurements/{id} every 500 ms until status is not in-progress; read results[].result",
      "source_url": "https://api.globalping.io/v1/spec.yaml",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per probe test (ping from 5 locations = 5 credits); 250 free tests/hour anonymous, 500 with account; sponsors get 4,000 credits per $1",
      "source_url": "https://globalping.io/credits",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.globalping.io/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 505,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.globalping.dev/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 264,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "maven-central-search",
    "name": "Maven Central Search API",
    "category": "developer-devops",
    "homepage": "https://central.sonatype.com",
    "docs": "https://central.sonatype.org/search/rest-api-guide/",
    "auth": "none",
    "auth_hint": "No key: GET https://search.maven.org/solrsearch/select?q=<query>&rows=20&wt=json",
    "mcp": {
      "type": "community",
      "url": "https://github.com/arvindand/maven-tools-mcp",
      "maintainer": "community",
      "repo": "https://github.com/arvindand/maven-tools-mcp",
      "tools": [
        "get_latest_version",
        "check_version_exists",
        "check_multiple_dependencies",
        "compare_dependency_versions",
        "analyze_dependency_age",
        "analyze_release_patterns",
        "analyze_project_health",
        "analyze_pom_dependencies",
        "recommend_pom_upgrades"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/arvindand/maven-tools-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "arvindand/maven-tools-mcp:latest"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/arvindand/maven-tools-mcp#quick-start",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key; free public API with no published quota (fair use).",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent search Maven Central for Java/JVM artifacts by groupId, artifactId, class name or SHA-1 and look up the latest versions before adding a dependency.",
    "notes": "Solr-style queries (g:, a:, v:, fc:); core=gav lists all versions. Sonatype may throttle heavy automated use. Sonatype's own Guide MCP (mcp.guide.sonatype.com/mcp, bearer token) covers dependency intelligence, not this search API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://central.sonatype.org/search/rest-api-guide/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No auth: GET https://search.maven.org/solrsearch/select?q=<query>&rows=20&wt=json",
      "source_url": "https://central.sonatype.org/search/rest-api-guide/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://search.maven.org/solrsearch/select",
    "operations": [
      "package-lookup"
    ],
    "no_auth": true,
    "call": {
      "operation": "list all versions of an artifact",
      "method": "GET",
      "url": "https://search.maven.org/solrsearch/select?q={query}&rows=20&wt=json",
      "example": "curl 'https://search.maven.org/solrsearch/select?q=g:com.google.inject+AND+a:guice&core=gav&rows=20&wt=json'",
      "response_fields": [
        "response.numFound",
        "response.docs[].id",
        "response.docs[].v",
        "response.docs[].latestVersion"
      ],
      "async": null,
      "source_url": "https://central.sonatype.org/search/rest-api-guide/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://search.maven.org/solrsearch/select",
        "probes": 1,
        "up": 1,
        "median_ms": 188,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    }
  },
  {
    "id": "pagerduty-api",
    "name": "PagerDuty API",
    "category": "developer-devops",
    "homepage": "https://developer.pagerduty.com",
    "docs": "https://developer.pagerduty.com",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Token token=<API_KEY> (or Authorization: Bearer <oauth_token>)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.pagerduty.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.pagerduty.com/mcp",
      "repo": "https://github.com/PagerDuty/pagerduty-mcp-server",
      "tools": [
        "browse_incidents",
        "manage_incidents",
        "browse_services",
        "manage_services",
        "browse_schedules",
        "manage_schedules",
        "browse_teams",
        "browse_escalation_policies",
        "browse_users",
        "browse_change_events",
        "browse_event_orchestrations",
        "browse_status_pages"
      ],
      "covers_full_api": false,
      "source_url": "https://support.pagerduty.com/main/docs/pagerduty-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.pagerduty.com/mcp",
        "headers": {
          "Authorization": "Token token=$PAGERDUTY_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://support.pagerduty.com/main/docs/pagerduty-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan for up to 5 users: 100 monthly SMS/phone notifications, 1 on-call schedule, 1 escalation policy, API access",
    "sdk": [],
    "openapi": "https://github.com/PagerDuty/api-schema",
    "llms_txt": null,
    "desc_en": "An agent can create/manage incidents, on-call schedules, escalation policies, and services via REST.",
    "notes": "The self-hosted pagerduty-mcp-server repo is deprecated and archived; use the hosted MCP https://mcp.pagerduty.com/mcp (EU: https://mcp.eu.pagerduty.com/mcp) with an API token or OAuth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan: up to 5 users, 100 SMS/phone notifications, 1 on-call schedule, 1 escalation policy",
      "period": "month",
      "source_url": "https://www.pagerduty.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token token=<API_KEY> (OAuth: Authorization: Bearer <token>)",
      "source_url": "https://raw.githubusercontent.com/PagerDuty/api-schema/main/reference/REST/openapiv3.json",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.pagerduty.com",
    "operations": [
      "incident-management"
    ],
    "no_auth": false,
    "call": {
      "operation": "create an incident",
      "method": "POST",
      "url": "https://api.pagerduty.com/incidents",
      "example": "curl -X POST https://api.pagerduty.com/incidents -H \"Authorization: Token token=$PAGERDUTY_API_KEY\" -H 'Accept: application/vnd.pagerduty+json;version=2' -H 'Content-Type: application/json' -H \"From: $PAGERDUTY_USER_EMAIL\" -d '{\"incident\": {\"type\": \"incident\", \"title\": \"The server is on fire.\", \"service\": {\"id\": \"{service_id}\", \"type\": \"service_reference\"}}}'",
      "response_fields": [
        "incident.id",
        "incident.incident_number",
        "incident.status",
        "incident.html_url"
      ],
      "async": null,
      "source_url": "https://raw.githubusercontent.com/PagerDuty/api-schema/main/reference/REST/openapiv3.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "PagerDuty/api-schema",
        "stars": 34,
        "forks": 27,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/PagerDuty/api-schema",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "github",
        "repo": "PagerDuty/pagerduty-mcp-server",
        "stars": 79,
        "forks": 41,
        "pushed_at": "2026-09-04",
        "archived": true,
        "url": "https://github.com/PagerDuty/pagerduty-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 44,
        "url": "https://sourceforge.net/software/product/PagerDuty/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.pagerduty.com",
        "probes": 1,
        "up": 1,
        "median_ms": 472,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.pagerduty.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 489,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/pagerduty-api.json"
  },
  {
    "id": "postman-api",
    "name": "Postman API",
    "category": "developer-devops",
    "homepage": "https://www.postman.com/postman/postman-public-workspace/",
    "docs": "https://learning.postman.com/api-docs/api-reference/",
    "auth": "api_key",
    "auth_hint": "X-API-Key: <POSTMAN_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.postman.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.postman.com/mcp",
      "repo": "https://github.com/postmanlabs/postman-mcp-server",
      "covers_full_api": true,
      "source_url": "https://learning.postman.com/docs/developer/postman-api/postman-mcp-server/overview/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.postman.com/mcp",
        "headers": {
          "Authorization": "Bearer $POSTMAN_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://github.com/postmanlabs/postman-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 10,000 Postman API calls/month; rate limits ~300 req/min general, stricter for specific endpoints",
    "sdk": [],
    "openapi": "https://learning.postman.com/openapi.json",
    "llms_txt": "https://learning.postman.com/llms.txt",
    "desc_en": "An agent can manage Postman collections, workspaces, environments, mocks, monitors, and API specs via REST.",
    "notes": "Reference docs are at learning.postman.com. Remote MCP modes: /minimal (default), /code, /mcp (full, 100+ tools); US host supports OAuth, EU host mcp.eu.postman.com needs an API key. Docs-search MCP at learning.postman.com/_mcp/server. API host https://api.postman.com (EU: api.eu.postman.com); api.getpostman.com is legacy",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10,000 Postman API calls, 1 user",
      "period": "month",
      "source_url": "https://www.postman.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <POSTMAN_API_KEY>",
      "source_url": "https://learning.postman.com/docs/developer/postman-api/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.postman.com",
    "rate_limits": {
      "summary": "300 requests/min per API key; monthly call quota by plan (10,000 on Free)",
      "source_url": "https://learning.postman.com/docs/developer/postman-api/postman-api-rate-limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "api-testing"
    ],
    "no_auth": false,
    "call": {
      "operation": "list collections",
      "method": "GET",
      "url": "https://api.postman.com/collections",
      "example": "curl \"https://api.postman.com/collections?workspace={workspace_id}\" -H \"x-api-key: $POSTMAN_API_KEY\"",
      "response_fields": [
        "collections[].id",
        "collections[].uid",
        "collections[].name",
        "meta.total"
      ],
      "async": null,
      "source_url": "https://learning.postman.com/api-docs/api-reference/collections/get-collections",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 3,
        "url": "https://smithery.ai/servers/postman",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.8,
        "reviews": 24,
        "url": "https://sourceforge.net/software/product/Postman/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.getpostman.com",
        "probes": 1,
        "up": 1,
        "median_ms": 454,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.postman.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 481,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/postman-api.json"
  },
  {
    "id": "reflag",
    "name": "Reflag Management API",
    "category": "developer-devops",
    "homepage": "https://reflag.com",
    "docs": "https://docs.reflag.com/api/reflag-rest-api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <REFLAG_API_KEY> (scoped Management API key); remote MCP uses OAuth sign-in",
    "mcp": {
      "type": "official",
      "url": "https://app.reflag.com/api/mcp",
      "maintainer": "vendor",
      "remote_url": "https://app.reflag.com/api/mcp",
      "source_url": "https://docs.reflag.com/api/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://app.reflag.com/api/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://docs.reflag.com/api/mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free Starter plan: 1,000 monthly tracked users, unlimited seats, 3 environments; no overage (upgrade required)",
    "sdk": [
      "javascript",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": "https://docs.reflag.com/llms.txt",
    "desc_en": "Lets an agent create feature flags, change their targeting for users and companies, and evaluate flags at runtime.",
    "notes": "Formerly Bucket. Management API key is per app with scopes; the Runtime API uses a separate secret key. Remote MCP over HTTP (mcp-remote for clients without OAuth).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 monthly tracked users, unlimited seats, 3 environments; no overage",
      "period": "month",
      "source_url": "https://reflag.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <REFLAG_API_KEY>",
      "source_url": "https://docs.reflag.com/api/reflag-rest-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app.reflag.com/api",
    "operations": [
      "feature-flags"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a feature flag",
      "method": "POST",
      "url": "https://app.reflag.com/api/apps/{appId}/flags",
      "example": "curl -X POST \"https://app.reflag.com/api/apps/$REFLAG_APP_ID/flags\" -H \"Authorization: Bearer $REFLAG_API_KEY\" -H \"Content-Type: application/json\" -d '{\"key\":\"new-checkout-flow\",\"name\":\"New checkout flow\"}'",
      "response_fields": [
        "flag.id",
        "flag.key",
        "flag.name",
        "flagStateVersions"
      ],
      "async": null,
      "source_url": "https://docs.reflag.com/api/reflag-rest-api/reflag-api-reference.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app.reflag.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 410,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://app.reflag.com/api/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 411,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "sentry-api",
    "name": "Sentry API",
    "category": "developer-devops",
    "homepage": "https://docs.sentry.io/api/",
    "docs": "https://docs.sentry.io/api/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <auth_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.sentry.dev/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.sentry.dev/mcp",
      "repo": "https://github.com/getsentry/sentry-mcp",
      "tools": [
        "search_events",
        "search_issues"
      ],
      "covers_full_api": false,
      "source_url": "https://mcp.sentry.dev/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.sentry.dev/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://mcp.sentry.dev/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free Developer plan: 1 user, 5,000 errors/mo, 5GB logs, 50 replays; includes MCP access",
    "sdk": [],
    "openapi": "https://raw.githubusercontent.com/getsentry/sentry-api-schema/main/openapi-derefed.json",
    "llms_txt": "https://docs.sentry.io/llms.txt",
    "desc_en": "An agent can query and triage error/performance issues and manage projects, releases, and org data.",
    "notes": "API is v0 (public endpoints stable, beta endpoints may change); per-endpoint rate limits via X-Sentry-Rate-Limit-* headers; legacy Basic-auth API keys are deprecated in favor of Bearer auth tokens.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Developer plan: 1 user, 5,000 errors, 5GB logs, 50 replays, 5M spans",
      "period": "month",
      "source_url": "https://sentry.io/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <auth_token>",
      "source_url": "https://docs.sentry.io/api/auth/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://sentry.io/api/0",
    "rate_limits": {
      "summary": "Per caller+endpoint request-rate and concurrency limits (values not published)",
      "source_url": "https://docs.sentry.io/api/ratelimits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "error-tracking",
      "monitoring"
    ],
    "no_auth": false,
    "call": {
      "operation": "list a project's unresolved issues",
      "method": "GET",
      "url": "https://sentry.io/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/issues/",
      "example": "curl https://sentry.io/api/0/projects/$SENTRY_ORG/$SENTRY_PROJECT/issues/ -H \"Authorization: Bearer $SENTRY_AUTH_TOKEN\"",
      "response_fields": [
        "[].id",
        "[].shortId",
        "[].title",
        "[].status",
        "[].count",
        "[].lastSeen"
      ],
      "source_url": "https://docs.sentry.io/api/events/list-a-projects-issues/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 35,
        "url": "https://smithery.ai/servers/sentry",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://sentry.io/api/0",
        "probes": 1,
        "up": 0,
        "median_ms": null,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": "timeout"
        }
      },
      "mcp_remote": {
        "url": "https://mcp.sentry.dev/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 406,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "supabase-management-api",
    "name": "Supabase Management API",
    "category": "developer-devops",
    "homepage": "https://supabase.com/docs/reference/api",
    "docs": "https://supabase.com/docs/reference/api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <access_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.supabase.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.supabase.com/mcp",
      "repo": "https://github.com/supabase/mcp",
      "tools": [
        "list_tables",
        "list_extensions",
        "list_migrations",
        "apply_migration",
        "execute_sql",
        "query_logs",
        "get_advisors",
        "get_project_url",
        "get_publishable_keys",
        "generate_typescript_types",
        "list_edge_functions",
        "deploy_edge_function",
        "list_projects",
        "create_project",
        "pause_project",
        "restore_project",
        "search_docs",
        "create_branch",
        "merge_branch"
      ],
      "covers_full_api": false,
      "source_url": "https://supabase.com/docs/guides/getting-started/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.supabase.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://supabase.com/docs/guides/getting-started/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan available; rate limit 120 req/min per user/project (lower for heavier endpoints)",
    "sdk": [],
    "openapi": "https://api.supabase.com/api/v1-json",
    "llms_txt": "https://supabase.com/llms.txt",
    "desc_en": "An agent can programmatically create and manage Supabase projects, databases, API keys, and config.",
    "notes": "Personal Access Tokens carry full account privileges - treat as highly sensitive. Client SDKs (javascript, python, dart, swift, kotlin) are for the data/auth/storage APIs, not the Management API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "2 active projects, 500 MB database, 50,000 MAUs, 5 GB egress; paused after 1 week inactivity",
      "period": "month",
      "source_url": "https://supabase.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <access_token>",
      "source_url": "https://supabase.com/docs/reference/api/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.supabase.com/v1",
    "rate_limits": {
      "summary": "120 req/min per user per project/org; analytics 30/min; database context 10/min",
      "source_url": "https://supabase.com/docs/reference/api/introduction",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "cloud-infrastructure",
      "sql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a Supabase project",
      "method": "POST",
      "url": "https://api.supabase.com/v1/projects",
      "example": "curl -X POST https://api.supabase.com/v1/projects -H \"Authorization: Bearer $SUPABASE_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"name\":\"my-project\",\"organization_slug\":\"{org_slug}\",\"db_pass\":\"{db_password}\"}'",
      "response_fields": [
        "id",
        "ref",
        "region",
        "status",
        "created_at"
      ],
      "async": "provisioning continues after 201; poll GET https://api.supabase.com/v1/projects/{ref} until status is ACTIVE_HEALTHY",
      "source_url": "https://supabase.com/docs/reference/api/v1-create-a-project",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.supabase.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 295,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.supabase.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 366,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "aws-apis",
    "name": "AWS APIs",
    "category": "cloud-hosting",
    "homepage": "https://aws.amazon.com",
    "docs": "https://docs.aws.amazon.com/general/latest/gr/aws-apis-references.html",
    "auth": "cloud_iam",
    "auth_hint": "AWS Signature Version 4 (SigV4) signed request using IAM access key/secret or STS temporary credentials",
    "mcp": {
      "type": "official",
      "url": "https://aws-mcp.us-east-1.api.aws/mcp",
      "maintainer": "vendor",
      "remote_url": "https://aws-mcp.us-east-1.api.aws/mcp",
      "repo": "https://github.com/aws/mcp-proxy-for-aws",
      "tools": [
        "aws___run_script",
        "aws___get_presigned_url",
        "aws___get_tasks",
        "aws___search_documentation",
        "aws___read_documentation",
        "aws___retrieve_skill",
        "aws___list_regions",
        "aws___get_regional_availability"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.aws.amazon.com/aws-mcp/latest/userguide/understanding-mcp-server-tools.html",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://aws-mcp.us-east-1.api.aws/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.aws.amazon.com/aws-mcp/latest/userguide/getting-started-aws-mcp-server.html",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 30+ services always free within monthly limits; new accounts also get up to $200 one-time credits ($100 on signup + up to $100 earned) usable over 6 months",
    "sdk": [
      "python",
      "javascript",
      "typescript",
      "java",
      "go",
      "dotnet",
      "ruby",
      "php",
      "cpp",
      "rust",
      "kotlin",
      "swift"
    ],
    "openapi": null,
    "llms_txt": "https://docs.aws.amazon.com/llms.txt",
    "desc_en": "An agent can provision and control thousands of AWS resources (compute, storage, databases, ML) via SDKs/CLI/REST.",
    "notes": "Umbrella platform: hundreds of distinct service APIs, each with its own IAM scoping, rate limits, and regional availability; no unified OpenAPI spec. The managed AWS MCP Server (OAuth or SigV4 proxy) replaces the local aws-api-mcp-server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "30+ services always free within monthly limits; new customers get up to $200 credits ($100 at signup + up to $100 earned) over 6 months",
      "period": "month",
      "source_url": "https://aws.amazon.com/free/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: AWS4-HMAC-SHA256 Credential=<ACCESS_KEY_ID>/<date>/<region>/<service>/aws4_request, SignedHeaders=..., Signature=...",
      "source_url": "https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "cloud-infrastructure"
    ],
    "no_auth": false,
    "call": {
      "operation": "verify credentials (STS GetCallerIdentity)",
      "method": "POST",
      "url": "https://sts.amazonaws.com/",
      "example": "curl https://sts.amazonaws.com/ --aws-sigv4 \"aws:amz:us-east-1:sts\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" -d \"Action=GetCallerIdentity&Version=2011-06-15\"",
      "response_fields": [
        "GetCallerIdentityResult.Account",
        "GetCallerIdentityResult.Arn",
        "GetCallerIdentityResult.UserId"
      ],
      "async": null,
      "source_url": "https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "awslabs/mcp",
        "stars": 9728,
        "forks": 1770,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/awslabs/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://aws-mcp.us-east-1.api.aws/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 611,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "azure-apis",
    "name": "Azure APIs",
    "category": "cloud-hosting",
    "homepage": "https://learn.microsoft.com/rest/api/azure/",
    "docs": "https://learn.microsoft.com/rest/api/azure/",
    "auth": "cloud_iam",
    "auth_hint": "Authorization: Bearer <access_token> (Microsoft Entra ID / Azure AD OAuth2)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/microsoft/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/microsoft/mcp",
      "covers_full_api": false,
      "source_url": "https://learn.microsoft.com/en-us/azure/developer/azure-mcp-server/overview",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@azure/mcp@latest",
          "server",
          "start"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/microsoft/mcp/blob/main/servers/Azure.Mcp.Server/README.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "12 months of select free services plus $200 credit for 30 days for new accounts; many services also have a permanent always-free monthly amount",
    "sdk": [
      "dotnet",
      "java",
      "javascript",
      "typescript",
      "python",
      "go",
      "cpp",
      "rust"
    ],
    "openapi": "https://github.com/Azure/azure-rest-api-specs",
    "llms_txt": null,
    "desc_en": "An agent can deploy and manage Azure resources (compute, storage, databases, AI) across resource-provider REST APIs.",
    "notes": "Umbrella platform: hundreds of resource-provider APIs, each independently versioned (api-version query param required); the Azure MCP repo moved from Azure/azure-mcp (archived) to microsoft/mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "65+ always-free services with monthly amounts; new customers also get 20+ services free for 12 months and $200 credit for 30 days",
      "period": "month",
      "source_url": "https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <Entra ID access token>",
      "source_url": "https://learn.microsoft.com/en-us/rest/api/azure/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://management.azure.com",
    "rate_limits": {
      "summary": "ARM token bucket per subscription and per tenant: reads 250 bucket/25 per s refill; writes and deletes 200 bucket/10 per s; 429 with Retry-After",
      "source_url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/request-limits-and-throttling",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "some operations are asynchronous; track them via response headers (Track asynchronous Azure operations)",
      "source_url": "https://learn.microsoft.com/en-us/rest/api/azure/"
    },
    "operations": [
      "cloud-infrastructure"
    ],
    "no_auth": false,
    "call": {
      "operation": "create or update a resource group",
      "method": "PUT",
      "url": "https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}?api-version=2021-04-01",
      "example": "curl -X PUT \"https://management.azure.com/subscriptions/$AZURE_SUBSCRIPTION_ID/resourcegroups/my-resource-group?api-version=2021-04-01\" -H \"Authorization: Bearer $(az account get-access-token --query accessToken -o tsv)\" -H \"Content-Type: application/json\" -d '{\"location\":\"eastus\"}'",
      "response_fields": [
        "id",
        "name",
        "location",
        "properties.provisioningState"
      ],
      "async": null,
      "source_url": "https://learn.microsoft.com/en-us/rest/api/resources/resource-groups/create-or-update",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "Azure/azure-rest-api-specs",
        "stars": 3094,
        "forks": 5974,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/Azure/azure-rest-api-specs",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "github",
        "repo": "microsoft/mcp",
        "stars": 3707,
        "forks": 628,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/microsoft/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://management.azure.com",
        "probes": 1,
        "up": 1,
        "median_ms": 249,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    }
  },
  {
    "id": "cloudflare-api",
    "name": "Cloudflare API",
    "category": "cloud-hosting",
    "homepage": "https://developers.cloudflare.com/api/",
    "docs": "https://developers.cloudflare.com/api/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <API_Token>",
    "mcp": {
      "type": "official",
      "url": "https://developers.cloudflare.com/agents/model-context-protocol/mcp-servers-for-cloudflare/",
      "maintainer": "vendor",
      "remote_url": "https://mcp.cloudflare.com/mcp",
      "repo": "https://github.com/cloudflare/mcp",
      "tools": [
        "search",
        "execute"
      ],
      "covers_full_api": true,
      "source_url": "https://developers.cloudflare.com/agents/model-context-protocol/mcp-servers-for-cloudflare/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.cloudflare.com/mcp",
        "headers": {
          "Authorization": "Bearer $CLOUDFLARE_API_TOKEN"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/cloudflare/mcp#get-started",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free with any Cloudflare account; API access itself is free, manages both free and paid Cloudflare products",
    "sdk": [
      "typescript",
      "python",
      "go"
    ],
    "openapi": "https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.yaml",
    "llms_txt": "https://developers.cloudflare.com/llms.txt",
    "desc_en": "An agent can manage DNS, Workers, zones, WAF/security rules, and caching for Cloudflare accounts programmatically.",
    "notes": "Global rate limit ~1,200 requests/5 min per user; per-IP limit ~200 req/sec; GraphQL Analytics API has a separate cost-based limit. Legacy X-Auth-Key global key auth also exists but is discouraged.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan ($0); API access included",
      "source_url": "https://www.cloudflare.com/plans/free/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN>",
      "source_url": "https://developers.cloudflare.com/fundamentals/api/get-started/create-token/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cloudflare.com/client/v4",
    "rate_limits": {
      "summary": "1,200 requests per 5 minutes per user/account token; 200 req/s per IP; GraphQL max 320/5 min by query cost; exceeding blocks calls for 5 min (429)",
      "source_url": "https://developers.cloudflare.com/fundamentals/api/reference/limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "dns-cdn",
      "serverless-deploy"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a DNS record",
      "method": "POST",
      "url": "https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records",
      "example": "curl -X POST https://api.cloudflare.com/client/v4/zones/$CLOUDFLARE_ZONE_ID/dns_records -H \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"type\": \"A\", \"name\": \"www.example.com\", \"content\": \"198.51.100.4\", \"ttl\": 3600, \"proxied\": false}'",
      "response_fields": [
        "success",
        "errors",
        "result.id",
        "result.name"
      ],
      "async": null,
      "source_url": "https://developers.cloudflare.com/api/resources/dns/subresources/records/methods/create/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 199,
        "url": "https://smithery.ai/servers/cloudflare",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.6,
        "reviews": 12,
        "url": "https://sourceforge.net/software/product/Cloudflare/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cloudflare.com/client/v4",
        "probes": 1,
        "up": 1,
        "median_ms": 363,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.cloudflare.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 327,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/cloudflare-api.json"
  },
  {
    "id": "fly-io-machines-api",
    "name": "Fly.io Machines API",
    "category": "cloud-hosting",
    "homepage": "https://fly.io/docs/machines/api/",
    "docs": "https://fly.io/docs/machines/api/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <FLY_API_TOKEN>",
    "mcp": {
      "type": "official",
      "url": "https://docs.fly.io/model-context-protocol/flyctl-server",
      "maintainer": "vendor",
      "tools": [
        "apps",
        "certs",
        "logs",
        "machine",
        "orgs",
        "platform",
        "secrets",
        "status",
        "volumes"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.fly.io/mcp/flyctl-server/",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "fly",
        "args": [
          "mcp",
          "server"
        ],
        "env": [
          "FLY_ACCESS_TOKEN"
        ],
        "docs_only": false,
        "source_url": "https://docs.fly.io/flyctl/mcp-server/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 2 machine-hours or 7 days, whichever comes first, no card needed to start (adding a card ends the trial); then pay-as-you-go, no perpetual free tier",
    "sdk": [
      "go"
    ],
    "openapi": "https://docs.fly.io/machines-api/openapi.json",
    "llms_txt": null,
    "desc_en": "An agent can create, start, stop, and destroy Fly.io Machines (lightweight VMs) programmatically via REST.",
    "notes": "The official MCP server for Machines is the local flyctl server ('fly mcp server'); the hosted Sprites MCP controls Sprites, not Machines.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "2 hours of machine runtime or 7 days, whichever comes first (up to 10 machines, 20GB volumes)",
      "period": "one_time",
      "source_url": "https://docs.fly.io/about/free-trial/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <fly_api_token>",
      "source_url": "https://docs.fly.io/machines/api/working-with-machines-api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.machines.dev/v1",
    "rate_limits": {
      "summary": "1 req/s per action (e.g. create, start) with burst to 3 req/s; Get Machine 5 req/s, burst 10",
      "source_url": "https://docs.fly.io/machines/api/working-with-machines-api/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "machine state changes are asynchronous; block with GET /v1/apps/{app}/machines/{id}/wait?state=started (default timeout 60s)",
      "source_url": "https://docs.fly.io/machines/api/machines-resource/"
    },
    "operations": [
      "container-hosting",
      "cloud-infrastructure"
    ],
    "no_auth": false,
    "call": {
      "operation": "create and start a Machine (VM)",
      "method": "POST",
      "url": "https://api.machines.dev/v1/apps/{app_name}/machines",
      "example": "curl -X POST https://api.machines.dev/v1/apps/$FLY_APP_NAME/machines -H \"Authorization: Bearer $FLY_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"config\":{\"image\":\"registry-1.docker.io/library/ubuntu:latest\",\"init\":{\"exec\":[\"/bin/sleep\",\"inf\"]},\"guest\":{\"cpu_kind\":\"shared\",\"cpus\":1,\"memory_mb\":256}}}'",
      "response_fields": [
        "id",
        "name",
        "state",
        "region",
        "instance_id",
        "private_ip"
      ],
      "async": "GET https://api.machines.dev/v1/apps/{app_name}/machines/{id}/wait?state=started to block until it is running",
      "source_url": "https://docs.fly.io/machines/api/machines-resource/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "shared-cpu-1x 256MB Machine: $0.00000078 per second running (~$0.0028/hour) base price, regional multipliers apply; stopped rootfs $0.15 per GB per 30 days",
      "source_url": "https://docs.fly.io/about/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.machines.dev/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 405,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "google-cloud-apis",
    "name": "Google Cloud APIs",
    "category": "cloud-hosting",
    "homepage": "https://cloud.google.com/apis",
    "docs": "https://cloud.google.com/apis/docs/overview",
    "auth": "cloud_iam",
    "auth_hint": "Authorization: Bearer <OAuth2 access token> (service account or Application Default Credentials); API keys for select public APIs",
    "mcp": {
      "type": "official",
      "url": "https://docs.cloud.google.com/mcp/supported-products",
      "maintainer": "vendor",
      "remote_url": "https://compute.googleapis.com/mcp",
      "repo": "https://github.com/googleapis/genai-toolbox",
      "covers_full_api": false,
      "source_url": "https://docs.cloud.google.com/mcp/supported-products",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://compute.googleapis.com/mcp",
        "headers": {
          "Authorization": "Bearer $GCLOUD_ACCESS_TOKEN",
          "x-goog-user-project": "$GOOGLE_CLOUD_PROJECT"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.cloud.google.com/mcp/configure-mcp-ai-application",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free trial credit for new customers plus an Always Free tier with perpetual no-cost limits on select products",
    "sdk": [
      "python",
      "javascript",
      "typescript",
      "java",
      "go",
      "dotnet",
      "ruby",
      "php",
      "cpp"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "An agent can create and manage Google Cloud resources (compute, storage, data, AI/ML) via REST, gRPC, or client libraries.",
    "notes": "Umbrella platform: hundreds of distinct service APIs, each with its own scopes/quotas; many APIs require explicit per-project enabling. Google runs official remote MCP servers per product (e.g. compute.googleapis.com/mcp, run.googleapis.com/mcp, bigquery.googleapis.com/mcp).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "Free Tier: monthly always-free limits on 20+ products; plus $300 Welcome credit over 90 days for new customers",
      "period": "month",
      "source_url": "https://docs.cloud.google.com/free/docs/free-cloud-features",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OAuth2 access token>",
      "source_url": "https://docs.cloud.google.com/docs/authentication/rest",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "cloud-infrastructure"
    ],
    "no_auth": false,
    "call": {
      "operation": "get a project (Resource Manager)",
      "method": "GET",
      "url": "https://cloudresourcemanager.googleapis.com/v3/projects/{PROJECT_ID}",
      "example": "curl -H \"Authorization: Bearer $(gcloud auth print-access-token)\" https://cloudresourcemanager.googleapis.com/v3/projects/$GOOGLE_CLOUD_PROJECT",
      "async": null,
      "source_url": "https://docs.cloud.google.com/docs/authentication/rest",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "googleapis/mcp-toolbox",
        "stars": 16488,
        "forks": 1732,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/googleapis/mcp-toolbox",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://compute.googleapis.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 439,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "mux-video-api",
    "name": "Mux Video API",
    "category": "cloud-hosting",
    "homepage": "https://www.mux.com",
    "docs": "https://www.mux.com/docs",
    "auth": "api_key",
    "auth_hint": "HTTP Basic auth: <token_id>:<token_secret>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.mux.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.mux.com",
      "repo": "https://github.com/muxinc/mux-node-sdk/tree/master/packages/mcp-server",
      "tools": [
        "docs search",
        "code execution (TypeScript against @mux/mux-node)"
      ],
      "covers_full_api": true,
      "source_url": "https://www.mux.com/docs/integrations/mcp-server.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.mux.com",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://www.mux.com/docs/integrations/mcp-server.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "first 100,000 delivered minutes/month free, then usage-based",
    "sdk": [
      "node",
      "python",
      "go",
      "ruby",
      "php"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Upload, encode, stream and analyse video; get playback URLs, thumbnails and captions via REST.",
    "notes": "Hosting/streaming infrastructure; does not generate video from prompts.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100,000 delivery minutes",
      "period": "month",
      "source_url": "https://www.mux.com/pricing.md",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(MUX_TOKEN_ID:MUX_TOKEN_SECRET)",
      "source_url": "https://www.mux.com/docs/core/make-api-requests.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mux.com",
    "rate_limits": {
      "summary": "Per-environment rate-limit buckets; HTTP 429 when exceeded",
      "source_url": "https://www.mux.com/docs/core/make-api-requests.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "video-hosting"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a video asset from a URL",
      "method": "POST",
      "url": "https://api.mux.com/video/v1/assets",
      "example": "curl https://api.mux.com/video/v1/assets -X POST -H 'Content-Type: application/json' -u $MUX_TOKEN_ID:$MUX_TOKEN_SECRET -d '{\"inputs\": [{\"url\": \"https://muxed.s3.amazonaws.com/leds.mp4\"}], \"playback_policies\": [\"public\"], \"video_quality\": \"basic\"}'",
      "response_fields": [
        "data.id",
        "data.status",
        "data.playback_ids[0].id"
      ],
      "async": "poll GET https://api.mux.com/video/v1/assets/{id} (max 1/s) or wait for webhook video.asset.ready until data.status is ready; play at https://stream.mux.com/{PLAYBACK_ID}.m3u8",
      "source_url": "https://www.mux.com/docs/core/make-api-requests.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Basic-quality input free; storage from $0.0024 per minute stored per month; delivery 100,000 min/month free, then from $0.0008 per minute delivered",
      "source_url": "https://www.mux.com/pricing/video",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mux.com",
        "probes": 1,
        "up": 1,
        "median_ms": 360,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.mux.com",
        "probes": 1,
        "up": 1,
        "median_ms": 377,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "netlify-api",
    "name": "Netlify API",
    "category": "cloud-hosting",
    "homepage": "https://docs.netlify.com/api/get-started/",
    "docs": "https://docs.netlify.com/api-and-cli-guides/api-guides/get-started-with-api/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <PERSONAL_ACCESS_TOKEN>",
    "mcp": {
      "type": "official",
      "url": "https://netlify-mcp.netlify.app/mcp",
      "maintainer": "vendor",
      "remote_url": "https://netlify-mcp.netlify.app/mcp",
      "repo": "https://github.com/netlify/netlify-mcp",
      "covers_full_api": false,
      "source_url": "https://docs.netlify.com/build/build-with-ai/netlify-mcp-server/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://netlify-mcp.netlify.app/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://github.com/netlify/netlify-mcp/pull/46",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: $0 forever plan with 300 credits per month (hard limit, no rollover); API usage subject to account plan limits",
    "sdk": [
      "go",
      "javascript"
    ],
    "openapi": "https://open-api.netlify.com/",
    "llms_txt": "https://docs.netlify.com/llms.txt",
    "desc_en": "An agent can create/manage sites, trigger and monitor deploys, and configure DNS, domains, and env vars.",
    "notes": "Rate limits: 500 req/min general, 3 deploys/min (100/day). Tokens are invalidated on password reset.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan, $0 forever, 300 credit limit",
      "source_url": "https://www.netlify.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PERSONAL_ACCESS_TOKEN>",
      "source_url": "https://docs.netlify.com/api/get-started/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.netlify.com/api/v1",
    "rate_limits": {
      "summary": "500 requests/min general; deploys 3/min and 100/day; X-RateLimit-* headers",
      "source_url": "https://docs.netlify.com/api/get-started/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "static-site-hosting",
      "dns-cdn"
    ],
    "no_auth": false,
    "call": {
      "operation": "deploy a site from a ZIP file",
      "method": "POST",
      "url": "https://api.netlify.com/api/v1/sites/{site_id}/deploys",
      "example": "curl -H \"Content-Type: application/zip\" -H \"Authorization: Bearer $NETLIFY_AUTH_TOKEN\" --data-binary \"@website.zip\" https://api.netlify.com/api/v1/sites/mysite.netlify.app/deploys",
      "response_fields": [
        "id",
        "state"
      ],
      "async": "poll GET https://api.netlify.com/api/v1/deploys/{deploy_id} until state is ready",
      "source_url": "https://docs.netlify.com/api-and-cli-guides/api-guides/get-started-with-api/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Production deploy costs 15 credits; add-on credits $5 per 500 (Personal, ~$0.15/deploy) or $10 per 1,500 (Pro, ~$0.10/deploy)",
      "source_url": "https://www.netlify.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 0,
        "url": "https://smithery.ai/servers/netlify",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 5,
        "url": "https://sourceforge.net/software/product/Netlify/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.netlify.com/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 360,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://netlify-mcp.netlify.app/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 1144,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/netlify-api.json"
  },
  {
    "id": "render-api",
    "name": "Render API",
    "category": "cloud-hosting",
    "homepage": "https://render.com/docs/api",
    "docs": "https://api-docs.render.com/reference/introduction",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api-key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.render.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.render.com/mcp",
      "repo": "https://github.com/render-oss/render-mcp-server",
      "tools": [
        "list_workspaces",
        "select_workspace",
        "get_selected_workspace",
        "list_services",
        "get_service",
        "create_web_service",
        "create_static_site",
        "create_cron_job",
        "update_environment_variables",
        "update_web_service",
        "update_static_site",
        "update_cron_job",
        "list_deploys",
        "get_deploy",
        "trigger_deploy",
        "list_logs",
        "list_log_label_values",
        "get_metrics",
        "query_render_postgres",
        "list_postgres_instances",
        "get_postgres",
        "create_postgres",
        "list_key_value",
        "get_key_value",
        "create_key_value"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/render-oss/render-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.render.com/mcp",
        "headers": {
          "Authorization": "Bearer $RENDER_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://render.com/docs/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free static sites; free web services that spin down after inactivity",
    "sdk": [],
    "openapi": "https://api-docs.render.com/openapi/render-public-api-1.json",
    "llms_txt": "https://api-docs.render.com/llms.txt",
    "desc_en": "An agent can create and manage Render services, trigger deployments, and configure databases and env vars.",
    "notes": "OpenAPI spec endpoint/tag names may change over time even though the API itself stays backward compatible. Render's official MCP server supports potentially destructive operations (env var changes, triggering deploys).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "750 free instance hours per workspace per month; free web services spin down after 15 min idle; free Postgres expires 30 days after creation",
      "period": "month",
      "source_url": "https://render.com/docs/free",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://api-docs.render.com/reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.render.com/v1",
    "operations": [
      "container-hosting",
      "sql-database",
      "key-value-store",
      "static-site-hosting"
    ],
    "no_auth": false,
    "call": {
      "operation": "trigger a deploy",
      "method": "POST",
      "url": "https://api.render.com/v1/services/{serviceId}/deploys",
      "example": "curl -X POST \"https://api.render.com/v1/services/$RENDER_SERVICE_ID/deploys\" -H \"Authorization: Bearer $RENDER_API_KEY\" -H \"Content-Type: application/json\" -d '{\"deployMode\":\"build_and_deploy\"}'",
      "response_fields": [
        "id",
        "status",
        "trigger",
        "commit.id",
        "createdAt"
      ],
      "async": "poll GET https://api.render.com/v1/services/{serviceId}/deploys/{deployId} until status is live or failed",
      "source_url": "https://api-docs.render.com/reference/create-deploy",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.render.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 191,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.render.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 214,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "tencent-edgeone-pages",
    "name": "Tencent EdgeOne Pages (Makers)",
    "category": "cloud-hosting",
    "homepage": "https://pages.edgeone.ai",
    "docs": "https://pages.edgeone.ai/document/mcp",
    "auth": "api_key",
    "auth_hint": "API token created in the EdgeOne Makers console (API Token tab), passed to the MCP server or CLI as EDGEONE_PAGES_API_TOKEN; the hosted HTML-sharing MCP needs no token",
    "mcp": {
      "type": "official",
      "url": "https://mcp-on-edge.edgeone.app/mcp-server",
      "maintainer": "vendor",
      "remote_url": "https://mcp-on-edge.edgeone.app/mcp-server",
      "repo": "https://www.npmjs.com/package/@edgeone/makers-mcp",
      "tools": [
        "deploy-html"
      ],
      "covers_full_api": false,
      "source_url": "https://pages.edgeone.ai/document/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp-on-edge.edgeone.app/mcp-server",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://pages.edgeone.ai/document/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan (stated as permanent): 40 projects, 500 builds/month, 3M Edge Function and 1M Cloud Function invocations/month, 5 GB storage, 1 GB KV, 1 GB Blob.",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://pages.edgeone.ai/llms.txt",
    "desc_en": "Lets an agent deploy HTML pages, static sites and full-stack apps with edge functions to EdgeOne and get back a public URL.",
    "notes": "Renamed EdgeOne Makers. No public REST API: use the MCP server (@edgeone/makers-mcp) or EdgeOne CLI. The remote endpoint's no-login tool deploys a single HTML page; projects need the token.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "source_url": "https://pages.edgeone.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "name": "EDGEONE_PAGES_API_TOKEN",
      "format": "API token from the Makers console passed to the MCP server/CLI as an environment variable",
      "source_url": "https://pages.edgeone.ai/document/mcp",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "static-site-hosting",
      "serverless-deploy"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp-on-edge.edgeone.app/mcp-server",
        "probes": 1,
        "up": 1,
        "median_ms": 821,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "vercel-api",
    "name": "Vercel API",
    "category": "cloud-hosting",
    "homepage": "https://vercel.com/docs/rest-api",
    "docs": "https://vercel.com/docs/rest-api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <access_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.vercel.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.vercel.com",
      "tools": [
        "search_vercel_documentation",
        "list_teams",
        "list_projects",
        "get_project",
        "list_deployments",
        "get_deployment",
        "get_deployment_build_logs",
        "get_runtime_logs",
        "get_runtime_errors",
        "deploy_to_vercel",
        "get_web_analytics",
        "list_agent_runs",
        "get_agent_run",
        "check_domain_availability_and_price",
        "get_purchase_quote",
        "buy_domain",
        "get_access_to_vercel_url",
        "web_fetch_vercel_url",
        "list_toolbar_threads",
        "use_vercel_cli"
      ],
      "covers_full_api": false,
      "source_url": "https://vercel.com/docs/agent-resources/vercel-mcp/tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.vercel.com",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://vercel.com/docs/agent-resources/vercel-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free on Hobby plan; some resources/endpoints require Pro/paid plan",
    "sdk": [
      "typescript"
    ],
    "openapi": "https://openapi.vercel.sh/",
    "llms_txt": "https://vercel.com/llms.txt",
    "desc_en": "An agent can create deployments, manage projects/domains/env vars, and query analytics and logs.",
    "notes": "Vercel MCP (Beta) is remote/OAuth-based; write actions like deployments or purchases require explicit OAuth consent.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Hobby plan $0/mo with capped monthly allotment per billable resource; 100 deployments/day",
      "period": "month",
      "source_url": "https://vercel.com/docs/limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <VERCEL_TOKEN>",
      "source_url": "https://vercel.com/kb/guide/how-do-i-use-a-vercel-api-access-token",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.vercel.com",
    "rate_limits": {
      "summary": "Per-endpoint limits, e.g. deployments list 1,000/min, env var reads 500/min, Hobby deployments 100/day and 100/hour; 429 on excess",
      "source_url": "https://vercel.com/docs/limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "serverless-deploy",
      "web-analytics",
      "dns-cdn"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a deployment from inline files",
      "method": "POST",
      "url": "https://api.vercel.com/v13/deployments",
      "example": "curl -X POST https://api.vercel.com/v13/deployments -H \"Authorization: Bearer $VERCEL_TOKEN\" -H \"Content-Type: application/json\" -d '{\"name\":\"my-site\",\"files\":[{\"file\":\"index.html\",\"data\":\"<h1>Hello</h1>\"}],\"projectSettings\":{\"framework\":null}}'",
      "response_fields": [
        "id",
        "url",
        "readyState",
        "inspectorUrl"
      ],
      "async": "build continues after the response (QUEUED -> BUILDING -> READY or ERROR); poll GET https://api.vercel.com/v13/deployments/{id} for readyState",
      "source_url": "https://vercel.com/docs/rest-api/reference/endpoints/deployments/create-a-new-deployment",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 549,
        "url": "https://smithery.ai/servers/vercel",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.5,
        "reviews": 2,
        "url": "https://sourceforge.net/software/product/Vercel/",
        "fetched_at": "2026-09-24T16:57Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.vercel.com",
        "probes": 1,
        "up": 1,
        "median_ms": 606,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.vercel.com",
        "probes": 1,
        "up": 1,
        "median_ms": 248,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/vercel-api.json"
  },
  {
    "id": "clickhouse-cloud",
    "name": "ClickHouse Cloud",
    "category": "databases",
    "homepage": "https://clickhouse.com",
    "docs": "https://clickhouse.com/docs/products/cloud/features/admin-features/api/api-overview",
    "auth": "api_key",
    "auth_hint": "Basic auth with Cloud API key id/secret",
    "mcp": {
      "type": "official",
      "url": "https://github.com/ClickHouse/mcp-clickhouse",
      "maintainer": "vendor",
      "remote_url": "https://mcp.clickhouse.cloud/mcp",
      "repo": "https://github.com/ClickHouse/mcp-clickhouse",
      "tools": [
        "get_organizations",
        "list_databases",
        "list_tables",
        "run_select_query",
        "get_services_list",
        "get_service_details",
        "get_service_backup_configuration",
        "list_service_backups",
        "list_clickpipes",
        "get_organization_cost"
      ],
      "covers_full_api": false,
      "source_url": "https://clickhouse.com/docs/products/cloud/features/ai-ml/mcp/remote-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.clickhouse.cloud/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://clickhouse.com/docs/products/cloud/features/ai-ml/mcp/remote-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "no permanent free tier; 30-day trial with $300 credits",
    "sdk": [
      "python",
      "javascript",
      "go",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run SQL analytics queries and manage Cloud services/backups via REST API or official MCP server.",
    "notes": "Cloud-hosted remote MCP adds service management, billing, and ClickPipe visibility.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$300 in credits over 30 days",
      "period": "one_time",
      "source_url": "https://clickhouse.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<KEY_ID>:<KEY_SECRET>)",
      "source_url": "https://clickhouse.com/docs/products/cloud/features/admin-features/api/api-overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.clickhouse.cloud/v1",
    "rate_limits": {
      "summary": "Cloud API: 10 requests per 10-second window per API key; up to 100 keys per organization",
      "source_url": "https://clickhouse.com/docs/products/cloud/features/admin-features/api/api-overview",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "analytics-query",
      "sql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a SQL query over the HTTPS interface",
      "method": "POST",
      "url": "https://{service_host}:8443/",
      "example": "curl \"https://$CLICKHOUSE_HOST:8443/\" --user \"default:$CLICKHOUSE_PASSWORD\" --data-binary \"SELECT 1 FORMAT JSON\"",
      "response_fields": [
        "data",
        "meta",
        "rows",
        "statistics"
      ],
      "async": null,
      "source_url": "https://clickhouse.com/docs/interfaces/http",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "ClickHouse/mcp-clickhouse",
        "stars": 879,
        "forks": 208,
        "pushed_at": "2026-09-21",
        "archived": false,
        "url": "https://github.com/ClickHouse/mcp-clickhouse",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.clickhouse.cloud/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 534,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.clickhouse.cloud/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 420,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "convex",
    "name": "Convex",
    "category": "databases",
    "homepage": "https://www.convex.dev",
    "docs": "https://docs.convex.dev/ai/convex-mcp-server",
    "auth": "api_key",
    "auth_hint": "deploy key / admin key",
    "mcp": {
      "type": "official",
      "url": "https://github.com/get-convex/convex-backend",
      "maintainer": "vendor",
      "tools": [
        "status",
        "tables",
        "data",
        "runOneoffQuery",
        "functionSpec",
        "run",
        "logs",
        "insights",
        "envList",
        "envGet",
        "envSet",
        "envRemove"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.convex.dev/ai/convex-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "convex@latest",
          "mcp",
          "start"
        ],
        "env": [
          "CONVEX_DEPLOY_KEY"
        ],
        "docs_only": false,
        "source_url": "https://docs.convex.dev/ai/convex-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "generous free tier for small apps, zero cost/maintenance",
    "sdk": [
      "javascript",
      "python",
      "rust"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Introspect tables/functions, call functions, and read/write data in a reactive database via MCP or client SDKs.",
    "notes": "Vector search available even on the free tier.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1M function calls, 0.5 GB database storage, 1 GB data egress, 1 GB file storage",
      "period": "month",
      "source_url": "https://www.convex.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Convex <DEPLOY_KEY> (admin); Authorization: Bearer <user JWT> for user-level calls",
      "source_url": "https://docs.convex.dev/http-api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://<deployment>.convex.cloud/api",
    "operations": [
      "nosql-database",
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "call a query function over HTTP",
      "method": "POST",
      "url": "https://{deployment}.convex.cloud/api/query",
      "example": "curl https://$CONVEX_DEPLOYMENT.convex.cloud/api/query -H \"Content-Type: application/json\" -d '{\"path\":\"messages:list\",\"args\":{},\"format\":\"json\"}'",
      "response_fields": [
        "status",
        "value",
        "errorMessage",
        "logLines"
      ],
      "async": null,
      "source_url": "https://docs.convex.dev/http-api/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Function calls: Free plan 1M/month included, then $2.20 per extra 1M; Pro 25M included, then $2 per extra 1M",
      "source_url": "https://www.convex.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "get-convex/convex-backend",
        "stars": 12604,
        "forks": 818,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/get-convex/convex-backend",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "google-bigquery",
    "name": "Google BigQuery",
    "category": "databases",
    "homepage": "https://cloud.google.com/bigquery",
    "docs": "https://docs.cloud.google.com/bigquery/docs/reference/mcp",
    "auth": "cloud_iam",
    "auth_hint": "OAuth2/IAM (Google Cloud service account or user credentials)",
    "mcp": {
      "type": "official",
      "url": "https://bigquery.googleapis.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://bigquery.googleapis.com/mcp",
      "tools": [
        "list_dataset_ids",
        "get_dataset_info",
        "list_table_ids",
        "get_table_info",
        "execute_sql",
        "execute_sql_readonly",
        "run_bq_command"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://bigquery.googleapis.com/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 1 TiB of querying and 10 GiB of storage per month",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run SQL queries and inspect datasets/tables in BigQuery via REST API or the fully-managed remote MCP server.",
    "notes": "Remote MCP server is hosted by Google, no local install needed.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "1 TiB of querying and 10 GiB of storage",
      "period": "month",
      "source_url": "https://docs.cloud.google.com/free/docs/free-cloud-features",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OAuth2 access token>",
      "source_url": "https://docs.cloud.google.com/docs/authentication/rest",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://bigquery.googleapis.com",
    "rate_limits": {
      "summary": "100 API requests per second per user per method; tabledata.list 1,000 req/s per project; on-demand query usage 200 TiB/day per project",
      "source_url": "https://docs.cloud.google.com/bigquery/quotas",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "https://www.googleapis.com/auth/bigquery"
      ],
      "source_url": "https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "analytics-query",
      "sql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a SQL query",
      "method": "POST",
      "url": "https://bigquery.googleapis.com/bigquery/v2/projects/{projectId}/queries",
      "example": "curl -X POST https://bigquery.googleapis.com/bigquery/v2/projects/$PROJECT_ID/queries -H \"Authorization: Bearer $(gcloud auth print-access-token)\" -H \"Content-Type: application/json\" -d '{\"query\": \"SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` LIMIT 10\", \"useLegacySql\": false}'",
      "response_fields": [
        "jobComplete",
        "schema.fields",
        "rows[].f[].v",
        "jobReference.jobId",
        "totalBytesProcessed"
      ],
      "async": "if jobComplete is false, poll GET .../projects/{projectId}/queries/{jobId} (jobs.getQueryResults)",
      "source_url": "https://docs.cloud.google.com/bigquery/docs/reference/rest/v2/jobs/query",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "On-demand queries: $6.25 per TiB scanned (first 1 TiB/month free)",
      "source_url": "https://cloud.google.com/bigquery/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 6986,
        "url": "https://smithery.ai/servers/bigquery",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://bigquery.googleapis.com",
        "probes": 1,
        "up": 1,
        "median_ms": 385,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://bigquery.googleapis.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 391,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "mongodb-atlas",
    "name": "MongoDB Atlas",
    "category": "databases",
    "homepage": "https://www.mongodb.com/atlas",
    "docs": "https://www.mongodb.com/docs/atlas/api/atlas-admin-api-ref/",
    "auth": "api_key+oauth2",
    "auth_hint": "OAuth2 service account (client credentials) -> Authorization: Bearer <access token, 1h>; legacy: HTTP Digest with Atlas public/private API key",
    "mcp": {
      "type": "official",
      "url": "https://github.com/mongodb-js/mongodb-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/mongodb-js/mongodb-mcp-server",
      "tools": [
        "find",
        "aggregate",
        "count",
        "insert-many",
        "update-many",
        "delete-many",
        "create-collection",
        "list-collections",
        "list-databases",
        "collection-schema",
        "create-index",
        "explain",
        "export",
        "atlas-list-clusters",
        "atlas-create-free-cluster",
        "atlas-connect-cluster",
        "atlas-create-project",
        "atlas-list-projects",
        "atlas-create-db-user",
        "atlas-create-access-list",
        "atlas-list-alerts",
        "atlas-get-performance-advisor",
        "search-knowledge"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/mongodb-js/mongodb-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "mongodb-mcp-server@latest",
          "--readOnly"
        ],
        "env": [
          "MDB_MCP_CONNECTION_STRING",
          "MDB_MCP_API_CLIENT_ID",
          "MDB_MCP_API_CLIENT_SECRET"
        ],
        "docs_only": false,
        "source_url": "https://github.com/mongodb-js/mongodb-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: M0 cluster free forever (512MB)",
    "sdk": [
      "python",
      "javascript",
      "java",
      "csharp",
      "go",
      "rust"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create/manage Atlas clusters and query MongoDB data via Admin API, drivers, or official MCP server.",
    "notes": "MongoDB also runs the Atlas Managed MCP Server (GA Aug 2026, OAuth, recommended), reached via AI-client plugins or the mongodb-atlas-mcp-remote npm package; no public endpoint URL is documented.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "M0 Free cluster: 512 MB storage, shared RAM/vCPU, up to 100 ops/sec; free forever",
      "source_url": "https://www.mongodb.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <service-account access token> (OAuth2 client credentials, 1h tokens); legacy API keys use HTTP Digest",
      "source_url": "https://www.mongodb.com/docs/atlas/api/api-authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://cloud.mongodb.com/api/atlas/v2",
    "operations": [
      "nosql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "list clusters in a project",
      "method": "GET",
      "url": "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters",
      "example": "curl -H \"Authorization: Bearer $ATLAS_ACCESS_TOKEN\" -H \"Accept: application/vnd.atlas.2025-03-12+json\" https://cloud.mongodb.com/api/atlas/v2/groups/$ATLAS_GROUP_ID/clusters",
      "response_fields": [
        "results[].name",
        "results[].stateName",
        "results[].connectionStrings.standardSrv",
        "totalCount"
      ],
      "async": null,
      "source_url": "https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/operation/operation-listgroupclusters",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Flex cluster from $0.011/hour (capped at $8/month); dedicated M10 from $0.08/hour; M0 free",
      "source_url": "https://www.mongodb.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "mongodb-js/mongodb-mcp-server",
        "stars": 1137,
        "forks": 294,
        "pushed_at": "2026-09-23",
        "archived": false,
        "url": "https://github.com/mongodb-js/mongodb-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/MongoDB-Atlas/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://cloud.mongodb.com/api/atlas/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 364,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/mongodb-atlas.json"
  },
  {
    "id": "neon-postgres",
    "name": "Neon Postgres",
    "category": "databases",
    "homepage": "https://neon.com",
    "docs": "https://neon.com/docs/reference/api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/neondatabase/mcp-server-neon",
      "maintainer": "vendor",
      "remote_url": "https://mcp.neon.tech/mcp",
      "repo": "https://github.com/neondatabase/mcp-server-neon",
      "tools": [
        "list_projects",
        "describe_project",
        "create_project",
        "delete_project",
        "list_organizations",
        "list_branches",
        "create_branch",
        "reset_from_parent",
        "delete_branch",
        "describe_branch",
        "restore_snapshot",
        "list_postgres_endpoints",
        "list_snapshots",
        "get_connection_string",
        "run_sql",
        "run_sql_transaction",
        "get_database_tables",
        "describe_table_schema",
        "compare_database_schema",
        "prepare_database_migration",
        "complete_database_migration",
        "inspect_database",
        "list_slow_queries",
        "explain_sql_statement",
        "prepare_query_tuning",
        "complete_query_tuning",
        "provision_neon_auth",
        "provision_neon_data_api",
        "query_logs",
        "list_functions",
        "list_storage_buckets",
        "search",
        "fetch"
      ],
      "covers_full_api": true,
      "source_url": "https://neon.com/docs/ai/neon-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.neon.tech/mcp",
        "headers": {
          "Authorization": "Bearer $NEON_API_KEY"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/neondatabase/mcp-server-neon#option-3-remote-hosted-mcp-server-api-key-based-authentication",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 100 projects; 0.5 GB storage, 100 CU-hours and 5 GB egress per project per month, no card required",
    "sdk": [],
    "openapi": "https://neon.com/api_spec/release/v2.json",
    "llms_txt": "https://api-docs.neon.tech/llms.txt",
    "desc_en": "Provision and manage serverless Postgres projects/branches and run SQL via REST API or MCP server.",
    "notes": "OAuth recommended for local IDEs, static API key for headless agents.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100 projects; 0.5 GB storage, 100 CU-hours and 5 GB egress per project per month",
      "period": "month",
      "source_url": "https://neon.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <NEON_API_KEY>",
      "source_url": "https://neon.com/docs/reference/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://console.neon.tech/api/v2",
    "async_jobs": {
      "value": true,
      "how": "long-running tasks return operation IDs; poll GET /projects/{project_id}/operations/{operation_id}",
      "source_url": "https://neon.com/docs/reference/api"
    },
    "operations": [
      "sql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a Postgres project",
      "method": "POST",
      "url": "https://console.neon.tech/api/v2/projects",
      "example": "curl -X POST https://console.neon.tech/api/v2/projects -H \"Authorization: Bearer $NEON_API_KEY\" -H 'Content-Type: application/json' -d '{\"project\":{\"name\":\"my-db\",\"region_id\":\"aws-us-east-2\"}}'",
      "response_fields": [
        "project.id",
        "connection_uris[0].connection_uri",
        "endpoints[0].host"
      ],
      "async": null,
      "source_url": "https://neon.com/docs/reference/api/projects/create-project.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "neondatabase/mcp-server-neon",
        "stars": 650,
        "forks": 126,
        "pushed_at": "2026-09-23",
        "archived": false,
        "url": "https://github.com/neondatabase/mcp-server-neon",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://console.neon.tech/api/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 391,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.neon.tech/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 424,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "planetscale",
    "name": "PlanetScale",
    "category": "databases",
    "homepage": "https://planetscale.com",
    "docs": "https://planetscale.com/docs/connect/mcp",
    "auth": "api_key+oauth2",
    "auth_hint": "Service token or OAuth (for MCP)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.pscale.dev/mcp/planetscale",
      "maintainer": "vendor",
      "remote_url": "https://mcp.pscale.dev/mcp/planetscale",
      "covers_full_api": false,
      "source_url": "https://planetscale.com/docs/connect/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.pscale.dev/mcp/planetscale",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://planetscale.com/docs/connect/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only: no free or Hobby plan; cheapest is Postgres PS-5 single node at $5/month",
    "sdk": [
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://planetscale.com/docs/llms.txt",
    "desc_en": "Manage MySQL databases, branches, and schema, and view Insights via hosted MCP server or API.",
    "notes": "MCP server launched Jan 2026; configurable read-only vs full-access permissions.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://planetscale.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: <SERVICE_TOKEN_ID>:<SERVICE_TOKEN>",
      "source_url": "https://planetscale.com/docs/api/reference/service-tokens",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.planetscale.com/v1",
    "rate_limits": {
      "summary": "600 requests per minute (subject to change)",
      "source_url": "https://planetscale.com/docs/api/reference/getting-started-with-planetscale-api",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sql-database"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 2,
        "url": "https://smithery.ai/servers/planetscale",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.planetscale.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 471,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.pscale.dev/mcp/planetscale",
        "probes": 1,
        "up": 1,
        "median_ms": 828,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "snowflake",
    "name": "Snowflake",
    "category": "databases",
    "homepage": "https://www.snowflake.com",
    "docs": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp",
    "auth": "api_key+oauth2",
    "auth_hint": "Key-pair auth, OAuth, or PAT; cloud_iam variants for Snowpark",
    "mcp": {
      "type": "official",
      "url": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp",
      "maintainer": "vendor",
      "remote_url": "https://<account_url>/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{name}",
      "repo": "https://github.com/Snowflake-Labs/mcp",
      "covers_full_api": false,
      "source_url": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://{account_url}/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{name}",
        "headers": null,
        "oauth": true,
        "source_url": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "trial credits (no permanent free tier); check pricing",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run SQL, Cortex Analyst, and Cortex Search over warehoused data via REST API or managed MCP server.",
    "notes": "Snowflake-managed MCP server reached GA Nov 2025; hosted per account at https://<account_url>/api/v2/databases/{db}/schemas/{schema}/mcp-servers/{name}. Snowflake-Labs/mcp is a separate self-hosted server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "30-day trial with a free usage balance (ends at 30 days or when balance is used up); AI features disabled until a card is added",
      "period": "one_time",
      "source_url": "https://docs.snowflake.com/en/user-guide/admin-trial-account",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OAuth token | key-pair JWT | PAT> with optional X-Snowflake-Authorization-Token-Type header",
      "source_url": "https://docs.snowflake.com/en/developer-guide/sql-api/authenticating",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://<account_identifier>.snowflakecomputing.com/api/v2",
    "operations": [
      "analytics-query",
      "sql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "execute a SQL statement",
      "method": "POST",
      "url": "https://{account_identifier}.snowflakecomputing.com/api/v2/statements",
      "example": "curl -X POST \"https://$SNOWFLAKE_ACCOUNT.snowflakecomputing.com/api/v2/statements\" -H 'Content-Type: application/json' -H \"Authorization: Bearer $SNOWFLAKE_JWT\" -H 'Accept: application/json' -H 'User-Agent: myApplicationName/1.0' -d '{\"statement\": \"select current_date()\", \"timeout\": 60, \"warehouse\": \"TESTWH\"}'",
      "response_fields": [
        "statementHandle",
        "resultSetMetaData.numRows",
        "data",
        "statementStatusUrl"
      ],
      "async": "if HTTP 202, poll GET statementStatusUrl (/api/v2/statements/{statementHandle}) until 200",
      "source_url": "https://docs.snowflake.com/en/developer-guide/sql-api/submitting-requests",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "Snowflake-Labs/mcp",
        "stars": 299,
        "forks": 108,
        "pushed_at": "2026-05-15",
        "archived": false,
        "url": "https://github.com/Snowflake-Labs/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.8,
        "reviews": 4,
        "url": "https://sourceforge.net/software/product/Snowflake/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/snowflake.json"
  },
  {
    "id": "supabase",
    "name": "Supabase",
    "category": "databases",
    "homepage": "https://supabase.com",
    "docs": "https://supabase.com/docs/guides/api",
    "auth": "api_key+oauth2",
    "auth_hint": "apikey: <publishable or secret key> (not Authorization: Bearer; new keys are not JWTs); Management API: Authorization: Bearer <PAT or OAuth token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.supabase.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.supabase.com/mcp",
      "repo": "https://github.com/supabase-community/supabase-mcp",
      "tools": [
        "list_organizations",
        "get_organization",
        "list_projects",
        "get_project",
        "create_project",
        "pause_project",
        "restore_project",
        "get_cost",
        "confirm_cost",
        "list_tables",
        "list_extensions",
        "list_migrations",
        "apply_migration",
        "execute_sql",
        "get_advisors",
        "get_project_url",
        "get_publishable_keys",
        "generate_typescript_types",
        "list_edge_functions",
        "get_edge_function",
        "deploy_edge_function",
        "search_docs",
        "list_storage_buckets",
        "get_storage_config",
        "create_branch",
        "list_branches",
        "delete_branch",
        "merge_branch",
        "reset_branch",
        "rebase_branch"
      ],
      "covers_full_api": false,
      "source_url": "https://supabase.com/docs/guides/getting-started/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.supabase.com/mcp",
        "headers": {
          "Authorization": "Bearer $SUPABASE_ACCESS_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://supabase.com/docs/guides/getting-started/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 2 projects, 500MB DB, 5GB bandwidth",
    "sdk": [
      "javascript",
      "python",
      "dart",
      "swift"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage Postgres tables, auth, storage, and edge functions via REST/GraphQL APIs or client SDKs.",
    "notes": "Official MCP server can also create/manage whole projects, not just query data.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "2 active projects, 500 MB database, 5 GB egress, 1 GB file storage, 50,000 MAU; paused after 1 week of inactivity",
      "period": "month",
      "source_url": "https://supabase.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "apikey",
      "format": "apikey: <publishable or secret key>",
      "source_url": "https://supabase.com/docs/guides/api/api-keys",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.supabase.com/v1",
    "rate_limits": {
      "summary": "Management API: 120 requests/min per user per scope; some analytics and database endpoints 30 or 10/min; Free plan data API requests unlimited",
      "source_url": "https://supabase.com/docs/reference/api/introduction",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sql-database",
      "object-storage"
    ],
    "no_auth": false,
    "call": {
      "operation": "query rows from a table via the Data REST API",
      "method": "GET",
      "url": "https://{project_ref}.supabase.co/rest/v1/{table}?select=*",
      "example": "curl \"https://$SUPABASE_PROJECT_REF.supabase.co/rest/v1/leaderboard?select=*&order=score.desc\" -H \"apikey: $SUPABASE_PUBLISHABLE_KEY\"",
      "response_fields": [
        "[] (JSON array of row objects)"
      ],
      "async": null,
      "source_url": "https://supabase.com/docs/guides/api/quickstart",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 189,
        "url": "https://smithery.ai/servers/Supabase",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.supabase.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 234,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.supabase.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 149,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "tidb-cloud",
    "name": "TiDB Cloud API (Starter)",
    "category": "databases",
    "homepage": "https://www.pingcap.com/tidb/cloud/",
    "docs": "https://docs.pingcap.com/api/tidb-cloud-api-overview/",
    "auth": "api_key",
    "auth_hint": "HTTP Digest auth with API public key as username and private key as password (Management API); SQL via MySQL connection string or serverless HTTP driver with cluster user/password",
    "mcp": {
      "type": "official",
      "url": "https://github.com/pingcap/pytidb",
      "maintainer": "vendor",
      "repo": "https://github.com/pingcap/pytidb",
      "tools": [
        "show_databases",
        "switch_database",
        "show_tables",
        "db_query",
        "db_execute",
        "db_create_user",
        "db_remove_user"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/pingcap/pytidb/blob/main/pytidb/ext/mcp/server.py",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "--from",
          "pytidb[mcp]",
          "tidb-mcp-server"
        ],
        "env": [
          "TIDB_HOST",
          "TIDB_PORT",
          "TIDB_USERNAME",
          "TIDB_PASSWORD",
          "TIDB_DATABASE"
        ],
        "docs_only": false,
        "source_url": "https://github.com/pingcap/pytidb",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: up to 5 Starter instances per org, 25 GiB row storage + 25 GiB columnar storage + 250M Request Units per month in total; no credit card",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.pingcap.com/llms.txt",
    "desc_en": "Lets an agent create and manage serverless MySQL-compatible TiDB clusters and run SQL, full-text and vector search queries against them.",
    "notes": "Cloud API is in public preview (v1beta1 for Starter/Essential/Dedicated). Official MCP server is local (uvx --from pytidb[mcp] tidb-mcp-server, stdio or SSE) and needs the cluster connection credentials. A 6th instance requires a card and spending limit.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "25 GiB row storage, 25 GiB column storage and 250M Request Units per organization",
      "period": "month",
      "source_url": "https://www.pingcap.com/tidb-cloud-pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "format": "HTTP Digest auth: API public key as username, private key as password",
      "source_url": "https://docs.pingcap.com/api/tidb-cloud-api-overview/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sql-database",
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "list Starter clusters",
      "method": "GET",
      "url": "https://serverless.tidbapi.com/v1beta1/clusters",
      "example": "curl --digest --user \"$TIDB_PUBLIC_KEY:$TIDB_PRIVATE_KEY\" https://serverless.tidbapi.com/v1beta1/clusters",
      "response_fields": [
        "clusters[].clusterId",
        "clusters[].displayName",
        "clusters[].state",
        "clusters[].endpoints",
        "nextPageToken"
      ],
      "async": null,
      "source_url": "https://pkg.go.dev/github.com/tidbcloud/tidbcloud-cli/pkg/tidbcloud/v1beta1/serverless/cluster",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Starter: $0.10 per 1M Request Units in US regions ($0.12 APAC/Europe); row storage $0.20/GiB-month",
      "source_url": "https://www.pingcap.com/tidb-cloud-starter-pricing-details/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false
  },
  {
    "id": "tinybird",
    "name": "Tinybird API",
    "category": "databases",
    "homepage": "https://www.tinybird.co",
    "docs": "https://www.tinybird.co/docs/api-reference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <TINYBIRD_TOKEN> (workspace admin, resource-scoped token or JWT)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.tinybird.co?token=TINYBIRD_TOKEN",
      "maintainer": "vendor",
      "remote_url": "https://mcp.tinybird.co?token=TINYBIRD_TOKEN",
      "tools": [
        "call_endpoint",
        "execute_query",
        "text_to_sql",
        "list_endpoints",
        "list_datasources",
        "list_service_datasources"
      ],
      "covers_full_api": false,
      "source_url": "https://www.tinybird.co/docs/forward/analytics-agents/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.tinybird.co?token=$TINYBIRD_TOKEN",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://www.tinybird.co/docs/forward/analytics-agents/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 10 GB storage, 1,000 API requests/day, 0.25 vCPU shared; no credit card",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://www.tinybird.co/docs/llms.txt",
    "desc_en": "Lets an agent ingest events into real-time ClickHouse-based data sources, run SQL queries and call published analytics API endpoints.",
    "notes": "Remote MCP over Streamable HTTP, token passed as query parameter (add &host=... for non-default regions); use mcp-remote for older clients. API host depends on workspace region.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "10 GB storage, 1,000 API requests per day, 0.25 vCPU",
      "period": "day",
      "source_url": "https://www.tinybird.co/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <TINYBIRD_TOKEN> (or ?token=<TINYBIRD_TOKEN>)",
      "source_url": "https://www.tinybird.co/docs/api-reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.tinybird.co",
    "rate_limits": {
      "summary": "Limits depend on plan (Free: 1,000 API requests/day); 429 Too many requests when exceeded",
      "source_url": "https://www.tinybird.co/docs/api-reference",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "analytics-query",
      "data-pipeline"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a SQL query",
      "method": "POST",
      "url": "https://{api_host}/v0/sql",
      "example": "curl -H \"Authorization: Bearer $TINYBIRD_TOKEN\" --data \"q=SELECT * FROM my_datasource LIMIT 10 FORMAT JSON\" https://api.tinybird.co/v0/sql",
      "response_fields": [
        "meta",
        "data",
        "rows",
        "statistics.elapsed"
      ],
      "source_url": "https://www.tinybird.co/docs/api-reference/query-api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.tinybird.co",
        "probes": 1,
        "up": 1,
        "median_ms": 3197,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 302
        }
      },
      "mcp_remote": {
        "url": "https://mcp.tinybird.co?token=TINYBIRD_TOKEN",
        "probes": 1,
        "up": 1,
        "median_ms": 240,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "turso",
    "name": "Turso",
    "category": "databases",
    "homepage": "https://turso.tech",
    "docs": "https://docs.turso.tech",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.turso.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.turso.ai/mcp",
      "repo": "https://github.com/tursodatabase/turso-mcp",
      "covers_full_api": true,
      "source_url": "https://docs.turso.tech/integrations/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.turso.ai/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/tursodatabase/turso-mcp#how-it-works",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 100 databases, 5 GB storage, 500M rows read and 10M rows written per month, no card required",
    "sdk": [
      "javascript",
      "python",
      "rust",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create and query edge SQLite (libSQL) databases programmatically via HTTP/SDK client libraries.",
    "notes": "Official hosted MCP server (OAuth 2.1) manages databases and groups and runs SQL; repo github.com/tursodatabase/turso-mcp.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100 databases, 5 GB storage, 500M rows read and 10M rows written per month",
      "period": "month",
      "source_url": "https://turso.tech/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <TURSO_API_TOKEN>",
      "source_url": "https://docs.turso.tech/api-reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.turso.tech/v1",
    "operations": [
      "sql-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a database",
      "method": "POST",
      "url": "https://api.turso.tech/v1/organizations/{organizationSlug}/databases",
      "example": "curl -X POST \"https://api.turso.tech/v1/organizations/$TURSO_ORG/databases\" -H \"Authorization: Bearer $TURSO_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"name\":\"new-database\",\"group\":\"default\"}'",
      "response_fields": [
        "database.DbId",
        "database.Hostname",
        "database.Name"
      ],
      "async": null,
      "source_url": "https://docs.turso.tech/api-reference/databases/create",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.turso.tech/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 358,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.turso.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 350,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "upstash-redis-vector",
    "name": "Upstash (Redis, Vector)",
    "category": "databases",
    "homepage": "https://upstash.com",
    "docs": "https://upstash.com/docs/redis/overall/getstarted",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.upstash.com/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/upstash/mcp-server",
      "covers_full_api": false,
      "source_url": "https://github.com/upstash/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.upstash.com/mcp",
        "headers": {
          "Authorization": "Bearer $UPSTASH_EMAIL:$UPSTASH_API_KEY"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://upstash.com/docs/agent-resources/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: Redis 256MB/500K cmds per month; Vector 10K queries+updates per day (max 200M vectors x dimensions, 1,536 dims)",
    "sdk": [
      "javascript",
      "python",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Call serverless Redis, Vector, and QStash over HTTP REST API from edge/serverless runtimes.",
    "notes": "Remote MCP endpoint supports OAuth or API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Redis: 256 MB data, 500K commands/month; Vector: 1 free index, 10K queries+updates/day",
      "period": "month",
      "source_url": "https://upstash.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <UPSTASH_REDIS_REST_TOKEN> (or ?_token=<TOKEN>)",
      "source_url": "https://upstash.com/docs/redis/features/restapi",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "key-value-store",
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "set a Redis key over REST",
      "method": "GET",
      "url": "{UPSTASH_REDIS_REST_URL}/set/{key}/{value}",
      "example": "curl $UPSTASH_REDIS_REST_URL/set/foo/bar -H \"Authorization: Bearer $UPSTASH_REDIS_REST_TOKEN\"",
      "response_fields": [
        "result",
        "error"
      ],
      "async": null,
      "source_url": "https://upstash.com/docs/redis/features/restapi",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Redis pay-as-you-go: $0.20 per 100K commands",
      "source_url": "https://upstash.com/pricing/redis",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    }
  },
  {
    "id": "agentset",
    "name": "Agentset RAG API",
    "category": "databases-vector-memory",
    "homepage": "https://agentset.ai/",
    "docs": "https://docs.agentset.ai/api-reference/introduction",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://docs.agentset.ai/production/mcp-server",
      "maintainer": "vendor",
      "covers_full_api": false,
      "source_url": "https://docs.agentset.ai/production/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@agentset/mcp@latest"
        ],
        "env": [
          "AGENTSET_API_KEY",
          "AGENTSET_NAMESPACE_ID"
        ],
        "docs_only": false,
        "source_url": "https://docs.agentset.ai/production/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan (forever): 1,000 pages ingested and 10,000 retrievals per month, 60 requests/min per namespace",
    "sdk": [
      "javascript",
      "python"
    ],
    "openapi": "https://spec.speakeasy.com/agentset-ktc/api/agentset-api-with-code-samples",
    "llms_txt": "https://docs.agentset.ai/llms.txt",
    "desc_en": "Lets an agent ingest documents into managed RAG namespaces and run semantic search or cited question answering over them.",
    "notes": "MCP server is local (stdio, npx @agentset/mcp) and needs AGENTSET_API_KEY plus a namespace ID. Open-source, self-hostable.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 pages; 10,000 retrievals per month",
      "period": "month",
      "source_url": "https://agentset.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.agentset.ai/api-reference/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.agentset.ai",
    "operations": [
      "rag-retrieval",
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "search a namespace",
      "method": "POST",
      "url": "https://api.agentset.ai/v1/namespace/{namespaceId}/search",
      "example": "curl -X POST https://api.agentset.ai/v1/namespace/$AGENTSET_NAMESPACE_ID/search -H \"Authorization: Bearer $AGENTSET_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":\"What is the refund policy?\",\"topK\":10}'",
      "response_fields": [
        "success",
        "data[].id",
        "data[].score",
        "data[].text",
        "data[].metadata"
      ],
      "async": null,
      "source_url": "https://docs.agentset.ai/api-reference/endpoint/search",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Retrievals: 10,000/month on Free, unlimited on Pro ($49/mo, 10,000 pages included); ingestion $0.01 per additional page",
      "source_url": "https://agentset.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.agentset.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 1471,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "chroma-cloud",
    "name": "Chroma Cloud",
    "category": "databases-vector-memory",
    "homepage": "https://www.trychroma.com",
    "docs": "https://docs.trychroma.com",
    "auth": "api_key",
    "auth_hint": "x-chroma-token or Authorization header",
    "mcp": {
      "type": "official",
      "url": "https://github.com/chroma-core/chroma-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/chroma-core/chroma-mcp",
      "tools": [
        "chroma_list_collections",
        "chroma_create_collection",
        "chroma_peek_collection",
        "chroma_get_collection_info",
        "chroma_get_collection_count",
        "chroma_modify_collection",
        "chroma_delete_collection",
        "chroma_add_documents",
        "chroma_query_documents",
        "chroma_get_documents",
        "chroma_update_documents",
        "chroma_delete_documents"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/chroma-core/chroma-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "chroma-mcp",
          "--client-type",
          "cloud"
        ],
        "env": [
          "CHROMA_TENANT",
          "CHROMA_DATABASE",
          "CHROMA_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/chroma-core/chroma-mcp#usage-with-claude-desktop",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: Starter plan $0/month base with $5 one-time free credits on signup, then usage-based pricing",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create databases and store/query vector embeddings for retrieval via REST/SDK or MCP server.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "Starter plan $0/month base with $5 in free credits, then usage-based",
      "period": "one_time",
      "source_url": "https://www.trychroma.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-chroma-token",
      "format": "x-chroma-token: <API_KEY>",
      "source_url": "https://docs.trychroma.com/cloud/getting-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.trychroma.com",
    "operations": [
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "query a collection by embedding",
      "method": "POST",
      "url": "https://api.trychroma.com/api/v2/tenants/{tenant}/databases/{database}/collections/{collection_id}/query",
      "example": "curl -X POST https://api.trychroma.com/api/v2/tenants/$CHROMA_TENANT/databases/$CHROMA_DATABASE/collections/$COLLECTION_ID/query -H \"x-chroma-token: $CHROMA_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query_embeddings\": [[0.1, 0.2, 0.3]], \"n_results\": 10, \"include\": [\"documents\", \"metadatas\", \"distances\"]}'",
      "response_fields": [
        "ids",
        "documents",
        "metadatas",
        "distances"
      ],
      "async": null,
      "source_url": "https://docs.trychroma.com/reference/chroma-api/record/query-collection",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Reads: $0.0075 per TiB queried + $0.09 per GiB returned; writes $2.50 per logical GiB; storage $0.33 per GiB-month",
      "source_url": "https://docs.trychroma.com/cloud/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "chroma-core/chroma-mcp",
        "stars": 599,
        "forks": 115,
        "pushed_at": "2025-09-17",
        "archived": false,
        "url": "https://github.com/chroma-core/chroma-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.trychroma.com",
        "probes": 1,
        "up": 1,
        "median_ms": 444,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "letta",
    "name": "Letta",
    "category": "databases-vector-memory",
    "homepage": "https://www.letta.com",
    "docs": "https://docs.letta.com",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://api.letta.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.letta.com/mcp",
      "tools": [
        "list_agents",
        "list_models",
        "create_agent",
        "send_agent_message",
        "get_run",
        "get_reply"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.letta.com/platform/hosted-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.letta.com/mcp",
        "headers": {
          "Authorization": "Bearer $LETTA_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.letta.com/platform/hosted-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: $0/month plan with up to 3 stateful agents and limited Letta Auto usage (bring your own API keys); API plan $20/month + usage",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create and run stateful agents with persistent memory blocks via REST API or hosted MCP server.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan $0/month: up to 3 stateful agents, limited Letta Auto usage, bring your own API keys",
      "period": "month",
      "source_url": "https://docs.letta.com/letta-code/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <LETTA_API_KEY>",
      "source_url": "https://docs.letta.com/api-reference/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.letta.com",
    "operations": [
      "agent-memory"
    ],
    "no_auth": false,
    "call": {
      "operation": "send a message to a stateful agent",
      "method": "POST",
      "url": "https://api.letta.com/v1/agents/{agent_id}/messages",
      "example": "curl https://api.letta.com/v1/agents/$AGENT_ID/messages -H \"Content-Type: application/json\" -H \"Authorization: Bearer $LETTA_API_KEY\" -d '{\"input\":\"Hello\"}'",
      "response_fields": [
        "messages[].message_type",
        "messages[].content",
        "stop_reason.stop_reason",
        "usage"
      ],
      "async": null,
      "source_url": "https://docs.letta.com/api/resources/agents/subresources/messages/methods/create/index.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "API plan $20/month + $0.10 per active agent/month + $0.00015 per second of tool execution; LLM tokens billed at model rates",
      "source_url": "https://docs.letta.com/letta-code/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.letta.com",
        "probes": 1,
        "up": 1,
        "median_ms": 327,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://api.letta.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 303,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "mem0",
    "name": "Mem0",
    "category": "databases-vector-memory",
    "homepage": "https://mem0.ai",
    "docs": "https://docs.mem0.ai",
    "auth": "api_key",
    "auth_hint": "Authorization: Token <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.mem0.ai/mcp/",
      "maintainer": "vendor",
      "remote_url": "https://mcp.mem0.ai/mcp",
      "tools": [
        "add_memory",
        "search_memories",
        "get_memories",
        "get_memory",
        "update_memory",
        "delete_memory",
        "delete_all_memories",
        "delete_entities",
        "list_entities",
        "list_events",
        "get_event_status"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.mem0.ai/platform/mem0-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.mem0.ai/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.mem0.ai/platform/mem0-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free (Hobby) tier: 10K add requests, 1K retrievals/mo, 1 project",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Add, search, update, and delete long-term agent memories via REST API or hosted MCP server.",
    "notes": "Graph memory feature is gated to the Pro plan.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Hobby: 10,000 add requests and 1,000 retrieval requests per month",
      "period": "month",
      "source_url": "https://mem0.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token <MEM0_API_KEY>",
      "source_url": "https://docs.mem0.ai/api-reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mem0.ai",
    "async_jobs": {
      "value": true,
      "how": "POST /v3/memories/add/ returns event_id with status PENDING; check event status (MCP tool get_event_status) or use webhooks",
      "source_url": "https://docs.mem0.ai/api-reference/memory/add-memories"
    },
    "operations": [
      "agent-memory"
    ],
    "no_auth": false,
    "call": {
      "operation": "add memories from a conversation",
      "method": "POST",
      "url": "https://api.mem0.ai/v3/memories/add/",
      "example": "curl -X POST https://api.mem0.ai/v3/memories/add/ -H \"Authorization: Token $MEM0_API_KEY\" -H 'Content-Type: application/json' -d '{\"messages\":[{\"role\":\"user\",\"content\":\"I just moved to San Francisco.\"}],\"user_id\":\"alice\"}'",
      "response_fields": [
        "event_id",
        "status"
      ],
      "async": "queued (status PENDING); poll GET https://api.mem0.ai/v1/event/{event_id}/",
      "source_url": "https://docs.mem0.ai/api-reference/memory/add-memories",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mem0.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 518,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.mem0.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 522,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 307
        }
      }
    }
  },
  {
    "id": "pinecone",
    "name": "Pinecone",
    "category": "databases-vector-memory",
    "homepage": "https://www.pinecone.io",
    "docs": "https://docs.pinecone.io/guides/operations/mcp-server",
    "auth": "api_key",
    "auth_hint": "Api-Key header",
    "mcp": {
      "type": "official",
      "url": "https://github.com/pinecone-io/pinecone-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/pinecone-io/pinecone-mcp",
      "tools": [
        "search-docs",
        "list-indexes",
        "describe-index",
        "describe-index-stats",
        "create-index-for-model",
        "upsert-records",
        "search-records",
        "cascading-search",
        "rerank-documents"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/pinecone-io/pinecone-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@pinecone-database/mcp"
        ],
        "env": [
          "PINECONE_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/pinecone-io/pinecone-mcp#setup",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier (Starter plan, limited pods/reads)",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go",
      "rust"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Upsert, query, and rerank vector embeddings in managed indexes via REST/SDK or MCP server.",
    "notes": "Two official MCP servers: Developer/Assistant remote MCP and a local variant.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Starter: up to 2 GB storage, 1M read units, 2M write units, 5 indexes; Assistant 1 GB storage",
      "period": "month",
      "source_url": "https://www.pinecone.io/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Api-Key",
      "format": "Api-Key: <PINECONE_API_KEY> (plus X-Pinecone-Api-Version: 2025-10)",
      "source_url": "https://docs.pinecone.io/reference/api/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.pinecone.io",
    "rate_limits": {
      "summary": "Starter: 1M read units and 2M write units per month per org; 100 query and 100 upsert requests/s per namespace; 429 when exceeded",
      "source_url": "https://docs.pinecone.io/reference/api/database-limits/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "vector-search",
      "reranking"
    ],
    "no_auth": false,
    "call": {
      "operation": "query an index for nearest vectors",
      "method": "POST",
      "url": "https://{INDEX_HOST}/query",
      "example": "curl \"https://$INDEX_HOST/query\" -H \"Api-Key: $PINECONE_API_KEY\" -H 'Content-Type: application/json' -H 'X-Pinecone-Api-Version: 2026-07' -d '{\"namespace\": \"example-namespace\", \"vector\": [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3], \"topK\": 3, \"includeMetadata\": true}'",
      "response_fields": [
        "matches[].id",
        "matches[].score",
        "matches[].metadata",
        "usage.readUnits"
      ],
      "async": null,
      "source_url": "https://docs.pinecone.io/reference/api/latest/data-plane/query",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Standard plan: read units $16-$18 per million, write units $4-$4.50 per million, storage $0.33/GB-month; $50/month minimum",
      "source_url": "https://www.pinecone.io/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "pinecone-io/pinecone-mcp",
        "stars": 72,
        "forks": 21,
        "pushed_at": "2026-09-13",
        "archived": false,
        "url": "https://github.com/pinecone-io/pinecone-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.pinecone.io",
        "probes": 1,
        "up": 1,
        "median_ms": 312,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "qdrant-cloud",
    "name": "Qdrant Cloud",
    "category": "databases-vector-memory",
    "homepage": "https://qdrant.tech",
    "docs": "https://qdrant.tech/documentation/cloud/create-cluster/",
    "auth": "api_key",
    "auth_hint": "api-key header",
    "mcp": {
      "type": "official",
      "url": "https://github.com/qdrant/mcp-server-qdrant",
      "maintainer": "vendor",
      "repo": "https://github.com/qdrant/mcp-server-qdrant",
      "tools": [
        "qdrant-store",
        "qdrant-find"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/qdrant/mcp-server-qdrant",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "mcp-server-qdrant"
        ],
        "env": [
          "QDRANT_URL",
          "QDRANT_API_KEY",
          "COLLECTION_NAME"
        ],
        "docs_only": false,
        "source_url": "https://github.com/qdrant/mcp-server-qdrant",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: single-node cluster with 0.5 vCPU, 1 GB RAM, 4 GB disk, no card; suspends after 1 week idle",
    "sdk": [
      "python",
      "javascript",
      "rust",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create clusters and store/search vector embeddings via REST/gRPC API, SDKs, or official MCP server.",
    "notes": "Free clusters delete after 4 weeks of inactivity if not reactivated.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free forever single-node cluster: 0.5 vCPU, 1 GB RAM, 4 GB disk",
      "source_url": "https://qdrant.tech/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "api-key",
      "format": "api-key: <QDRANT_API_KEY> (or Authorization: Bearer <QDRANT_API_KEY>)",
      "source_url": "https://qdrant.tech/documentation/cloud/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://<cluster>.<region>.<provider>.cloud.qdrant.io:6333",
    "operations": [
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "query nearest points by vector",
      "method": "POST",
      "url": "https://{cluster_host}:6333/collections/{collection_name}/points/query",
      "example": "curl -X POST \"https://$QDRANT_HOST:6333/collections/my_collection/points/query\" -H \"api-key: $QDRANT_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":[0.2,0.1,0.9,0.7],\"limit\":3,\"with_payload\":true}'",
      "response_fields": [
        "result.points[].id",
        "result.points[].score",
        "result.points[].payload",
        "status"
      ],
      "async": null,
      "source_url": "https://api.qdrant.tech/api-reference/search/query-points",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "qdrant/mcp-server-qdrant",
        "stars": 1537,
        "forks": 309,
        "pushed_at": "2026-09-04",
        "archived": false,
        "url": "https://github.com/qdrant/mcp-server-qdrant",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "weaviate-cloud",
    "name": "Weaviate Cloud",
    "category": "databases-vector-memory",
    "homepage": "https://weaviate.io",
    "docs": "https://docs.weaviate.io/weaviate",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/weaviate/mcp-server-weaviate",
      "maintainer": "vendor",
      "remote_url": "https://<cluster-host>/v1/mcp",
      "tools": [
        "weaviate-collections-get-config",
        "weaviate-tenants-list",
        "weaviate-query-hybrid",
        "weaviate-objects-upsert"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.weaviate.io/weaviate/configuration/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://{cluster-host}/v1/mcp",
        "headers": {
          "Authorization": "Bearer $WEAVIATE_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.weaviate.io/weaviate/configuration/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: always-free plan, 1 cluster, 100,000 objects, 1 GB memory, 10 GB disk, 1 collection, no card required",
    "sdk": [
      "python",
      "javascript",
      "go",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Store and semantically search vector objects in a managed cluster via REST/GraphQL or MCP server.",
    "notes": "MCP endpoint built into the database at /v1/mcp: always on in Weaviate Cloud, disabled by default when self-hosted (writes need MCP_SERVER_WRITE_ACCESS_ENABLED).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Always free: 1 cluster, 100,000 objects, 1 GB memory, 10 GB disk, 1 collection; embeddings 2,000 req/day",
      "source_url": "https://weaviate.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <WEAVIATE_API_KEY>",
      "source_url": "https://docs.weaviate.io/cloud/manage-clusters/connect",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://<cluster-host>/v1",
    "operations": [
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "semantic (nearText) search in a collection",
      "method": "POST",
      "url": "https://{cluster-host}/v1/graphql",
      "example": "curl -X POST \"https://$WEAVIATE_HOST/v1/graphql\" -H \"Authorization: Bearer $WEAVIATE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"query\":\"{ Get { Publication(nearText: {concepts: [\\\"fashion\\\"]}, limit: 3) { name _additional { distance } } } }\"}'",
      "response_fields": [
        "data.Get.<Collection>[]",
        "data.Get.<Collection>[]._additional.distance",
        "errors"
      ],
      "async": null,
      "source_url": "https://docs.weaviate.io/weaviate/api/graphql/search-operators",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "weaviate/mcp-server-weaviate",
        "stars": 163,
        "forks": 43,
        "pushed_at": "2026-05-26",
        "archived": false,
        "url": "https://github.com/weaviate/mcp-server-weaviate",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "zep",
    "name": "Zep",
    "category": "databases-vector-memory",
    "homepage": "https://www.getzep.com",
    "docs": "https://help.getzep.com/memory-mcp-server",
    "auth": "api_key",
    "auth_hint": "Authorization: Api-Key <api_key> (REST API); MCP server uses OAuth 2.1 via the org's IdP",
    "mcp": {
      "type": "official",
      "url": "https://help.getzep.com/memory-mcp-server",
      "maintainer": "vendor",
      "remote_url": "https://api.getzep.com/mcp",
      "tools": [
        "search_graph",
        "get_user_summary",
        "get_subgraph",
        "get_node_neighbors",
        "list_episodes",
        "list_graphs",
        "search_graph_in",
        "add_memory",
        "add_memory_to_graph"
      ],
      "covers_full_api": false,
      "source_url": "https://help.getzep.com/memory-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.getzep.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://help.getzep.com/memory-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 10,000 credits per month, no rollover; variable rate limits",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Store and retrieve temporal knowledge-graph agent memory via REST API or a single MCP endpoint.",
    "notes": "One MCP URL serves both Zep managed cloud and BYOC deployments.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10,000 credits per month, no rollover; variable rate limits",
      "period": "month",
      "source_url": "https://www.getzep.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Api-Key <ZEP_API_KEY>",
      "source_url": "https://help.getzep.com/sdk-reference/user/get",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.getzep.com/api/v2",
    "rate_limits": {
      "summary": "Free plan: variable rate limits depending on service-wide load",
      "source_url": "https://www.getzep.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "agent-memory",
      "knowledge-graph-query"
    ],
    "no_auth": false,
    "call": {
      "operation": "add chat messages to a user's thread memory",
      "method": "POST",
      "url": "https://api.getzep.com/api/v2/threads/{threadId}/messages",
      "example": "curl -X POST https://api.getzep.com/api/v2/threads/$THREAD_ID/messages -H \"Authorization: Api-Key $ZEP_API_KEY\" -H \"Content-Type: application/json\" -d '{\"messages\": [{\"role\": \"user\", \"content\": \"I prefer window seats\"}], \"return_context\": true}'",
      "response_fields": [
        "message_uuids",
        "task_id",
        "context"
      ],
      "async": "graph ingestion runs in the background (task_id); read memory later with GET /api/v2/threads/{threadId}/context",
      "source_url": "https://help.getzep.com/sdk-reference/thread/add-messages-to-a-thread",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per episode up to 350 bytes (+1 per extra 350 bytes); extra credits $25 per 10,000 on Flex",
      "source_url": "https://www.getzep.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.getzep.com/api/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 368,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://api.getzep.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 377,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "zilliz-cloud-milvus",
    "name": "Zilliz Cloud (Milvus)",
    "category": "databases-vector-memory",
    "homepage": "https://zilliz.com",
    "docs": "https://docs.zilliz.com/docs/get-started",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/zilliztech/zilliz-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/zilliztech/zilliz-mcp-server",
      "tools": [
        "list_projects",
        "list_clusters",
        "create_free_cluster",
        "describe_cluster",
        "suspend_cluster",
        "resume_cluster",
        "query_cluster_metrics",
        "list_databases",
        "list_collections",
        "create_collection",
        "describe_collection",
        "insert_entities",
        "delete_entities",
        "search",
        "query",
        "hybrid_search"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/zilliztech/zilliz-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "zilliz-mcp-server"
        ],
        "env": [
          "ZILLIZ_CLOUD_TOKEN"
        ],
        "source_url": "https://github.com/zilliztech/zilliz-mcp-server",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: serverless cluster, 5GB storage, 2.5M vCUs per month, up to 5 collections, no card; plus up to $200 one-time trial credits ($100 on signup + $100 on adding a card)",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage Milvus clusters and perform vector search/ingestion via REST API, SDKs, or MCP server.",
    "notes": "MCP server can even provision a new free-tier cluster on request.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "5 GB storage, 2.5M vCUs per month, up to 5 collections; separately $200 free credits for evaluation",
      "period": "month",
      "source_url": "https://zilliz.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": "header",
      "name": "Authorization",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY or user:password>",
      "source_url": "https://docs.zilliz.com/reference/restful",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cloud.zilliz.com/v2",
    "operations": [
      "vector-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "vector similarity search in a collection",
      "method": "POST",
      "url": "{CLUSTER_ENDPOINT}/v2/vectordb/entities/search",
      "example": "curl -X POST \"$CLUSTER_ENDPOINT/v2/vectordb/entities/search\" -H \"Authorization: Bearer $ZILLIZ_TOKEN\" -H \"Content-Type: application/json\" -d '{\"collectionName\":\"quick_setup\",\"data\":[[0.358,-0.602,0.184,-0.263,0.903]],\"annsField\":\"vector\",\"limit\":3}'",
      "response_fields": [
        "code",
        "data[].id",
        "data[].distance",
        "cost"
      ],
      "async": null,
      "source_url": "https://docs.zilliz.com/reference/restful/search-v2",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "zilliztech/zilliz-mcp-server",
        "stars": 34,
        "forks": 5,
        "pushed_at": "2026-08-18",
        "archived": false,
        "url": "https://github.com/zilliztech/zilliz-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cloud.zilliz.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 383,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "agentmail",
    "name": "AgentMail",
    "category": "communication-email-chat",
    "homepage": "https://www.agentmail.to",
    "docs": "https://docs.agentmail.to",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.agentmail.to/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.agentmail.to/mcp",
      "repo": "https://github.com/agentmail-to/agentmail-mcp",
      "covers_full_api": true,
      "source_url": "https://docs.agentmail.to/integrations/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.agentmail.to/mcp",
        "headers": {
          "x-api-key": "$AGENTMAIL_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.agentmail.to/integrations/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: 3 inboxes, 3,000 emails/month (max 100/day), 3GB storage, no card required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Programmatically create inboxes and send/receive email autonomously, purpose-built for AI agents.",
    "notes": "Newer, smaller vendor than legacy ESPs; markets itself specifically as agent-native email infra with a built-in MCP server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "3 inboxes, 3,000 emails/month (max 100/day), 3 GB storage",
      "period": "month",
      "source_url": "https://www.agentmail.to/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.agentmail.to/api-reference/inboxes/list.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.agentmail.to/v0",
    "rate_limits": {
      "summary": "Per-organization API limits (unpublished); 429 with Retry-After on excess. Free plan capped at 100 emails/day",
      "source_url": "https://docs.agentmail.to/knowledge-base/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-send",
      "email-inbox"
    ],
    "no_auth": false,
    "call": {
      "operation": "send an email from an inbox",
      "method": "POST",
      "url": "https://api.agentmail.to/v0/inboxes/{inbox_id}/messages/send",
      "example": "curl -X POST https://api.agentmail.to/v0/inboxes/$INBOX_ID/messages/send -H \"Authorization: Bearer $AGENTMAIL_API_KEY\" -H \"Content-Type: application/json\" -d '{\"to\":\"recipient@example.com\",\"subject\":\"Hello\",\"text\":\"Body\"}'",
      "response_fields": [
        "message_id",
        "thread_id"
      ],
      "async": null,
      "source_url": "https://docs.agentmail.to/api-reference/inboxes/messages/send.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.agentmail.to/v0",
        "probes": 1,
        "up": 1,
        "median_ms": 209,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.agentmail.to/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 472,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "discord-api",
    "name": "Discord API",
    "category": "communication-email-chat",
    "homepage": "https://discord.com/developers/docs",
    "docs": "https://docs.discord.com/developers/intro",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bot <token> (OAuth2 Bearer only for user-authorized access and adding the bot to servers)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/SaseQ/discord-mcp",
      "maintainer": "community",
      "repo": "https://github.com/SaseQ/discord-mcp",
      "tools": [
        "get_server_info",
        "send_message",
        "read_messages",
        "edit_message",
        "delete_message",
        "send_private_message",
        "add_reaction",
        "create_text_channel",
        "list_channels",
        "find_channel"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/SaseQ/discord-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "-e",
          "DISCORD_TOKEN",
          "-e",
          "DISCORD_GUILD_ID",
          "saseq/discord-mcp:latest"
        ],
        "env": [
          "DISCORD_TOKEN",
          "DISCORD_GUILD_ID"
        ],
        "docs_only": false,
        "source_url": "https://github.com/SaseQ/discord-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key needed beyond creating a bot application",
    "sdk": [
      "python",
      "javascript",
      "java"
    ],
    "openapi": null,
    "llms_txt": "https://docs.discord.com/llms.txt",
    "desc_en": "Send messages, manage channels/roles, and build interactive bots via REST and Gateway API.",
    "notes": "Per-route rate limits; bots in 100+ servers require Discord verification/approval.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "source_url": "https://docs.discord.com/developers/reference",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Bot <BOT_TOKEN>",
      "source_url": "https://docs.discord.com/developers/reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://discord.com/api/v10",
    "rate_limits": {
      "summary": "Global 50 requests/s per bot plus per-route limits; 10,000 invalid requests per 10 min triggers IP ban",
      "source_url": "https://docs.discord.com/developers/topics/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "bot",
        "applications.commands"
      ],
      "source_url": "https://docs.discord.com/developers/topics/oauth2",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "team-chat"
    ],
    "no_auth": false,
    "call": {
      "operation": "send a message to a channel",
      "method": "POST",
      "url": "https://discord.com/api/v10/channels/{channel.id}/messages",
      "example": "curl -X POST https://discord.com/api/v10/channels/$CHANNEL_ID/messages -H \"Authorization: Bot $DISCORD_BOT_TOKEN\" -H \"Content-Type: application/json\" -d '{\"content\":\"Hello\"}'",
      "response_fields": [
        "id",
        "channel_id",
        "content",
        "timestamp"
      ],
      "async": null,
      "source_url": "https://docs.discord.com/developers/resources/message#create-message",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "SaseQ/discord-mcp",
        "stars": 507,
        "forks": 104,
        "pushed_at": "2026-04-25",
        "archived": false,
        "url": "https://github.com/SaseQ/discord-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 82,
        "url": "https://smithery.ai/servers/discord",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://discord.com/api/v10",
        "probes": 1,
        "up": 1,
        "median_ms": 166,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    }
  },
  {
    "id": "mailgun",
    "name": "Mailgun",
    "category": "communication-email-chat",
    "homepage": "https://www.mailgun.com",
    "docs": "https://documentation.mailgun.com/docs/mailgun/api-reference/intro/",
    "auth": "api_key",
    "auth_hint": "Basic auth: api:<API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/mailgun/mailgun-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/mailgun/mailgun-mcp-server",
      "covers_full_api": false,
      "source_url": "https://documentation.mailgun.com/docs/mailgun/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@mailgun/mcp-server"
        ],
        "env": [
          "MAILGUN_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/mailgun/mailgun-mcp-server#configuration",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free: 100 emails/day; 30-day free trial on paid tiers",
    "sdk": [
      "node",
      "python",
      "php",
      "ruby",
      "java",
      "csharp",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send and validate transactional email via REST API and SMTP relay with webhooks.",
    "notes": "Free plan limited to 1 sending domain and 1-day log retention. Official MCP server is local only (npx @mailgun/mcp-server, stdio).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "100 emails/day, 1 custom sending domain, 1-day log retention",
      "period": "day",
      "source_url": "https://www.mailgun.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(api:<API_KEY>)",
      "source_url": "https://documentation.mailgun.com/docs/mailgun/api-reference/mg-auth",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mailgun.net",
    "rate_limits": {
      "summary": "Per-API time windows; X-RateLimit-* headers and 429 when exceeded. EU region host: api.eu.mailgun.net",
      "source_url": "https://documentation.mailgun.com/docs/mailgun/api-reference/api-overview",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-send"
    ],
    "no_auth": false,
    "call": {
      "operation": "send an email",
      "method": "POST",
      "url": "https://api.mailgun.net/v3/{domain_name}/messages",
      "example": "curl -X POST https://api.mailgun.net/v3/$MAILGUN_DOMAIN/messages -u \"api:$MAILGUN_API_KEY\" -F from=\"Sender <postmaster@$MAILGUN_DOMAIN>\" -F to=user@example.com -F subject=Hello -F text=Testing",
      "response_fields": [
        "id",
        "message"
      ],
      "async": null,
      "source_url": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages/post-v3--domain-name--messages",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Overage from $1.80 per 1,000 emails (Basic, $15/mo incl. 10,000) or from $1.30 per 1,000 (Foundation, $35/mo incl. 50,000)",
      "source_url": "https://www.mailgun.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 1.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Mailgun/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mailgun.net",
        "probes": 1,
        "up": 1,
        "median_ms": 441,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/mailgun.json"
  },
  {
    "id": "ntfy",
    "name": "ntfy.sh Push Notifications API",
    "category": "communication-email-chat",
    "homepage": "https://ntfy.sh",
    "docs": "https://docs.ntfy.sh/publish/",
    "auth": "none",
    "auth_hint": "No key for public topics: POST the message body to https://ntfy.sh/<topic>. Optional access token for reserved topics: 'Authorization: Bearer tk_<TOKEN>'",
    "mcp": {
      "type": "community",
      "url": "https://github.com/gitmotion/ntfy-me-mcp",
      "maintainer": "community",
      "repo": "https://github.com/gitmotion/ntfy-me-mcp",
      "tools": [
        "ntfy_me",
        "ntfy_me_fetch"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/gitmotion/ntfy-me-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "ntfy-me-mcp"
        ],
        "env": [
          "NTFY_TOPIC",
          "NTFY_URL",
          "NTFY_TOKEN"
        ],
        "docs_only": false,
        "source_url": "https://github.com/gitmotion/ntfy-me-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key; anonymous publishing to public topics, rate-limited per visitor IP (burst of 60 requests, then 1 request every 5 s, roughly 17,280/day); paid plans from $6/month add reserved topics, higher limits, email and phone-call notifications.",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent send push notifications to a user's phone or desktop by publishing a plain HTTP POST to an ntfy topic, and read messages back from it.",
    "notes": "Public topic names act as passwords; anyone who knows the name can read or post, so use a hard-to-guess name or a reserved topic. Attachments up to 15 MB. Server is open source and self-hostable with the same API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "Burst of 60 requests, then 1 request every 5 s per visitor",
      "source_url": "https://docs.ntfy.sh/config/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No auth for public topics; optional Authorization: Bearer tk_<TOKEN> for protected topics",
      "source_url": "https://docs.ntfy.sh/publish/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://ntfy.sh",
    "rate_limits": {
      "summary": "Defaults: burst 60 requests, replenish 1 request/5 s; attachments 100 MB total, 500 MB/day bandwidth per visitor",
      "source_url": "https://docs.ntfy.sh/config/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "push-notification"
    ],
    "no_auth": true,
    "call": {
      "operation": "publish a push notification to a topic",
      "method": "POST",
      "url": "https://ntfy.sh/{topic}",
      "example": "curl -H \"Title: Build finished\" -H \"Priority: high\" -d \"Backup successful\" https://ntfy.sh/$NTFY_TOPIC",
      "response_fields": [
        "id",
        "time",
        "event",
        "topic",
        "message"
      ],
      "async": null,
      "source_url": "https://docs.ntfy.sh/publish/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://ntfy.sh",
        "probes": 1,
        "up": 1,
        "median_ms": 397,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "postmark",
    "name": "Postmark",
    "category": "communication-email-chat",
    "homepage": "https://postmarkapp.com",
    "docs": "https://postmarkapp.com/developer/api/overview",
    "auth": "api_key",
    "auth_hint": "X-Postmark-Server-Token: <token>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/ActiveCampaign/postmark-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/ActiveCampaign/postmark-mcp",
      "tools": [
        "sendEmail",
        "sendEmailWithTemplate",
        "sendBatch",
        "sendBatchWithTemplate",
        "listTemplates",
        "getTemplate",
        "createTemplate",
        "editTemplate",
        "deleteTemplate",
        "validateTemplate",
        "searchOutboundMessages",
        "getMessageDetails",
        "diagnoseDelivery",
        "searchBounces",
        "getBounceDump",
        "activateBounce",
        "listSuppressions",
        "createSuppressions",
        "deleteSuppressions",
        "getDeliveryStats",
        "getServerInfo",
        "listWebhooks",
        "createWebhook",
        "deleteWebhook"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/activecampaign/postmark-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@activecampaign/postmark-mcp"
        ],
        "env": [
          "POSTMARK_SERVER_TOKEN",
          "DEFAULT_SENDER_EMAIL",
          "DEFAULT_MESSAGE_STREAM"
        ],
        "docs_only": false,
        "source_url": "https://github.com/ActiveCampaign/postmark-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free: 100 emails/month (Developer plan, no expiry)",
    "sdk": [
      "node",
      "python",
      "php",
      "dotnet",
      "ruby",
      "go",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send transactional email via REST API with delivery tracking, bounce handling, and templates.",
    "notes": "Strictly transactional-email focused; enforces anti-bulk/anti-spam policy which can suspend accounts sending bulk/marketing mail. Official MCP server is local (npx @activecampaign/postmark-mcp).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100 emails/month (Developer plan, no expiry)",
      "period": "month",
      "source_url": "https://postmarkapp.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Postmark-Server-Token",
      "format": "X-Postmark-Server-Token: <SERVER_TOKEN>",
      "source_url": "https://postmarkapp.com/developer/api/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.postmarkapp.com",
    "rate_limits": {
      "summary": "Unpublished acceptable-use limit; HTTP 429 when exceeded",
      "source_url": "https://postmarkapp.com/developer/api/overview",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-send"
    ],
    "no_auth": false,
    "call": {
      "operation": "send one email",
      "method": "POST",
      "url": "https://api.postmarkapp.com/email",
      "example": "curl -X POST https://api.postmarkapp.com/email -H 'Accept: application/json' -H 'Content-Type: application/json' -H \"X-Postmark-Server-Token: $POSTMARK_SERVER_TOKEN\" -d '{\"From\":\"sender@example.com\",\"To\":\"receiver@example.com\",\"Subject\":\"Test\",\"TextBody\":\"Hello\",\"MessageStream\":\"outbound\"}'",
      "response_fields": [
        "MessageID",
        "ErrorCode",
        "SubmittedAt"
      ],
      "async": null,
      "source_url": "https://postmarkapp.com/developer/user-guide/send-email-with-api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "overage per 1,000 emails: $1.80 (Basic), $1.30 (Pro), $1.20 (Platform); plans from $15/mo for 10,000 emails",
      "source_url": "https://postmarkapp.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.postmarkapp.com",
        "probes": 1,
        "up": 1,
        "median_ms": 546,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "resend",
    "name": "Resend",
    "category": "communication-email-chat",
    "homepage": "https://resend.com",
    "docs": "https://resend.com/docs/api-reference/introduction",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer re_xxxxxxxxx",
    "mcp": {
      "type": "official",
      "url": "https://mcp.resend.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.resend.com/mcp",
      "repo": "https://github.com/resend/resend-mcp",
      "covers_full_api": true,
      "source_url": "https://resend.com/docs/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.resend.com/mcp",
        "headers": {
          "Authorization": "Bearer $RESEND_API_KEY"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://resend.com/docs/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 3,000 emails/mo, 100/day",
    "sdk": [
      "node",
      "python",
      "php",
      "ruby",
      "go",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send transactional and marketing email via REST API with templates, domains, and webhooks.",
    "notes": "Official remote MCP server at mcp.resend.com/mcp; sandbox domain available for testing before custom domain verification.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "3,000 emails/month (max 100/day), 3 domains",
      "period": "month",
      "source_url": "https://resend.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer re_<API_KEY>",
      "source_url": "https://resend.com/docs/api-reference/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.resend.com",
    "rate_limits": {
      "summary": "10 requests/s per team across all API keys",
      "source_url": "https://resend.com/docs/api-reference/introduction",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-send",
      "email-marketing"
    ],
    "no_auth": false,
    "call": {
      "operation": "send an email",
      "method": "POST",
      "url": "https://api.resend.com/emails",
      "example": "curl -X POST 'https://api.resend.com/emails' -H \"Authorization: Bearer $RESEND_API_KEY\" -H 'Content-Type: application/json' -d '{\"from\":\"Acme <onboarding@resend.dev>\",\"to\":[\"delivered@resend.dev\"],\"subject\":\"hello world\",\"html\":\"<p>it works!</p>\"}'",
      "response_fields": [
        "id"
      ],
      "async": null,
      "source_url": "https://resend.com/docs/api-reference/emails/send-email",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Free: 3,000 emails/month (100/day); Pro $20/mo for 50,000 emails, then $0.90 per 1,000 extra emails",
      "source_url": "https://resend.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Resend/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.resend.com",
        "probes": 1,
        "up": 1,
        "median_ms": 177,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.resend.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 189,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/resend.json"
  },
  {
    "id": "sendgrid-twilio",
    "name": "SendGrid (Twilio)",
    "category": "communication-email-chat",
    "homepage": "https://sendgrid.com",
    "docs": "https://www.twilio.com/docs/sendgrid/api-reference/how-to-use-the-sendgrid-v3-api/authentication",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer SG.xxxxxxxxx",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/Garoth/sendgrid-mcp",
      "tools": [
        "send_email",
        "send_to_list",
        "list_contacts",
        "add_contact",
        "list_contact_lists",
        "create_template",
        "list_templates",
        "get_stats",
        "validate_email",
        "list_verified_senders"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/Garoth/sendgrid-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": null
    },
    "free_tier": "Trial: 100 emails/day for 60 days, no card required; paid plan after",
    "sdk": [
      "python",
      "node",
      "java",
      "csharp",
      "php",
      "ruby",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send transactional and marketing email via REST/SMTP API with templates and analytics.",
    "notes": "Now a Twilio product; sender identity/domain authentication required before sending.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "100 emails/day for 60 days",
      "period": "day",
      "source_url": "https://www.twilio.com/en-us/products/email-api/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <SENDGRID_API_KEY>",
      "source_url": "https://www.twilio.com/docs/sendgrid/api-reference/how-to-use-the-sendgrid-v3-api/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.sendgrid.com/v3",
    "rate_limits": {
      "summary": "Per-endpoint limits reported in X-RateLimit-* headers; HTTP 429 when exceeded",
      "source_url": "https://www.twilio.com/docs/sendgrid/api-reference/how-to-use-the-sendgrid-v3-api/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-send",
      "email-marketing"
    ],
    "no_auth": false,
    "call": {
      "operation": "send an email",
      "method": "POST",
      "url": "https://api.sendgrid.com/v3/mail/send",
      "example": "curl -X POST https://api.sendgrid.com/v3/mail/send -H \"Authorization: Bearer $SENDGRID_API_KEY\" -H \"Content-Type: application/json\" -d '{\"personalizations\":[{\"to\":[{\"email\":\"alex@example.com\"}]}],\"from\":{\"email\":\"orders@example.com\"},\"subject\":\"Hello\",\"content\":[{\"type\":\"text/plain\",\"value\":\"Hi\"}]}'",
      "response_fields": [
        "HTTP status 202 (empty body)",
        "X-Message-Id response header"
      ],
      "async": "202 means accepted for processing; delivery happens later (track via Event Webhook or Email Activity)",
      "source_url": "https://www.twilio.com/docs/sendgrid/api-reference/mail-send/mail-send",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Plans from $19.95/month (Essentials 50K emails); overage $0.0013 per email on 50K plan, $0.0009 on 100K plan, $0.0011-$0.0005 on Pro tiers",
      "source_url": "https://www.twilio.com/en-us/products/email-api/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 3.9,
        "reviews": 8,
        "url": "https://sourceforge.net/software/product/SendGrid/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.sendgrid.com/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 130,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/sendgrid-twilio.json"
  },
  {
    "id": "slack-api",
    "name": "Slack API",
    "category": "communication-email-chat",
    "homepage": "https://api.slack.com",
    "docs": "https://docs.slack.dev/reference/methods",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer xoxb-...",
    "mcp": {
      "type": "official",
      "url": "https://mcp.slack.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.slack.com/mcp",
      "covers_full_api": false,
      "source_url": "https://docs.slack.dev/ai/slack-mcp-server/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.slack.com/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://docs.slack.dev/ai/slack-mcp-server/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key needed beyond creating a Slack app/workspace",
    "sdk": [
      "python",
      "node",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Post messages, manage channels, and read conversation history in Slack via the Web API.",
    "notes": "Requires creating a Slack app with OAuth scopes; per-method rate-limit tiers apply. The official remote MCP (OAuth 2.0) works only for directory-published or internal Slack apps, and in partner clients such as Claude.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "source_url": "https://docs.slack.dev/apis/web-api/rate-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer xoxb-<BOT_TOKEN>",
      "source_url": "https://docs.slack.dev/reference/methods/chat.postMessage",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://slack.com/api",
    "rate_limits": {
      "summary": "Per-method tiers: T1 1+/min, T2 20+/min, T3 50+/min, T4 100+/min; chat.postMessage ~1 msg/s per channel; non-Marketplace apps: conversations.history 1/min",
      "source_url": "https://docs.slack.dev/apis/web-api/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "chat:write",
        "channels:read",
        "channels:history",
        "groups:history",
        "im:history"
      ],
      "source_url": "https://docs.slack.dev/reference/methods/conversations.history",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "team-chat"
    ],
    "no_auth": false,
    "call": {
      "operation": "post a message to a channel",
      "method": "POST",
      "url": "https://slack.com/api/chat.postMessage",
      "example": "curl -X POST https://slack.com/api/chat.postMessage -H \"Authorization: Bearer $SLACK_BOT_TOKEN\" -H \"Content-Type: application/json; charset=utf-8\" -d '{\"channel\":\"C0123456789\",\"text\":\"Hello\"}'",
      "response_fields": [
        "ok",
        "channel",
        "ts",
        "message",
        "error"
      ],
      "async": null,
      "source_url": "https://docs.slack.dev/reference/methods/chat.postMessage",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 12110,
        "url": "https://smithery.ai/servers/slack",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.6,
        "reviews": 250,
        "url": "https://sourceforge.net/software/product/Slack/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://slack.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 546,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.slack.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 164,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/slack-api.json"
  },
  {
    "id": "stream-getstream-chat-video-api",
    "name": "Stream (GetStream) Chat & Video API",
    "category": "communication-email-chat",
    "homepage": "https://getstream.io",
    "docs": "https://getstream.io/chat/docs/",
    "auth": "api_key",
    "auth_hint": "API key + server-side secret used to mint short-lived user JWT tokens",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free tier: Build plan with 1,000 MAU/month and 100 concurrent connections, no card; Maker account gives $100/month credit for teams under 5 people and under $10k monthly revenue",
    "sdk": [
      "node",
      "python",
      "java",
      "swift",
      "kotlin"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Build and moderate in-app chat and video with REST/SDK APIs, channels, and real-time messaging.",
    "notes": "Client access requires server-minted short-lived user tokens; not a pure send-and-forget messaging API like email/SMS providers.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Build plan: 1,000 MAU, 100 concurrent connections",
      "period": "month",
      "source_url": "https://getstream.io/chat/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "?api_key=<API_KEY> + Authorization: <JWT signed with API secret> + Stream-Auth-Type: jwt",
      "source_url": "https://getstream.io/chat/docs/node/tokens_and_authentication/",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Per-endpoint per-minute limits (60 to 10,000/min, e.g. Send Message 1,000/min) plus 60 requests/min per user",
      "source_url": "https://getstream.io/chat/docs/node/rate_limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "chat-messaging"
    ],
    "no_auth": false,
    "call": {
      "operation": "send a message to a channel (server-side)",
      "method": "POST",
      "url": "https://chat.stream-io-api.com/channels/{type}/{id}/message?api_key={API_KEY}",
      "example": "curl -X POST \"https://chat.stream-io-api.com/channels/messaging/general/message?api_key=$STREAM_API_KEY\" -H 'Stream-Auth-Type: jwt' -H \"Authorization: $STREAM_SERVER_JWT\" -H 'Content-Type: application/json' -d '{\"message\": {\"text\": \"Hello World\", \"user\": {\"id\": \"user-1\"}}}'",
      "response_fields": [
        "message.id",
        "message.text",
        "message.created_at",
        "duration"
      ],
      "async": null,
      "source_url": "https://github.com/GetStream/protocol/blob/main/openapi/chat-openapi.json",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Chat overage: $0.09 per MAU above plan limit, $0.99 per extra concurrent connection, $5.00 per 1M stored messages",
      "source_url": "https://getstream.io/chat/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "zoom-api",
    "name": "Zoom API",
    "category": "communication-email-chat",
    "homepage": "https://developers.zoom.us",
    "docs": "https://developers.zoom.us/docs/api/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token> (Server-to-Server OAuth recommended for agents)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.zoom.us/mcp/zoom/streamable",
      "maintainer": "vendor",
      "remote_url": "https://mcp.zoom.us/mcp/zoom/streamable",
      "covers_full_api": false,
      "source_url": "https://github.com/zoom/mcp-registry",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.zoom.us/mcp/zoom/streamable",
        "headers": null,
        "oauth": true,
        "source_url": "https://github.com/zoom/mcp-registry",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "usable on free Zoom account within Basic plan limits; some endpoints require paid plan",
    "sdk": [
      "python",
      "node",
      "java",
      "csharp"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Schedule, update, and manage meetings, webinars, and cloud recordings programmatically via REST API.",
    "notes": "Server-to-Server OAuth app type is the recommended path for unattended agent use; some features gated behind licensed/paid plans. Official remote MCP servers (streamable HTTP, user OAuth) run at the mcp.zoom.us gateway.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Free plan API limits: light 4/s and 6,000/day, medium 2/s and 2,000/day, heavy 1/s and 1,000/day",
      "period": "day",
      "source_url": "https://developers.zoom.us/docs/api/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN> (Server-to-Server OAuth, grant_type=account_credentials at https://zoom.us/oauth/token, 1 h tokens)",
      "source_url": "https://developers.zoom.us/docs/internal-apps/s2s-oauth/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.zoom.us/v2",
    "rate_limits": {
      "summary": "Per plan: Free light 4/s (6,000/day), Pro light 30/s, Business+ light 80/s; medium/heavy lower; 429 on excess",
      "source_url": "https://developers.zoom.us/docs/api/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "video-conferencing",
      "calendar"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a scheduled meeting",
      "method": "POST",
      "url": "https://api.zoom.us/v2/users/{userId}/meetings",
      "example": "curl -X POST https://api.zoom.us/v2/users/me/meetings -H \"Authorization: Bearer $ZOOM_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"topic\":\"Planning\",\"type\":2,\"start_time\":\"2026-10-01T15:00:00Z\",\"duration\":30}'",
      "response_fields": [
        "id",
        "join_url",
        "start_url",
        "password"
      ],
      "async": null,
      "source_url": "https://developers.zoom.us/api-hub/meetings/methods/endpoints.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.zoom.us/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 265,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "aws-end-user-messaging-sms",
    "name": "AWS End User Messaging SMS",
    "category": "sms-messaging",
    "homepage": "https://aws.amazon.com/end-user-messaging/",
    "docs": "https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/Welcome.html",
    "auth": "cloud_iam",
    "auth_hint": "AWS Signature Version 4 with IAM credentials (use an AWS SDK or CLI: aws pinpoint-sms-voice-v2 send-text-message)",
    "mcp": {
      "type": "official",
      "url": "https://aws-mcp.us-east-1.api.aws/mcp",
      "maintainer": "vendor",
      "remote_url": "https://aws-mcp.us-east-1.api.aws/mcp",
      "repo": "https://github.com/aws/mcp-proxy-for-aws",
      "tools": [
        "aws___run_script",
        "aws___search_documentation",
        "aws___read_documentation",
        "aws___retrieve_skill",
        "aws___list_regions",
        "aws___get_regional_availability",
        "aws___get_presigned_url",
        "aws___get_tasks"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.aws.amazon.com/aws-mcp/latest/userguide/understanding-mcp-server-tools.html",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://aws-mcp.us-east-1.api.aws/mcp",
        "derived": true
      }
    },
    "free_tier": "Paid only; US SMS $0.00774/message + $0.00421 carrier fee (10DLC or toll-free)",
    "sdk": [
      "python",
      "node",
      "java",
      "csharp",
      "go",
      "ruby",
      "php",
      "cpp",
      "rust",
      "kotlin",
      "swift"
    ],
    "openapi": null,
    "llms_txt": "https://docs.aws.amazon.com/llms.txt",
    "desc_en": "Send SMS, MMS and voice messages and manage sender numbers, opt-outs and registrations via the AWS SMS and Voice v2 API.",
    "notes": "New accounts start in a sandbox: $1/month spend limit, up to 10 verified destination numbers. Production access needs an AWS Support case (reviewed, about 24 h). US sending needs a registered 10DLC or toll-free number. SendTextMessage defaults to 1 request/s per region. The AWS MCP Server is generic (calls any AWS API).",
    "verified": "2026-09-24",
    "operations": [
      "sms",
      "phone-calls"
    ],
    "free_plan": {
      "kind": "none",
      "requires_card": null,
      "quota": null,
      "period": null,
      "source_url": "https://aws.amazon.com/end-user-messaging/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "cloud_iam",
      "in": null,
      "name": null,
      "scheme": null,
      "format": "AWS SigV4-signed request (Authorization: AWS4-HMAC-SHA256 Credential=...) to sms-voice.<region>.amazonaws.com",
      "source_url": "https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_SendTextMessage.html",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://sms-voice.{region}.amazonaws.com",
    "rate_limits": {
      "summary": "SendTextMessage 1 request/s per region by default (raisable); 1 msg/s per recipient; sandbox $1/month spend",
      "source_url": "https://docs.aws.amazon.com/sms-voice/latest/userguide/quotas.html",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": null,
    "async_jobs": null,
    "data_policy": null,
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://aws-mcp.us-east-1.api.aws/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 355,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "bird",
    "name": "Bird (formerly MessageBird)",
    "category": "sms-messaging",
    "homepage": "https://bird.com",
    "docs": "https://bird.com/docs/api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer bk_<region>_... workspace API key (dashboard), or OAuth 2.0 user token (auth code + PKCE or device flow)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.bird.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.bird.com",
      "repo": null,
      "tools": [
        "sms_send",
        "sms_send_batch",
        "sms_get",
        "sms_list",
        "sms_list_events",
        "sms_senders_create",
        "sms_templates_list",
        "email_send",
        "whatsapp_send",
        "lookup_phone_number",
        "verify_verifications_create",
        "numbers_available_list",
        "numbers_orders_create",
        "whoami"
      ],
      "covers_full_api": null,
      "source_url": "https://bird.com/docs/ai/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.bird.com",
        "derived": true
      }
    },
    "free_tier": "Paid only; prepaid wallet, US long code or toll-free $0.0035/SMS + carrier fees",
    "sdk": [
      "typescript",
      "python",
      "go",
      "php"
    ],
    "openapi": "https://bird.com/openapi.json",
    "llms_txt": "https://bird.com/llms.txt",
    "desc_en": "Send SMS, email and WhatsApp messages, verify phone numbers and track delivery via REST API or hosted MCP.",
    "notes": "SMS draws on a prepaid wallet (402 if empty). Destination countries are default-deny except your home country; enable more in the dashboard. US long codes need 10DLC registration; the US has no alphanumeric senders. Hosted MCP uses OAuth; a local stdio MCP runs via the bird CLI (bird mcp).",
    "verified": "2026-09-24",
    "operations": [
      "sms",
      "email-send",
      "chat-messaging",
      "phone-calls"
    ],
    "free_plan": {
      "kind": "none",
      "requires_card": null,
      "quota": null,
      "period": null,
      "source_url": "https://bird.com/docs/guides/billing-and-usage",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": null,
      "name": null,
      "scheme": "bearer",
      "format": "Authorization: Bearer bk_us1_<API_KEY>",
      "source_url": "https://bird.com/docs/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://us1.platform.bird.com/v1 (or https://eu1.platform.bird.com/v1)",
    "rate_limits": {
      "summary": "Per-organization regional policies (e.g. sms_send); quota in RateLimit-Policy header; 429 with Retry-After",
      "source_url": "https://bird.com/docs/guides/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "sms:write",
        "sms_management:write",
        "numbers:write"
      ],
      "source_url": "https://platform.bird.com/.well-known/oauth-authorization-server",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v1/sms/messages returns 202 Accepted with a message id; final status via webhooks or GET",
      "source_url": "https://bird.com/docs/guides/sms/sending-sms"
    },
    "data_policy": null,
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://us1.platform.bird.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 365,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.bird.com",
        "probes": 1,
        "up": 1,
        "median_ms": 381,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "line-messaging-api",
    "name": "LINE Messaging API",
    "category": "sms-messaging",
    "homepage": "https://developers.line.biz/en/services/messaging-api/",
    "docs": "https://developers.line.biz/en/reference/messaging-api/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <CHANNEL_ACCESS_TOKEN> (issued for the Messaging API channel in LINE Developers Console)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/line/line-bot-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/line/line-bot-mcp-server",
      "tools": [
        "push_text_message",
        "push_flex_message",
        "broadcast_text_message",
        "broadcast_flex_message",
        "get_profile",
        "get_message_quota",
        "get_rich_menu_list",
        "create_rich_menu",
        "delete_rich_menu",
        "set_rich_menu_default",
        "cancel_rich_menu_default",
        "get_follower_ids",
        "get_group_summary"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/line/line-bot-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "@line/line-bot-mcp-server"
        ],
        "env": [
          "CHANNEL_ACCESS_TOKEN",
          "DESTINATION_USER_ID"
        ],
        "docs_only": false,
        "source_url": "https://github.com/line/line-bot-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free Communication plan (Japan): 200 push/broadcast messages/month; reply messages are unlimited. Beyond that only paid plans (Light JPY 5,000 for 5,000 messages, Standard JPY 15,000 for 30,000). Free quotas vary by region",
    "sdk": [
      "java",
      "php",
      "go",
      "ruby",
      "python",
      "javascript"
    ],
    "openapi": "https://raw.githubusercontent.com/line/line-openapi/main/messaging-api.yml",
    "llms_txt": "https://developers.line.biz/llms.txt",
    "desc_en": "Lets an agent send and reply to messages, rich messages and broadcasts to users of a LINE Official Account and read user profiles.",
    "notes": "Requires a LINE Official Account and a Messaging API channel. MCP server is local (stdio, npx @line/line-bot-mcp-server) with channel token and user ID env vars.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "200 messages (Communication plan, Japan)",
      "period": "month",
      "source_url": "https://www.lycbiz.com/jp/service/line-official-account/plan/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <CHANNEL_ACCESS_TOKEN>",
      "source_url": "https://developers.line.biz/en/reference/messaging-api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.line.me",
    "operations": [
      "chat-messaging"
    ],
    "no_auth": false,
    "call": {
      "operation": "send a push message",
      "method": "POST",
      "url": "https://api.line.me/v2/bot/message/push",
      "example": "curl -X POST https://api.line.me/v2/bot/message/push -H \"Content-Type: application/json\" -H \"Authorization: Bearer $LINE_CHANNEL_ACCESS_TOKEN\" -d '{\"to\":\"<LINE_USER_ID>\",\"messages\":[{\"type\":\"text\",\"text\":\"Hello, world\"}]}'",
      "response_fields": [
        "sentMessages[].id",
        "sentMessages[].quoteToken"
      ],
      "async": null,
      "source_url": "https://developers.line.biz/en/reference/messaging-api/#send-push-message",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Japan Standard plan (JPY 15,000/mo incl. 30,000 messages): additional push messages up to JPY 3 each, counted per recipient; reply messages are free",
      "source_url": "https://developers.line.biz/en/docs/messaging-api/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.line.me",
        "probes": 1,
        "up": 1,
        "median_ms": 2647,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "plivo",
    "name": "Plivo",
    "category": "sms-messaging",
    "homepage": "https://www.plivo.com",
    "docs": "https://www.plivo.com/docs/messaging/api/overview",
    "auth": "api_key",
    "auth_hint": "HTTP Basic auth: Auth ID as username, Auth Token as password (from Plivo console)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/plivo/mcp",
      "maintainer": "vendor",
      "remote_url": null,
      "repo": "https://github.com/plivo/mcp",
      "tools": [
        "send_sms",
        "make_call",
        "create_application",
        "create_endpoint",
        "get_cdr",
        "get_mdr"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/plivo/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Trial: $10 free credits, no card; then paid per message (US long code $0.0077/SMS + carrier surcharge)",
    "sdk": [
      "python",
      "node",
      "ruby",
      "php",
      "java",
      "csharp",
      "go"
    ],
    "openapi": null,
    "llms_txt": "https://www.plivo.com/docs/llms.txt",
    "desc_en": "Send and receive SMS and MMS worldwide and check delivery status via REST API.",
    "notes": "Signup needs a business email and phone verification. Trial accounts can only message verified sandbox numbers, no alphanumeric sender IDs. US A2P traffic needs 10DLC or toll-free registration. The MCP at plivo.com/docs/mcp only searches docs.",
    "verified": "2026-09-24",
    "operations": [
      "sms",
      "phone-calls"
    ],
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$10 in free credits",
      "period": "one_time",
      "source_url": "https://www.plivo.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": null,
      "name": null,
      "scheme": "basic",
      "format": "Authorization: Basic base64(<AUTH_ID>:<AUTH_TOKEN>)",
      "source_url": "https://www.plivo.com/docs/messaging/api/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.plivo.com/v1/Account/{auth_id}",
    "rate_limits": {
      "summary": "300 requests per 5 seconds; 429 when exceeded",
      "source_url": "https://plivo.com/docs/account/api/overview",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": null,
    "async_jobs": null,
    "data_policy": null,
    "no_auth": false,
    "call": {
      "operation": "send an SMS",
      "method": "POST",
      "url": "https://api.plivo.com/v1/Account/{auth_id}/Message/",
      "example": "curl -X POST https://api.plivo.com/v1/Account/$PLIVO_AUTH_ID/Message/ -u $PLIVO_AUTH_ID:$PLIVO_AUTH_TOKEN -H \"Content-Type: application/json\" -d '{\"src\": \"+14151234567\", \"dst\": \"+14157654321\", \"text\": \"Hello from Plivo!\"}'",
      "response_fields": [
        "message_uuid",
        "api_id",
        "message"
      ],
      "source_url": "https://www.plivo.com/docs/messaging/api/message/send-a-message",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "US outbound SMS: long code $0.0077, toll-free $0.0079 per message, plus carrier surcharge $0.0035-$0.0050",
      "source_url": "https://www.plivo.com/sms/pricing/us/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false
  },
  {
    "id": "sinch",
    "name": "Sinch",
    "category": "sms-messaging",
    "homepage": "https://sinch.com",
    "docs": "https://developers.sinch.com/docs/conversation/api-reference",
    "auth": "api_key",
    "auth_hint": "Access key ID + secret (dashboard > Access keys): HTTP Basic, or exchange at https://auth.sinch.com/oauth2/token (client credentials) for a Bearer token",
    "mcp": {
      "type": "official",
      "url": "https://github.com/sinch/sinch-mcp-server",
      "maintainer": "vendor",
      "remote_url": null,
      "repo": "https://github.com/sinch/sinch-mcp-server",
      "tools": [
        "send-text-message",
        "send-media-message",
        "send-template-message",
        "send-choice-message",
        "send-location-message",
        "list-conversation-apps",
        "send-email",
        "number-lookup",
        "start-sms-verification",
        "tts-callout",
        "search-for-available-numbers"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/sinch/sinch-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Trial: free trial credit and a free test number on signup, no card; then paid (US 10DLC $0.0078/SMS + carrier fees)",
    "sdk": [
      "node",
      "java",
      "csharp",
      "python"
    ],
    "openapi": "https://developers.sinch.com/_spec/docs/conversation/api-reference/conversation.yaml",
    "llms_txt": "https://developers.sinch.com/llms.txt",
    "desc_en": "Send and receive SMS (and WhatsApp, RCS and other channels) via the Conversation REST API.",
    "notes": "The standalone SMS API is only for existing customers; new accounts send SMS through the Conversation API with an SMS channel. The trial test number can only text your own verified numbers. US A2P needs 10DLC or toll-free registration. MCP server (npm @sinch/mcp) is a developer preview, run locally or self-hosted.",
    "verified": "2026-09-24",
    "operations": [
      "sms",
      "chat-messaging",
      "phone-calls",
      "email-send"
    ],
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "Trial credit and one free test number on signup",
      "period": "one_time",
      "source_url": "https://sinch.com/build-dashboard-overview/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": null,
      "name": null,
      "scheme": "basic",
      "format": "Authorization: Basic base64(<KEY_ID>:<KEY_SECRET>) (or Bearer <token> from OAuth2 client credentials)",
      "source_url": "https://developers.sinch.com/_spec/docs/conversation/api-reference/conversation.yaml",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://{region}.conversation.api.sinch.com (region: us, eu, br)",
    "rate_limits": {
      "summary": "800 requests/s per project; app queue drains to channel at 20 msg/s by default; 429 when exceeded",
      "source_url": "https://developers.sinch.com/_spec/docs/conversation/api-reference/conversation.yaml",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": null,
    "async_jobs": null,
    "data_policy": null,
    "no_auth": false,
    "call": {
      "operation": "send an SMS via the Conversation API",
      "method": "POST",
      "url": "https://{region}.conversation.api.sinch.com/v1/projects/{project_id}/messages:send",
      "example": "curl -X POST \"https://us.conversation.api.sinch.com/v1/projects/$SINCH_PROJECT_ID/messages:send\" -u \"$SINCH_KEY_ID:$SINCH_KEY_SECRET\" -H \"Content-Type: application/json\" -d '{\"app_id\":\"{app_id}\",\"recipient\":{\"identified_by\":{\"channel_identities\":[{\"channel\":\"SMS\",\"identity\":\"+15550000000\"}]}},\"message\":{\"text_message\":{\"text\":\"Hi\"}}}'",
      "response_fields": [
        "message_id",
        "accepted_time"
      ],
      "async": "delivery status arrives as a webhook callback to the app's callback URL",
      "source_url": "https://developers.sinch.com/_spec/docs/conversation/api-reference/conversation.yaml",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "US SMS (10DLC or toll-free): $0.0078 per outbound message, plus carrier fees",
      "source_url": "https://sinch.com/pricing/sms/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false
  },
  {
    "id": "telegram-bot-api",
    "name": "Telegram Bot API",
    "category": "sms-messaging",
    "homepage": "https://core.telegram.org/bots/api",
    "docs": "https://core.telegram.org/bots/api",
    "auth": "api_key",
    "auth_hint": "token in URL path: https://api.telegram.org/bot<token>/METHOD",
    "mcp": {
      "type": "community",
      "url": "https://github.com/chigwell/telegram-mcp",
      "maintainer": "community",
      "repo": "https://github.com/chigwell/telegram-mcp",
      "tools": [
        "send_message",
        "reply_to_message",
        "edit_message",
        "list_chats",
        "send_file",
        "download_media"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/chigwell/telegram-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uv",
        "args": [
          "--directory",
          "/full/path/to/telegram-mcp",
          "run",
          "main.py"
        ],
        "env": [
          "TELEGRAM_API_ID",
          "TELEGRAM_API_HASH",
          "TELEGRAM_SESSION_STRING"
        ],
        "docs_only": false,
        "source_url": "https://github.com/chigwell/telegram-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key needed beyond a bot token from @BotFather",
    "sdk": [
      "python",
      "node",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send/receive messages, media, and inline interactions via a simple HTTPS bot API.",
    "notes": "No single official SDK (community libraries only); a self-hosted local Bot API server option removes some file-size limits. Listed MCP server uses a user account via Telethon/MTProto (API_ID/API_HASH + session string from my.telegram.org), not the bot token.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "source_url": "https://core.telegram.org/bots/faq",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "format": "https://api.telegram.org/bot<TOKEN>/METHOD_NAME (token in URL path)",
      "source_url": "https://core.telegram.org/bots/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.telegram.org/bot<TOKEN>",
    "rate_limits": {
      "summary": "~1 message/s per chat, 20 messages/min per group, ~30 messages/s for bulk; paid broadcasts up to 1,000/s",
      "source_url": "https://core.telegram.org/bots/faq",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "chat-messaging"
    ],
    "no_auth": false,
    "call": {
      "operation": "send a text message",
      "method": "POST",
      "url": "https://api.telegram.org/bot{token}/sendMessage",
      "example": "curl -X POST https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage -H \"Content-Type: application/json\" -d '{\"chat_id\":123456789,\"text\":\"Hi\"}'",
      "response_fields": [
        "ok",
        "result.message_id",
        "result.chat.id",
        "result.date",
        "description",
        "error_code"
      ],
      "async": null,
      "source_url": "https://core.telegram.org/bots/api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "chigwell/telegram-mcp",
        "stars": 1692,
        "forks": 434,
        "pushed_at": "2026-09-21",
        "archived": false,
        "url": "https://github.com/chigwell/telegram-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "telnyx",
    "name": "Telnyx",
    "category": "sms-messaging",
    "homepage": "https://telnyx.com",
    "docs": "https://developers.telnyx.com/api-reference/messages/send-a-message",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <TELNYX_API_KEY> (Mission Control Portal > API Keys)",
    "mcp": {
      "type": "official",
      "url": "https://api.telnyx.com/v2/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.telnyx.com/v2/mcp",
      "repo": "https://github.com/team-telnyx/ai",
      "tools": [
        "list_api_endpoints",
        "get_api_endpoint_schema",
        "invoke_api_endpoint"
      ],
      "covers_full_api": true,
      "source_url": "https://telnyx.com/.well-known/mcp/server-card.json",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.telnyx.com/v2/mcp",
        "derived": true
      }
    },
    "free_tier": "Trial: free testing credits on signup (amount not published); then paid (US 10DLC $0.004/SMS part + carrier fees)",
    "sdk": [
      "node",
      "python",
      "go",
      "java",
      "ruby",
      "php"
    ],
    "openapi": "https://raw.githubusercontent.com/team-telnyx/openapi/master/openapi/spec3.json",
    "llms_txt": "https://developers.telnyx.com/llms.txt",
    "desc_en": "Send and receive SMS, MMS, RCS and WhatsApp messages and manage phone numbers via REST API.",
    "notes": "US A2P messaging needs 10DLC registration; US long-code throughput is set per 10DLC campaign. Default send rates: long code 0.1 msg/s (non-US), toll-free 20 msg/s per number. Agents can sign up via a bot-challenge flow (telnyx.com/agent-signup.md).",
    "verified": "2026-09-24",
    "operations": [
      "sms",
      "chat-messaging",
      "phone-calls"
    ],
    "free_plan": {
      "kind": "trial",
      "requires_card": null,
      "quota": "Free testing credits for new accounts (amount not stated)",
      "period": "one_time",
      "source_url": "https://developers.telnyx.com/docs/account-setup/create-account",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "in": null,
      "name": null,
      "scheme": "bearer",
      "format": "Authorization: Bearer <TELNYX_API_KEY>",
      "source_url": "https://developers.telnyx.com/docs/development/api-fundamentals/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.telnyx.com/v2",
    "rate_limits": {
      "summary": "Send rate per sender: long code 0.1 msg/s (non-US), toll-free 20 msg/s, short code 1,000 msg/s; excess is queued",
      "source_url": "https://developers.telnyx.com/docs/messaging/messages/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": null,
    "async_jobs": {
      "value": true,
      "how": "Send is queued; delivery progress and final status arrive via messaging webhooks",
      "source_url": "https://developers.telnyx.com/public/llms/messaging/sms-mms.txt"
    },
    "data_policy": null,
    "no_auth": false,
    "call": {
      "operation": "send an SMS",
      "method": "POST",
      "url": "https://api.telnyx.com/v2/messages",
      "example": "curl -X POST https://api.telnyx.com/v2/messages -H \"Authorization: Bearer $TELNYX_API_KEY\" -H \"Content-Type: application/json\" -d '{\"from\":\"<TELNYX_NUMBER>\",\"to\":\"+48600000000\",\"text\":\"Hi\"}'",
      "response_fields": [
        "data.id",
        "data.to[].status",
        "data.parts",
        "data.cost"
      ],
      "async": "final delivery status arrives via webhook (or GET /v2/messages/{id})",
      "source_url": "https://developers.telnyx.com/api-reference/messages/send-a-message",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.telnyx.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 136,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.telnyx.com/v2/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 210,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "twilio",
    "name": "Twilio",
    "category": "sms-messaging",
    "homepage": "https://www.twilio.com",
    "docs": "https://www.twilio.com/docs/usage/api",
    "auth": "api_key",
    "auth_hint": "Basic auth: AccountSID:AuthToken (or API Key SID:Secret)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/twilio-labs/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/twilio-labs/mcp",
      "covers_full_api": true,
      "source_url": "https://github.com/twilio-labs/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.twilio.com/docs",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": true,
        "source_url": "https://www.twilio.com/docs/ai/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 100 SMS, 100 WhatsApp, 3,000 emails, 75 voice minutes; no card; one-time on signup, expires after 30 days",
    "sdk": [
      "python",
      "node",
      "java",
      "csharp",
      "php",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send/receive SMS, WhatsApp messages, and voice calls programmatically via REST API.",
    "notes": "Trial accounts can only message verified numbers; US SMS at scale requires A2P 10DLC registration. Hosted MCP is read-only docs/API-spec search; the executing server is Twilio Labs' npm @twilio-alpha/mcp (alpha).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "100 SMS, 100 WhatsApp messages, 3,000 emails, 75 voice minutes; expires after 30 days; only up to 5 verified numbers",
      "period": "one_time",
      "source_url": "https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<API_KEY_SID>:<API_KEY_SECRET>) (or AccountSid:AuthToken)",
      "source_url": "https://www.twilio.com/docs/usage/requests-to-twilio",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sms",
      "chat-messaging",
      "phone-calls"
    ],
    "no_auth": false,
    "call": {
      "operation": "send an SMS",
      "method": "POST",
      "url": "https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json",
      "example": "curl -X POST \"https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json\" --data-urlencode \"From=$TWILIO_NUMBER\" --data-urlencode \"Body=Hi there\" --data-urlencode \"To=+48600000000\" -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN",
      "response_fields": [
        "sid",
        "status",
        "error_code",
        "error_message"
      ],
      "async": "status starts as queued; poll GET .../Messages/{sid}.json or set StatusCallback",
      "source_url": "https://www.twilio.com/docs/messaging/api/message-resource",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "SMS to Poland: $0.0457 per outbound segment (mobile numbers and alphanumeric sender IDs); $0.001 fee per failed message",
      "source_url": "https://www.twilio.com/en-us/sms/pricing/pl",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "twilio-labs/mcp",
        "stars": 111,
        "forks": 41,
        "pushed_at": "2026-02-14",
        "archived": false,
        "url": "https://github.com/twilio-labs/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.8,
        "reviews": 13,
        "url": "https://sourceforge.net/software/product/Twilio/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/twilio.json"
  },
  {
    "id": "vonage-api",
    "name": "Vonage API",
    "category": "sms-messaging",
    "homepage": "https://developer.vonage.com",
    "docs": "https://developer.vonage.com/en/documentation",
    "auth": "api_key",
    "auth_hint": "API key+secret for SMS/Number Insight; JWT bearer token for Voice/Video APIs",
    "mcp": {
      "type": "official",
      "url": "https://github.com/Vonage-Community/vonage-mcp-server-api-bindings",
      "maintainer": "vendor",
      "repo": "https://github.com/Vonage-Community/vonage-mcp-server-api-bindings",
      "tools": [
        "balance",
        "list-applications",
        "create-application",
        "search-available-numbers",
        "SMS",
        "whatsapp-send-text",
        "rcs-send-text",
        "outbound-voice-message"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/Vonage-Community/vonage-mcp-server-api-bindings",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@vonage/vonage-mcp-server-api-bindings"
        ],
        "env": [
          "VONAGE_APPLICATION_ID",
          "VONAGE_PRIVATE_KEY64",
          "VONAGE_API_KEY",
          "VONAGE_API_SECRET",
          "VONAGE_VIRTUAL_NUMBER",
          "VONAGE_WHATSAPP_NUMBER",
          "RCS_SENDER_ID"
        ],
        "docs_only": false,
        "source_url": "https://github.com/Vonage-Community/vonage-mcp-server-api-bindings",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "trial/test credit on signup, then pay-as-you-go",
    "sdk": [
      "node",
      "python",
      "java",
      "php",
      "ruby",
      "dotnet"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send SMS, make voice calls, and build video apps via a unified communications REST API.",
    "notes": "Auth method differs per sub-API (API key/secret vs JWT), which agents must account for.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(API_KEY:API_SECRET) (SMS etc.) or Authorization: Bearer <JWT> (Voice, Video, Messages)",
      "source_url": "https://developer.vonage.com/en/getting-started/concepts/authentication",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "sms",
      "phone-calls"
    ],
    "no_auth": false,
    "call": {
      "operation": "send an SMS",
      "method": "POST",
      "url": "https://rest.nexmo.com/sms/json",
      "example": "curl -X POST https://rest.nexmo.com/sms/json -u \"$VONAGE_API_KEY:$VONAGE_API_SECRET\" -d \"from=$SMS_SENDER_ID\" -d \"to=48600000000\" -d 'text=Hi there'",
      "response_fields": [
        "message-count",
        "messages[0].status",
        "messages[0].message-id",
        "messages[0].message-price",
        "messages[0].remaining-balance"
      ],
      "async": "messages[0].status \"0\" means accepted; delivery receipts arrive via webhook",
      "source_url": "https://developer.vonage.com/en/messaging/sms/code-snippets/send-an-sms",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "SMS to Poland: $0.04843 per outbound message",
      "source_url": "https://www.vonage.com/communications-apis/sms/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "whatsapp-business-cloud-api",
    "name": "WhatsApp Business Cloud API",
    "category": "sms-messaging",
    "homepage": "https://developers.facebook.com/docs/whatsapp/cloud-api",
    "docs": "https://developers.facebook.com/docs/whatsapp/cloud-api",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <system-user access token>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/networkerman/whatsapp-cloud-api-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/networkerman/whatsapp-cloud-api-mcp-server",
      "tools": [
        "send_text_message",
        "send_image_message",
        "send_template_message",
        "get_message_templates",
        "create_message_template",
        "upload_media",
        "get_business_profile",
        "get_phone_numbers",
        "mark_message_as_read"
      ],
      "source_url": "https://github.com/networkerman/whatsapp-cloud-api-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "python",
        "args": [
          "main.py"
        ],
        "env": [
          "META_ACCESS_TOKEN",
          "META_PHONE_NUMBER_ID",
          "META_BUSINESS_ACCOUNT_ID",
          "WABA_ID"
        ],
        "docs_only": false,
        "source_url": "https://github.com/networkerman/whatsapp-cloud-api-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: non-template (service) messages inside an open 24h customer service window; template messages billed per message (per-message pricing since 2025-07-01)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send/receive WhatsApp messages, template messages, and media programmatically via Graph API.",
    "notes": "Requires Meta Business verification and pre-approved message templates for outbound marketing/utility messages outside the 24h session window.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Non-template messages inside an open 24h customer service window are free; template messages billed per message",
      "source_url": "https://developers.facebook.com/docs/whatsapp/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <SYSTEM_USER_ACCESS_TOKEN>",
      "source_url": "https://developers.facebook.com/docs/whatsapp/cloud-api/overview",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Up to 80 messages/s per business phone number by default (upgradable)",
      "source_url": "https://developers.facebook.com/docs/whatsapp/cloud-api/overview",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "whatsapp_business_messaging",
        "whatsapp_business_management"
      ],
      "source_url": "https://developers.facebook.com/docs/whatsapp/cloud-api/overview",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "chat-messaging"
    ],
    "no_auth": false,
    "call": {
      "operation": "send a text message",
      "method": "POST",
      "url": "https://graph.facebook.com/v25.0/{phone-number-id}/messages",
      "example": "curl https://graph.facebook.com/v25.0/$WA_PHONE_NUMBER_ID/messages -H \"Content-Type: application/json\" -H \"Authorization: Bearer $WHATSAPP_ACCESS_TOKEN\" -d '{\"messaging_product\":\"whatsapp\",\"recipient_type\":\"individual\",\"to\":\"+16505551234\",\"type\":\"text\",\"text\":{\"body\":\"Hello\"}}'",
      "response_fields": [
        "messaging_product",
        "contacts[0].wa_id",
        "messages[0].id"
      ],
      "async": "delivery and read status arrive later via webhooks",
      "source_url": "https://developers.facebook.com/docs/whatsapp/cloud-api/messages/text-messages",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Non-template messages inside an open customer service window are free; template messages are charged per delivered message at rates by category and recipient country (rate cards linked on page)",
      "source_url": "https://developers.facebook.com/docs/whatsapp/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "lharries/whatsapp-mcp",
        "stars": 6310,
        "forks": 1336,
        "pushed_at": "2025-07-13",
        "archived": false,
        "url": "https://github.com/lharries/whatsapp-mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ]
  },
  {
    "id": "bland-ai",
    "name": "Bland AI",
    "category": "voice-agents-telephony",
    "homepage": "https://www.bland.ai",
    "docs": "https://docs.bland.ai/api-v1/",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key> header (bare key without prefix still accepted)",
    "mcp": {
      "type": "official",
      "url": "https://api.bland.ai/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.bland.ai/v1/mcp",
      "tools": [
        "create_call",
        "wait_for_call",
        "stop_call",
        "get_call_log",
        "list_voices",
        "validate_pathway",
        "get_pathway_schema",
        "get_pathway_context",
        "query_analytics",
        "search_bland_docs",
        "get_bland_doc",
        "bland_api_get",
        "call_bland_api"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.bland.ai/integrations/mcp/overview",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.bland.ai/v1/mcp",
        "headers": {
          "Authorization": "Bearer $BLAND_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.bland.ai/integrations/mcp/overview",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free credits + inbound number on signup (Start plan), no credit card required",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://docs.bland.ai/llms.txt",
    "desc_en": "Programmatically create AI phone agents and place/manage automated outbound and inbound calls.",
    "notes": "MCP server rate-limited to 120 req/min/org; distinguishes read-only vs destructive operations.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "2 credits + an inbound number; 100 calls/day, 10 concurrent calls",
      "source_url": "https://www.bland.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <BLAND_API_KEY> (bare key without prefix also accepted)",
      "source_url": "https://docs.bland.ai/api-v1/post/calls",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.bland.ai/v1",
    "rate_limits": {
      "summary": "Start plan: 100 calls/day, 100 calls/hour, 10 concurrent calls; MCP server 120 req/min per org",
      "source_url": "https://www.bland.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v1/calls returns call_id; poll call status/logs or pass webhook to receive the call object when it ends",
      "source_url": "https://docs.bland.ai/platform/agent-quickstart"
    },
    "operations": [
      "voice-agent",
      "phone-calls"
    ],
    "no_auth": false,
    "call": {
      "operation": "place an outbound AI phone call",
      "method": "POST",
      "url": "https://api.bland.ai/v1/calls",
      "example": "curl https://api.bland.ai/v1/calls -H \"Authorization: Bearer $BLAND_API_KEY\" -H \"Content-Type: application/json\" -d '{\"phone_number\": \"+15555550123\", \"task\": \"You are a customer service agent calling about an account update.\"}'",
      "response_fields": [
        "status",
        "call_id",
        "message"
      ],
      "async": "call runs asynchronously; get transcript/outcome via GET https://api.bland.ai/v1/calls/{call_id} or the webhook parameter",
      "source_url": "https://docs.bland.ai/api-v1/post/calls",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Connected calls: $0.14/min on Start (no platform fee), $0.12/min on Build ($299/mo platform fee)",
      "source_url": "https://www.bland.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.bland.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 271,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.bland.ai/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 339,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "deepgram-voice-agent-api",
    "name": "Deepgram Voice Agent API",
    "category": "voice-agents-telephony",
    "homepage": "https://deepgram.com",
    "docs": "https://developers.deepgram.com/docs/voice-agent",
    "auth": "api_key",
    "auth_hint": "Authorization: Token <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://developers.deepgram.com/developer-tools/cli/mcp-server",
      "maintainer": "vendor",
      "repo": "https://cli.deepgram.com",
      "source_url": "https://developers.deepgram.com/developer-tools/cli/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://developers.deepgram.com/developer-tools/cli/mcp-server",
        "derived": true
      }
    },
    "free_tier": "$200 free credit on signup",
    "sdk": [
      "python",
      "javascript",
      "go",
      "csharp"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run a full-duplex speech-to-speech voice agent pipeline (STT+LLM+TTS) over a WebSocket API.",
    "notes": "Primarily an STT/TTS/voice-agent infra layer, often paired with a telephony provider like Twilio to reach phone calls. MCP server built into the dg CLI ('dg mcp', stdio or SSE); docs MCP at https://developers.deepgram.com/_mcp/server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "$200 credit",
      "period": "one_time",
      "source_url": "https://deepgram.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token <DEEPGRAM_API_KEY>",
      "source_url": "https://developers.deepgram.com/reference/authentication",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Pay As You Go: up to 45 concurrent Voice Agent WSS connections (60 on Growth); STT 150 WSS / 50 REST; TTS 45",
      "source_url": "https://deepgram.com/pricing",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": false,
      "how": "real-time WebSocket session",
      "source_url": "https://developers.deepgram.com/docs/voice-agent"
    },
    "data_policy": {
      "summary": "Model Improvement Program may keep data for training; opt out per request with mip_opt_out=true (data kept only for processing)",
      "source_url": "https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "voice-agent",
      "speech-to-text",
      "text-to-speech"
    ],
    "no_auth": false,
    "unit_price": {
      "summary": "Voice Agent Standard: $0.075 per minute of WebSocket connection (Pay As You Go); BYO TTS $0.065/min, BYO LLM $0.059/min, BYO LLM+TTS $0.050/min",
      "source_url": "https://deepgram.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "elevenlabs-agents-platform",
    "name": "ElevenLabs Agents Platform",
    "category": "voice-agents-telephony",
    "homepage": "https://elevenlabs.io/agents",
    "docs": "https://elevenlabs.io/docs/eleven-agents/overview",
    "auth": "api_key",
    "auth_hint": "xi-api-key: <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://api.elevenlabs.io/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.elevenlabs.io/v1/mcp",
      "covers_full_api": false,
      "source_url": "https://elevenlabs.io/docs/eleven-agents/operate/hosted-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.elevenlabs.io/v1/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://elevenlabs.io/docs/eleven-agents/operate/hosted-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 10k credits/month shared across ElevenLabs products; no commercial license (from Starter, $6/month)",
    "sdk": [
      "python",
      "javascript",
      "react",
      "swift",
      "kotlin"
    ],
    "openapi": "https://api.elevenlabs.io/openapi.json",
    "llms_txt": "https://elevenlabs.io/docs/llms.txt",
    "desc_en": "Build and deploy conversational AI voice agents with telephony (SIP/Twilio) integration via API and SDKs.",
    "notes": "Official hosted MCP server uses OAuth (sign in with ElevenLabs account) rather than a raw API key; core REST API uses api-key auth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10k credits",
      "period": "month",
      "source_url": "https://elevenlabs.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "xi-api-key",
      "format": "xi-api-key: <ELEVENLABS_API_KEY>",
      "source_url": "https://elevenlabs.io/docs/api-reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.elevenlabs.io/v1",
    "data_policy": {
      "summary": "Zero Retention Mode available per agent and for Enterprise API use",
      "source_url": "https://elevenlabs.io/docs/llms.txt",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "voice-agent",
      "phone-calls"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a conversational agent",
      "method": "POST",
      "url": "https://api.elevenlabs.io/v1/convai/agents/create",
      "example": "curl -X POST https://api.elevenlabs.io/v1/convai/agents/create -H \"xi-api-key: $ELEVENLABS_API_KEY\" -H 'Content-Type: application/json' -d '{\"conversation_config\":{}}'",
      "response_fields": [
        "agent_id"
      ],
      "async": null,
      "source_url": "https://elevenlabs.io/docs/api-reference/agents/create",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Agents (Speech Engine): $0.08 per minute beyond plan-included minutes, $0.16 per burst minute",
      "source_url": "https://elevenlabs.io/pricing/api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.elevenlabs.io/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 200,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.elevenlabs.io/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 275,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "livekit-cloud",
    "name": "LiveKit Cloud",
    "category": "voice-agents-telephony",
    "homepage": "https://livekit.com",
    "docs": "https://docs.livekit.io/reference/",
    "auth": "api_key",
    "auth_hint": "API key + secret sign a JWT access token sent as Authorization: Bearer <token>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://docs.livekit.io/reference/developer-tools/docs-mcp.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free Build plan: 1,000 agent session minutes/mo, 5,000 WebRTC participant minutes/mo, 50GB data transfer",
    "sdk": [
      "python",
      "typescript",
      "go",
      "rust",
      "swift",
      "kotlin",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": "https://docs.livekit.io/llms.txt",
    "desc_en": "Build and deploy real-time voice AI agents with SIP telephony support using LiveKit's server SDKs and APIs.",
    "notes": "Self-hosted open-source option also exists; Cloud is the managed offering with usage-based billing beyond the free tier.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1,000 agent session min, 5,000 WebRTC participant min, 50GB transfer, $2.50 inference credits",
      "period": "month",
      "source_url": "https://livekit.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <JWT signed with API key + secret>",
      "source_url": "https://docs.livekit.io/reference/other/roomservice-api.md",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Build plan: up to 100 concurrent users and agents",
      "source_url": "https://livekit.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "voice-agent",
      "phone-calls"
    ],
    "no_auth": false,
    "call": {
      "operation": "dispatch a voice agent into a room",
      "method": "POST",
      "url": "https://{projectDomain}/twirp/livekit.AgentDispatchService/CreateDispatch",
      "example": "curl -X POST https://$LIVEKIT_PROJECT_DOMAIN/twirp/livekit.AgentDispatchService/CreateDispatch -H \"Authorization: Bearer $LIVEKIT_ADMIN_JWT\" -H 'Content-Type: application/json' -d '{\"agent_name\": \"my-agent\", \"room\": \"my-room\"}'",
      "response_fields": [
        "id",
        "agent_name",
        "room",
        "state"
      ],
      "async": null,
      "source_url": "https://docs.livekit.io/reference/agents/agent-dispatch-service-api.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Agent sessions: $0.01 per minute overage on paid plans (Build includes 1,000 min/mo free); WebRTC overage $0.0004-$0.0005 per participant minute",
      "source_url": "https://livekit.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    }
  },
  {
    "id": "retell-ai",
    "name": "Retell AI",
    "category": "voice-agents-telephony",
    "homepage": "https://www.retellai.com",
    "docs": "https://docs.retellai.com/api-references/overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.retellai.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.retellai.com",
      "source_url": "https://docs.retellai.com/get-started/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.retellai.com",
        "headers": {
          "Authorization": "Bearer $RETELL_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.retellai.com/get-started/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "$10 free credit on signup, then pay-as-you-go ($0.07-$0.31/min for voice)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.retellai.com/llms.txt",
    "desc_en": "Build, deploy, and manage AI voice agents that handle phone and web calls via REST API and SDKs.",
    "notes": "Official MCP at https://mcp.retellai.com (Streamable HTTP) authenticates with Authorization: Bearer <RETELL_API_KEY>.",
    "verified": "2026-09-24",
    "operations": [
      "voice-agent",
      "phone-calls"
    ],
    "free_plan": {
      "kind": "trial",
      "quota": "$10 in free credits",
      "period": "one_time",
      "source_url": "https://www.retellai.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <RETELL_API_KEY>",
      "source_url": "https://docs.retellai.com/api-references/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.retellai.com",
    "rate_limits": {
      "summary": "Pay-As-You-Go workspaces: 20 concurrent calls by default (extra $8/call/month); calls max 1 hour by default",
      "source_url": "https://docs.retellai.com/deploy/concurrency",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "place an outbound AI phone call",
      "method": "POST",
      "url": "https://api.retellai.com/v2/create-phone-call",
      "example": "curl -X POST https://api.retellai.com/v2/create-phone-call -H \"Authorization: Bearer $RETELL_API_KEY\" -H \"Content-Type: application/json\" -d '{\"from_number\":\"+14157774444\",\"to_number\":\"+12137774445\"}'",
      "response_fields": [
        "call_id",
        "call_status",
        "agent_id"
      ],
      "async": "poll GET https://api.retellai.com/v2/get-call/{call_id} (or use webhooks) for transcript and outcome",
      "source_url": "https://docs.retellai.com/api-references/create-phone-call",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Per call minute: voice infra $0.055 + LLM (e.g. $0.064 GPT 5.6 Terra) + telephony ($0.015 US via Twilio); advertised $0.07-$0.31/min",
      "source_url": "https://www.retellai.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 1.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Retell-AI/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.retellai.com",
        "probes": 1,
        "up": 1,
        "median_ms": 278,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.retellai.com",
        "probes": 1,
        "up": 1,
        "median_ms": 406,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/retell-ai.json"
  },
  {
    "id": "synthflow-api",
    "name": "Synthflow API",
    "category": "voice-agents-telephony",
    "homepage": "https://synthflow.ai",
    "docs": "https://docs.synthflow.ai/getting-started-with-your-api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.synthflow.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.synthflow.ai/mcp",
      "tools": [
        "list_agents",
        "get_agent",
        "create_agent",
        "update_agent",
        "publish_agent_draft",
        "delete_agent",
        "list_calls",
        "get_call_details",
        "get_call_analytics",
        "start_test_call",
        "create_action",
        "list_knowledge_bases",
        "create_knowledge_base",
        "execute_simulation_suite",
        "list_phone_numbers",
        "list_contacts",
        "search_docs"
      ],
      "covers_full_api": true,
      "source_url": "https://docs.synthflow.ai/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.synthflow.ai/mcp",
        "derived": true
      }
    },
    "free_tier": "Paid only: pricing page lists Enterprise contracts from $30,000/year; no self-serve free trial shown",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://docs.synthflow.ai/llms-full.txt",
    "desc_en": "Create and manage AI phone voice agents and trigger/manage outbound calls programmatically via REST API.",
    "notes": "Go-to-market is enterprise sales. Official remote MCP (~60 tools) also has regional URLs: https://mcp.us.synthflow.ai/mcp and https://mcp.eu.synthflow.ai/mcp.",
    "verified": "2026-09-24",
    "operations": [
      "voice-agent",
      "phone-calls"
    ],
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <SYNTHFLOW_API_KEY>",
      "source_url": "https://docs.synthflow.ai/getting-started-with-your-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.synthflow.ai/v2",
    "rate_limits": {
      "summary": "Per-workspace concurrency limit and CAPS (calls initiated per second) limit; excess returns 429 or is queued",
      "source_url": "https://docs.synthflow.ai/concurrency-calling-limits",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 1.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Synthflow/",
        "fetched_at": "2026-09-24T16:58Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.synthflow.ai/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 678,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.synthflow.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 427,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/synthflow-api.json"
  },
  {
    "id": "twilio-programmable-voice",
    "name": "Twilio Programmable Voice",
    "category": "voice-agents-telephony",
    "homepage": "https://www.twilio.com/en-us/voice",
    "docs": "https://www.twilio.com/docs/voice",
    "auth": "api_key",
    "auth_hint": "Basic Auth (Account SID + Auth Token) or API Key/Secret",
    "mcp": {
      "type": "official",
      "url": "https://github.com/twilio-labs/mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/twilio-labs/mcp",
      "covers_full_api": true,
      "source_url": "https://github.com/twilio-labs/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@twilio-alpha/mcp",
          "$TWILIO_ACCOUNT_SID/$TWILIO_API_KEY:$TWILIO_API_SECRET"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/twilio-labs/mcp#quick-start",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: one-time free units (e.g. 75 voice minutes, 100 SMS, 100 WhatsApp, 3,000 emails), no card, expires after 30 days; then pay-as-you-go",
    "sdk": [
      "python",
      "javascript",
      "java",
      "csharp",
      "php",
      "ruby"
    ],
    "openapi": "https://github.com/twilio/twilio-oai",
    "llms_txt": null,
    "desc_en": "Programmatically make, receive, and control phone calls (IVR, recording, conferencing) via REST API.",
    "notes": "Widely used as the underlying telephony carrier beneath voice-agent platforms (Vapi, Retell, ElevenLabs, LiveKit) for actual call carriage. Twilio's own MCP (npm @twilio-alpha/mcp) is alpha.",
    "verified": "2026-09-24",
    "operations": [
      "phone-calls"
    ],
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "75 voice minutes, 100 SMS, 100 WhatsApp messages, 3,000 emails; verified numbers only",
      "period": "one_time",
      "source_url": "https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<API_KEY_SID>:<API_KEY_SECRET>) (or AccountSid:AuthToken)",
      "source_url": "https://www.twilio.com/docs/usage/requests-to-twilio",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.twilio.com/2010-04-01",
    "rate_limits": {
      "summary": "Account API concurrency limit; exceeding returns 429 Too Many Requests",
      "source_url": "https://www.twilio.com/docs/usage/twilios-response",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "make an outbound call",
      "method": "POST",
      "url": "https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls.json",
      "example": "curl -X POST \"https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls.json\" -u \"$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN\" --data-urlencode \"To=+15558675310\" --data-urlencode \"From=$TWILIO_NUMBER\" --data-urlencode \"Twiml=<Response><Say>Hello</Say></Response>\"",
      "response_fields": [
        "sid",
        "status",
        "duration",
        "price"
      ],
      "async": "poll GET .../Calls/{sid}.json for status, or set StatusCallback",
      "source_url": "https://www.twilio.com/docs/voice/api/call-resource",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "US: outbound calls $0.0140/min; inbound $0.0085/min on local numbers (+$1.15/mo per number)",
      "source_url": "https://www.twilio.com/en-us/voice/pricing/us",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "twilio/twilio-oai",
        "stars": 169,
        "forks": 106,
        "pushed_at": "2026-09-09",
        "archived": false,
        "url": "https://github.com/twilio/twilio-oai",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "github",
        "repo": "twilio-labs/mcp",
        "stars": 111,
        "forks": 41,
        "pushed_at": "2026-02-14",
        "archived": false,
        "url": "https://github.com/twilio-labs/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.twilio.com/2010-04-01",
        "probes": 1,
        "up": 1,
        "median_ms": 152,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "vapi",
    "name": "Vapi",
    "category": "voice-agents-telephony",
    "homepage": "https://vapi.ai",
    "docs": "https://docs.vapi.ai/api-reference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.vapi.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.vapi.ai/mcp",
      "repo": "https://github.com/VapiAI/mcp-server",
      "tools": [
        "list_assistants",
        "create_assistant",
        "get_assistant",
        "list_calls",
        "create_call",
        "get_call",
        "list_phone_numbers",
        "get_phone_number",
        "list_tools",
        "get_tool"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.vapi.ai/sdk/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.vapi.ai/mcp",
        "headers": {
          "Authorization": "Bearer $VAPI_API_KEY"
        },
        "oauth": false,
        "env": [
          "VAPI_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://docs.vapi.ai/sdk/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "$5 free credit on signup, then pay-as-you-go (~$0.05/min platform fee + provider costs)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://api.vapi.ai/api",
    "llms_txt": "https://docs.vapi.ai/llms.txt",
    "desc_en": "Create, configure, and run AI voice assistants that make and receive phone calls via REST API.",
    "notes": "Also has an official MCP server (streamable-HTTP and SSE endpoints) exposing assistants/calls/phone numbers as tools.",
    "verified": "2026-09-24",
    "operations": [
      "voice-agent",
      "phone-calls"
    ],
    "free_plan": {
      "kind": "trial",
      "quota": "$5 free credits",
      "period": "one_time",
      "source_url": "https://vapi.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <VAPI_PRIVATE_API_KEY>",
      "source_url": "https://docs.vapi.ai/api-reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.vapi.ai",
    "rate_limits": {
      "summary": "4 concurrent calls with no Success Package; 10 on Core ($29/mo), 30 on Pro",
      "source_url": "https://vapi.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "start an outbound phone call with an assistant",
      "method": "POST",
      "url": "https://api.vapi.ai/call",
      "example": "curl -X POST https://api.vapi.ai/call -H \"Authorization: Bearer $VAPI_PRIVATE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"assistantId\": \"your-assistant-id\", \"phoneNumberId\": \"your-phone-number-id\", \"customer\": {\"number\": \"+14155551234\"}}'",
      "response_fields": [
        "id",
        "status"
      ],
      "async": "call runs asynchronously; GET https://api.vapi.ai/call/{id} for status and results",
      "source_url": "https://docs.vapi.ai/api-reference/calls/create",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "$0.05 per call minute Vapi hosting fee; transcriber, LLM, voice and telephony billed separately at cost",
      "source_url": "https://vapi.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.vapi.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 424,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.vapi.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 163,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "airtable-api",
    "name": "Airtable API",
    "category": "productivity-workspace",
    "homepage": "https://airtable.com/developers",
    "docs": "https://airtable.com/developers/web/api/introduction",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <personal access token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.airtable.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.airtable.com/mcp",
      "source_url": "https://airtable.com/developers/agents/mcp/getting-started",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.airtable.com/mcp",
        "headers": {
          "Authorization": "Bearer $AIRTABLE_PAT"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://airtable.com/developers/agents/mcp/getting-started",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 1,000 API calls per workspace per month on the Free plan, 5 req/sec per base",
    "sdk": [
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read and write records in Airtable bases and tables via REST API.",
    "notes": "Official JS client available; Python/Ruby/.NET clients are community-maintained.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 API calls per workspace",
      "period": "month",
      "source_url": "https://support.airtable.com/articles/7735693959-managing-api-call-limits-in-airtable",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PERSONAL_ACCESS_TOKEN or OAuth token>",
      "source_url": "https://airtable.com/developers/web/api/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.airtable.com/v0",
    "rate_limits": {
      "summary": "5 requests/sec per base; 50 requests/sec per user across PATs; 429 then wait 30s",
      "source_url": "https://airtable.com/developers/web/api/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "data.records:read",
        "data.records:write"
      ],
      "source_url": "https://airtable.com/developers/web/api/authentication",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "no-code-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "create records in a table",
      "method": "POST",
      "url": "https://api.airtable.com/v0/{baseId}/{tableIdOrName}",
      "example": "curl -X POST \"https://api.airtable.com/v0/$AIRTABLE_BASE_ID/{tableIdOrName}\" -H \"Authorization: Bearer $AIRTABLE_TOKEN\" -H \"Content-Type: application/json\" -d '{\"records\":[{\"fields\":{\"Name\":\"Union Square\"}}]}'",
      "response_fields": [
        "records[].id",
        "records[].createdTime",
        "records[].fields"
      ],
      "async": null,
      "source_url": "https://airtable.com/developers/web/api/create-records",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "domdomegg/airtable-mcp-server",
        "stars": 457,
        "forks": 133,
        "pushed_at": "2026-09-09",
        "archived": false,
        "url": "https://github.com/domdomegg/airtable-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 500,
        "url": "https://smithery.ai/servers/airtable",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 28,
        "url": "https://sourceforge.net/software/product/Airtable/",
        "fetched_at": "2026-09-24T16:59Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.airtable.com/v0",
        "probes": 1,
        "up": 1,
        "median_ms": 250,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.airtable.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 270,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/airtable-api.json"
  },
  {
    "id": "asana-api",
    "name": "Asana API",
    "category": "productivity-workspace",
    "homepage": "https://developers.asana.com",
    "docs": "https://developers.asana.com",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <personal access token or OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.asana.com/v2/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.asana.com/v2/mcp",
      "tools": [
        "search_objects",
        "get_task",
        "get_tasks",
        "get_my_tasks",
        "search_tasks",
        "get_project",
        "get_projects",
        "create_tasks",
        "update_tasks",
        "delete_task",
        "add_comment",
        "create_project",
        "create_project_status_update"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.asana.com/docs/mcp-tools-reference.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.asana.com/v2/mcp",
        "derived": true
      }
    },
    "free_tier": "free tier: API included on Personal (free) plan, rate limited",
    "sdk": [
      "python",
      "javascript",
      "java",
      "php",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": "https://developers.asana.com/llms.txt",
    "desc_en": "Create tasks, projects, and comments in Asana workspaces via REST API.",
    "notes": "Official remote MCP server uses OAuth; MCP tokens work only with the MCP server, not the REST API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "source_url": "https://developers.asana.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PERSONAL_ACCESS_TOKEN or OAuth token>",
      "source_url": "https://developers.asana.com/docs/personal-access-token.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://app.asana.com/api/1.0",
    "rate_limits": {
      "summary": "150 requests/min per token on free domains; 1,500/min on paid domains",
      "source_url": "https://developers.asana.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "tasks:read",
        "tasks:write",
        "projects:read",
        "projects:write",
        "stories:write",
        "users:read",
        "workspaces:read"
      ],
      "source_url": "https://developers.asana.com/docs/oauth-scopes.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a task",
      "method": "POST",
      "url": "https://app.asana.com/api/1.0/tasks",
      "example": "curl -X POST https://app.asana.com/api/1.0/tasks -H \"Authorization: Bearer $ASANA_TOKEN\" -H \"Content-Type: application/json\" -d '{\"data\":{\"name\":\"Buy catnip\",\"workspace\":\"<ASANA_WORKSPACE_GID>\"}}'",
      "response_fields": [
        "data.gid",
        "data.name",
        "data.permalink_url"
      ],
      "async": null,
      "source_url": "https://developers.asana.com/reference/createtask",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 94,
        "url": "https://smithery.ai/servers/asana",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 97,
        "url": "https://sourceforge.net/software/product/Asana/",
        "fetched_at": "2026-09-24T16:59Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://app.asana.com/api/1.0",
        "probes": 1,
        "up": 1,
        "median_ms": 211,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.asana.com/v2/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 348,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/asana-api.json"
  },
  {
    "id": "atlassian-jira-confluence",
    "name": "Atlassian (Jira, Confluence)",
    "category": "productivity-workspace",
    "homepage": "https://developer.atlassian.com",
    "docs": "https://developer.atlassian.com",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token> (or basic auth with API token for Cloud REST)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.atlassian.com/v2/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.atlassian.com/v2/mcp",
      "tools": [
        "getJiraIssue",
        "searchJiraIssuesUsingJql",
        "createJiraIssue",
        "editJiraIssue",
        "transitionJiraIssue",
        "getConfluenceContent",
        "searchConfluence",
        "createConfluenceContent",
        "updateConfluenceContent",
        "atlassianUserInfo",
        "getAccessibleAtlassianResources"
      ],
      "covers_full_api": false,
      "source_url": "https://support.atlassian.com/atlassian-ai-gateway/docs/supported-tools/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.atlassian.com/v2/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: available on Free Jira/Confluence plans; rate limits vary by plan",
    "sdk": [
      "python",
      "javascript",
      "java"
    ],
    "openapi": "https://developer.atlassian.com/cloud/jira/platform/swagger.v3.json",
    "llms_txt": null,
    "desc_en": "Create and manage Jira issues and Confluence pages via REST API or the official remote MCP server.",
    "notes": "Official Atlassian Remote MCP (Rovo) rate limits range 500-10,000+ calls/hour depending on subscription tier; does not store/cache content.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Jira Free: up to 10 users, 2 GB storage",
      "source_url": "https://www.atlassian.com/software/jira/guides/more/jira-editions",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <OAUTH_TOKEN> (or Authorization: Basic base64(email:api_token))",
      "source_url": "https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://your-domain.atlassian.net/rest/api/3",
    "rate_limits": {
      "summary": "Points-based: 65,000 points/hour global pool for apps (API-token traffic not affected); 429 with Retry-After",
      "source_url": "https://developer.atlassian.com/cloud/jira/platform/rate-limiting/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "read:jira-work",
        "write:jira-work",
        "read:jira-user"
      ],
      "source_url": "https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management",
      "docs-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a Jira issue",
      "method": "POST",
      "url": "https://{your-domain}.atlassian.net/rest/api/3/issue",
      "example": "curl -X POST https://$JIRA_DOMAIN.atlassian.net/rest/api/3/issue -u \"$JIRA_EMAIL:$JIRA_API_TOKEN\" -H \"Accept: application/json\" -H \"Content-Type: application/json\" -d '{\"fields\":{\"project\":{\"id\":\"10000\"},\"issuetype\":{\"id\":\"10000\"},\"summary\":\"Main order flow broken\"}}'",
      "response_fields": [
        "id",
        "key",
        "self"
      ],
      "async": null,
      "source_url": "https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-post",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.atlassian.com/v2/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 259,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "box-api",
    "name": "Box API",
    "category": "productivity-workspace",
    "homepage": "https://developer.box.com",
    "docs": "https://developer.box.com/guides/api-calls/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.box.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.box.com",
      "tools": [
        "who_am_i",
        "search_files_keyword",
        "search_folders_by_name",
        "get_file_content",
        "get_file_details",
        "list_folder_content_by_folder_id",
        "upload_file",
        "create_folder",
        "move_file",
        "ai_qa_single_file",
        "ai_extract_structured"
      ],
      "covers_full_api": false,
      "source_url": "https://developer.box.com/guides/box-mcp/tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.box.com",
        "derived": true
      }
    },
    "free_tier": "Free: developer plan with 10 GB storage, full API access and 1,000 AI units per month, no payment required",
    "sdk": [
      "python",
      "javascript",
      "java",
      "csharp"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Upload, download, and manage files, folders, and metadata in Box via REST API.",
    "notes": "Also supports JWT/Client Credentials Grant for server-to-server auth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Free developer plan: 10 GB storage, full API access, 1,000 AI units/month",
      "period": "month",
      "source_url": "https://developer.box.com/guides/getting-started/free-developer-plan",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://developer.box.com/guides/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.box.com/2.0",
    "rate_limits": {
      "summary": "1,000 API requests/min per user; uploads 240/min; search 6/sec per user",
      "source_url": "https://developer.box.com/guides/api-calls/permissions-and-errors/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "root_readonly",
        "root_readwrite",
        "ai.readwrite"
      ],
      "source_url": "https://developer.box.com/guides/api-calls/permissions-and-errors/scopes/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "file-storage"
    ],
    "no_auth": false,
    "call": {
      "operation": "upload a file",
      "method": "POST",
      "url": "https://upload.box.com/api/2.0/files/content",
      "example": "curl -X POST https://upload.box.com/api/2.0/files/content -H \"Authorization: Bearer $BOX_ACCESS_TOKEN\" -H \"Content-Type: multipart/form-data\" -F attributes='{\"name\":\"Contract.pdf\", \"parent\":{\"id\":\"0\"}}' -F file=@Contract.pdf",
      "response_fields": [
        "entries[0].id",
        "entries[0].name",
        "entries[0].type",
        "total_count"
      ],
      "async": null,
      "source_url": "https://developer.box.com/reference/post-files-content/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.box.com/2.0",
        "probes": 1,
        "up": 1,
        "median_ms": 280,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.box.com",
        "probes": 1,
        "up": 1,
        "median_ms": 230,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "cal-com-api",
    "name": "Cal.com API",
    "category": "productivity-workspace",
    "homepage": "https://cal.com/docs/api-reference",
    "docs": "https://cal.com/docs/api-reference/v2/introduction",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <API key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.cal.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.cal.com/mcp",
      "repo": "https://github.com/calcom/companion/tree/main/apps/mcp-server",
      "tools": [
        "get_me",
        "get_event_types",
        "create_event_type",
        "get_bookings",
        "get_booking",
        "create_booking",
        "reschedule_booking",
        "cancel_booking",
        "get_schedules",
        "get_availability",
        "get_busy_times"
      ],
      "covers_full_api": false,
      "source_url": "https://cal.com/docs/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.cal.com/mcp",
        "derived": true
      }
    },
    "free_tier": "free tier: API included on Free plan, 120 req/min (higher limits on request)",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://cal.com/docs/llms.txt",
    "desc_en": "Create and manage bookings, event types, and availability via the Cal.com REST API v2.",
    "notes": "OAuth strongly recommended for production integrations; API keys are simpler but less secure.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY> (keys prefixed cal_ / cal_live_)",
      "source_url": "https://cal.com/docs/api-reference/v2/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cal.com/v2",
    "rate_limits": {
      "summary": "120 requests/min per API key; can be raised to ~200/min, 800/min possibly at extra cost",
      "source_url": "https://cal.com/docs/api-reference/v2/introduction",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "calendar"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cal.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 518,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.cal.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 718,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "calendly-api",
    "name": "Calendly API",
    "category": "productivity-workspace",
    "homepage": "https://developer.calendly.com",
    "docs": "https://developer.calendly.com/api-docs",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <personal access token or OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.calendly.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.calendly.com",
      "tools": [
        "users-get_current_user",
        "event_types-create_event_type",
        "meetings-list_events",
        "meetings-create_invitee",
        "routing_forms-list_routing_forms",
        "organizations-list_organization_memberships"
      ],
      "source_url": "https://developer.calendly.com/supported-tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.calendly.com",
        "derived": true
      }
    },
    "free_tier": "Free: API reads and most writes work on every plan incl. Free (except 3 Enterprise-only endpoints); booking through the Scheduling API (POST /invitees) and webhooks need a paid plan",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Programmatically book meetings and read/write scheduling, event, and contact data via REST API v2.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "source_url": "https://developer.calendly.com/frequently-asked-questions",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PERSONAL_ACCESS_TOKEN or OAuth token>",
      "source_url": "https://developer.calendly.com/openapi/calendly-api.yaml",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.calendly.com",
    "operations": [
      "calendar"
    ],
    "no_auth": false,
    "call": {
      "operation": "book a meeting (create an event invitee)",
      "method": "POST",
      "url": "https://api.calendly.com/invitees",
      "example": "curl -X POST https://api.calendly.com/invitees -H \"Authorization: Bearer $CALENDLY_TOKEN\" -H \"Content-Type: application/json\" -d '{\"event_type\":\"https://api.calendly.com/event_types/{EVENT_TYPE_UUID}\",\"start_time\":\"2026-10-02T18:30:00Z\",\"invitee\":{\"name\":\"Jordan Lee\",\"email\":\"jordan@example.com\",\"timezone\":\"America/New_York\"}}'",
      "response_fields": [
        "event",
        "status",
        "cancel_url",
        "reschedule_url"
      ],
      "async": null,
      "source_url": "https://developer.calendly.com/docs/api-guides/schedule-events-with-ai-agents",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 23,
        "url": "https://smithery.ai/servers/calendly",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 14,
        "url": "https://sourceforge.net/software/product/Calendly/",
        "fetched_at": "2026-09-24T16:59Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.calendly.com",
        "probes": 1,
        "up": 1,
        "median_ms": 231,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.calendly.com",
        "probes": 1,
        "up": 1,
        "median_ms": 220,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/calendly-api.json"
  },
  {
    "id": "clickup-api",
    "name": "ClickUp API",
    "category": "productivity-workspace",
    "homepage": "https://developer.clickup.com",
    "docs": "https://developer.clickup.com/reference",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: <personal API token> (no Bearer prefix) or OAuth2 token",
    "mcp": {
      "type": "official",
      "url": "https://mcp.clickup.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.clickup.com/mcp",
      "covers_full_api": false,
      "source_url": "https://developer.clickup.com/docs/connect-an-ai-assistant-to-clickups-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.clickup.com/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://developer.clickup.com/docs/connect-an-ai-assistant-to-clickups-mcp-server",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: API access included on Free Forever plan",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create and manage ClickUp tasks, lists, and docs via REST API or the official MCP server.",
    "notes": "MCP server is OAuth-only (no API keys); Free Forever is limited to 50 MCP calls per 24h without the AI add-on.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free Forever plan: API at 100 requests/min per token",
      "source_url": "https://developer.clickup.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: pk_<PERSONAL_TOKEN> (OAuth: Authorization: Bearer <ACCESS_TOKEN>)",
      "source_url": "https://developer.clickup.com/docs/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.clickup.com/api/v2",
    "rate_limits": {
      "summary": "100 requests/min per token on Free Forever, Unlimited, Business; 1,000 on Business Plus; 10,000 on Enterprise",
      "source_url": "https://developer.clickup.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management",
      "docs-editing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a task in a list",
      "method": "POST",
      "url": "https://api.clickup.com/api/v2/list/{list_id}/task",
      "example": "curl -X POST https://api.clickup.com/api/v2/list/$CLICKUP_LIST_ID/task -H \"Authorization: $CLICKUP_API_TOKEN\" -H 'Content-Type: application/json' -d '{\"name\":\"New Task Name\"}'",
      "response_fields": [
        "id",
        "url",
        "status.status"
      ],
      "async": null,
      "source_url": "https://developer.clickup.com/reference/createtask",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 0,
        "url": "https://smithery.ai/servers/clickup",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.6,
        "reviews": 122,
        "url": "https://sourceforge.net/software/product/ClickUp/",
        "fetched_at": "2026-09-24T16:59Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.clickup.com/api/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 239,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.clickup.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 325,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/clickup-api.json"
  },
  {
    "id": "coda-api-superhuman-docs",
    "name": "Coda API (Superhuman Docs)",
    "category": "productivity-workspace",
    "homepage": "https://coda.io",
    "docs": "https://docs.superhuman.com/developers/apis/v1",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API token>",
    "mcp": {
      "type": "official",
      "url": "https://docs.superhuman.com/apis/mcp",
      "maintainer": "vendor",
      "remote_url": "https://docs.superhuman.com/apis/mcp",
      "source_url": "https://docs.superhuman.com/.well-known/oauth-protected-resource/apis/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://docs.superhuman.com/apis/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.superhuman.com/.well-known/oauth-protected-resource/apis/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, included for all users on both free and paid workspaces",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read and write Coda (now 'Superhuman Docs') documents, tables, and rows via REST API or an MCP server.",
    "notes": "Coda was rebranded to 'Superhuman Docs' after Grammarly's acquisition; the API base URL coda.io/apis/v1 still works, and the OpenAPI spec now names https://docs.superhuman.com/apis/v1. The official MCP server uses OAuth via id.superhuman.com (scope mcp:all).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "source_url": "https://docs.superhuman.com/developers/apis/v1",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN>",
      "source_url": "https://docs.superhuman.com/developers/apis/v1",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://coda.io/apis/v1",
    "rate_limits": {
      "summary": "Reads 100 req/6s; writes 10 req/6s; doc content writes 5 req/10s; list docs 4 req/6s",
      "source_url": "https://docs.superhuman.com/developers/apis/v1",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Writes return HTTP 202 with requestId; check GET /mutationStatus/{requestId}",
      "source_url": "https://docs.superhuman.com/developers/apis/v1"
    },
    "operations": [
      "docs-editing",
      "no-code-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "insert rows into a table",
      "method": "POST",
      "url": "https://docs.superhuman.com/apis/v1/docs/{docId}/tables/{tableIdOrName}/rows",
      "example": "curl -s -X POST -H \"Authorization: Bearer $CODA_API_TOKEN\" -H 'Content-Type: application/json' -d '{\"rows\": [{\"cells\": [{\"column\": \"{column_id}\", \"value\": \"Feed Baker\"}]}]}' 'https://docs.superhuman.com/apis/v1/docs/{doc_id}/tables/{table_id}/rows'",
      "response_fields": [
        "requestId",
        "addedRowIds"
      ],
      "async": "returns 202; the write is queued and applied within seconds (check GET /mutationStatus/{requestId})",
      "source_url": "https://coda.io/apis/v1/openapi.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://coda.io/apis/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 311,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://docs.superhuman.com/apis/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 261,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "dropbox-api",
    "name": "Dropbox API",
    "category": "productivity-workspace",
    "homepage": "https://www.dropbox.com/developers",
    "docs": "https://www.dropbox.com/developers/documentation/http/documentation",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.dropbox.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.dropbox.com/mcp",
      "tools": [
        "ListFolder",
        "GetFileContent",
        "CreateFile",
        "Copy",
        "Move",
        "Delete",
        "Search",
        "CreateFolder",
        "CreateSharedLink",
        "GetFileMetadata",
        "WhoAmI"
      ],
      "covers_full_api": false,
      "source_url": "https://help.dropbox.com/integrations/connect-dropbox-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.dropbox.com/mcp",
        "derived": true
      }
    },
    "free_tier": "free tier: API access included on Basic (free) plan, rate limited",
    "sdk": [
      "python",
      "javascript",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Upload, download, and manage files and folders in Dropbox via the HTTP REST API.",
    "notes": "Official remote MCP server is in open beta and uses Dropbox OAuth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Dropbox Basic: 2 GB storage",
      "source_url": "https://www.dropbox.com/basic",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <OAUTH2_ACCESS_TOKEN>",
      "source_url": "https://docs.dropboxapi.com/dropbox-api/docs/auth-types",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.dropboxapi.com/2",
    "operations": [
      "file-storage"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.5,
        "reviews": 226,
        "url": "https://sourceforge.net/software/product/Dropbox/",
        "fetched_at": "2026-09-24T16:59Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.dropboxapi.com/2",
        "probes": 1,
        "up": 1,
        "median_ms": 283,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.dropbox.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 236,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/dropbox-api.json"
  },
  {
    "id": "google-workspace-apis-gmail-calendar-drive",
    "name": "Google Workspace APIs (Gmail, Calendar, Drive)",
    "category": "productivity-workspace",
    "homepage": "https://developers.google.com/workspace",
    "docs": "https://developers.google.com/workspace",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://developers.google.com/workspace/guides/configure-mcp-servers",
      "maintainer": "vendor",
      "remote_url": "https://gmailmcp.googleapis.com/mcp/v1",
      "tools": [
        "create_draft",
        "search_threads",
        "search_files",
        "read_file_content",
        "list_events",
        "send_message"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.google.com/workspace/guides/configure-mcp-servers",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://gmailmcp.googleapis.com/mcp/v1",
        "derived": true
      }
    },
    "free_tier": "Free: no charge within per-API daily quotas; Google plans to bill quota overages to the Cloud billing account later in 2026",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read/write Gmail messages, Calendar events, and Drive files programmatically via REST APIs.",
    "notes": "Each Workspace API (Gmail, Calendar, Drive, Docs, Sheets) has its own quota; sensitive/restricted scopes require OAuth consent screen verification. Official remote MCP servers (Developer Preview, OAuth) run per product, e.g. gmailmcp.googleapis.com/mcp/v1.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Gmail API: free up to 80,000,000 quota units/day per project",
      "period": "day",
      "source_url": "https://developers.google.com/workspace/gmail/api/reference/quota",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <OAUTH2_ACCESS_TOKEN>",
      "source_url": "https://developers.google.com/workspace/gmail/api/auth/scopes",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Gmail: 1,200,000 quota units/min per project, 6,000/min per user; messages.send costs 100 units",
      "source_url": "https://developers.google.com/workspace/gmail/api/reference/quota",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "https://www.googleapis.com/auth/gmail.readonly",
        "https://www.googleapis.com/auth/gmail.send",
        "https://www.googleapis.com/auth/gmail.modify",
        "https://www.googleapis.com/auth/gmail.compose"
      ],
      "source_url": "https://developers.google.com/workspace/gmail/api/auth/scopes",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-inbox",
      "email-send",
      "calendar",
      "file-storage"
    ],
    "no_auth": false,
    "call": {
      "operation": "list Gmail messages",
      "method": "GET",
      "url": "https://gmail.googleapis.com/gmail/v1/users/{userId}/messages",
      "example": "curl \"https://gmail.googleapis.com/gmail/v1/users/me/messages?q=is:unread&maxResults=10\" -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\"",
      "response_fields": [
        "messages[].id",
        "messages[].threadId",
        "nextPageToken",
        "resultSizeEstimate"
      ],
      "async": null,
      "source_url": "https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.messages/list",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://gmailmcp.googleapis.com/mcp/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 265,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "linear-api",
    "name": "Linear API",
    "category": "productivity-workspace",
    "homepage": "https://linear.app/developers",
    "docs": "https://linear.app/developers",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: <API_KEY> (personal key, no Bearer) or Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.linear.app/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.linear.app/mcp",
      "covers_full_api": false,
      "source_url": "https://linear.app/docs/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.linear.app/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://linear.app/docs/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: API access included on Free plan (rate limited)",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create, query, and update Linear issues, projects, and comments via GraphQL API or the official MCP server.",
    "notes": "GraphQL API (not REST). Official MCP also has a read-only variant at mcp.linear.app/mcp/readonly.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan incl. API and webhook access, 250 issues",
      "source_url": "https://linear.app/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: <API_KEY> (OAuth: Authorization: Bearer <ACCESS_TOKEN>)",
      "source_url": "https://linear.app/developers/graphql",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.linear.app/graphql",
    "rate_limits": {
      "summary": "API key: 2,500 requests/hour and 3,000,000 complexity points/hour per user; OAuth: 5,000 req/hour",
      "source_url": "https://linear.app/developers/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "read",
        "write",
        "issues:create",
        "comments:create"
      ],
      "source_url": "https://linear.app/developers/oauth-2-0-authentication",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management"
    ],
    "no_auth": false,
    "call": {
      "operation": "create an issue",
      "method": "POST",
      "url": "https://api.linear.app/graphql",
      "example": "curl -X POST https://api.linear.app/graphql -H \"Content-Type: application/json\" -H \"Authorization: $LINEAR_API_KEY\" --data '{\"query\": \"mutation { issueCreate(input: {title: \\\"New exception\\\", teamId: \\\"TEAM_ID\\\"}) { success issue { id title } } }\"}'",
      "response_fields": [
        "data.issueCreate.success",
        "data.issueCreate.issue.id",
        "data.issueCreate.issue.title",
        "errors"
      ],
      "source_url": "https://linear.app/developers/graphql",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 3816,
        "url": "https://smithery.ai/servers/linear",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Linear/",
        "fetched_at": "2026-09-24T16:59Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.linear.app/graphql",
        "probes": 1,
        "up": 1,
        "median_ms": 445,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      },
      "mcp_remote": {
        "url": "https://mcp.linear.app/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 332,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/linear-api.json"
  },
  {
    "id": "microsoft-graph-outlook-teams-onedrive",
    "name": "Microsoft Graph (Outlook, Teams, OneDrive)",
    "category": "productivity-workspace",
    "homepage": "https://learn.microsoft.com/graph/",
    "docs": "https://learn.microsoft.com/en-us/graph/overview",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.svc.cloud.microsoft/enterprise",
      "maintainer": "vendor",
      "remote_url": "https://mcp.svc.cloud.microsoft/enterprise",
      "tools": [
        "microsoft_graph_suggest_queries",
        "microsoft_graph_get",
        "microsoft_graph_list_properties"
      ],
      "covers_full_api": false,
      "source_url": "https://learn.microsoft.com/en-us/graph/mcp-server/overview",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.svc.cloud.microsoft/enterprise",
        "derived": true
      }
    },
    "free_tier": "free with a Microsoft 365/Entra ID tenant (free dev tenant via Microsoft 365 Developer Program)",
    "sdk": [
      "python",
      "javascript",
      "java",
      "csharp",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Single REST endpoint to read/write Outlook mail, Calendar events, Teams, and OneDrive/SharePoint data.",
    "notes": "Requires app registration in Microsoft Entra ID; delegated vs application permissions determine required consent. The official MCP Server for Enterprise (preview) only runs read-only Entra directory queries.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://learn.microsoft.com/en-us/graph/auth/auth-concepts",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://graph.microsoft.com/v1.0",
    "rate_limits": {
      "summary": "Global 130,000 requests/10s per app across tenants; service-specific limits apply; 429 with Retry-After",
      "source_url": "https://learn.microsoft.com/en-us/graph/throttling-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "User.Read"
      ],
      "source_url": "https://learn.microsoft.com/en-us/graph/auth/auth-concepts",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "email-inbox",
      "email-send",
      "calendar",
      "team-chat",
      "file-storage"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://graph.microsoft.com/v1.0",
        "probes": 1,
        "up": 1,
        "median_ms": 164,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.svc.cloud.microsoft/enterprise",
        "probes": 1,
        "up": 1,
        "median_ms": 389,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "monday-com-api",
    "name": "monday.com API",
    "category": "productivity-workspace",
    "homepage": "https://developer.monday.com",
    "docs": "https://developer.monday.com",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: <personal API token or OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.monday.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.monday.com/mcp",
      "repo": "https://github.com/mondaycom/mcp",
      "tools": [
        "create_item",
        "delete_item",
        "get_board_items_by_name",
        "create_update",
        "change_item_column_values",
        "create_board",
        "get_board_schema",
        "list_users_and_teams",
        "all_monday_api",
        "get_graphql_schema"
      ],
      "covers_full_api": true,
      "source_url": "https://developer.monday.com/api-reference/docs/integrate-with-monday-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.monday.com/mcp",
        "headers": {
          "Authorization": "Bearer $MONDAY_API_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developer.monday.com/api-reference/docs/integrate-with-monday-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: GraphQL API included on Free plan (rate limited)",
    "sdk": [
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Query and update monday.com boards, items, and workflows via GraphQL API or a hosted MCP endpoint.",
    "notes": "Hosted MCP accepts a personal API token or OAuth 2.0; SSE transport is deprecated in favor of Streamable HTTP.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan: 1,000 API calls/day; 1M complexity points/min",
      "period": "day",
      "source_url": "https://developer.monday.com/api-reference/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: <PERSONAL_API_TOKEN>",
      "source_url": "https://developer.monday.com/api-reference/docs/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.monday.com/v2",
    "rate_limits": {
      "summary": "Complexity 10M points/min per personal token (1M on trial/free); Free plan 1,000 calls/day reset midnight UTC",
      "source_url": "https://developer.monday.com/api-reference/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management",
      "no-code-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "read items on a board (GraphQL)",
      "method": "POST",
      "url": "https://api.monday.com/v2",
      "example": "curl -X POST https://api.monday.com/v2 -H \"Authorization: $MONDAY_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"query\":\"query { boards (ids: 1234567890) { items_page { cursor items { id name } } } }\"}'",
      "response_fields": [
        "data.boards[0].items_page.items[].id",
        "data.boards[0].items_page.items[].name",
        "data.boards[0].items_page.cursor",
        "errors"
      ],
      "async": null,
      "source_url": "https://developer.monday.com/api-reference/docs/getting-started",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.8,
        "reviews": 98,
        "url": "https://sourceforge.net/software/product/monday.com/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.monday.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 215,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.monday.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 295,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/monday-com-api.json"
  },
  {
    "id": "nocodb-cloud",
    "name": "NocoDB Cloud API",
    "category": "productivity-workspace",
    "homepage": "https://nocodb.com",
    "docs": "https://nocodb.com/docs/apis-and-mcp",
    "auth": "api_key+oauth2",
    "auth_hint": "REST: 'xc-token: <API_TOKEN>' header; MCP: OAuth at app.nocodb.com/mcp, or token access at /mcp/<ncId> with 'x-api-key: <MCP_TOKEN>' header",
    "mcp": {
      "type": "official",
      "url": "https://app.nocodb.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://app.nocodb.com/mcp",
      "covers_full_api": true,
      "source_url": "https://nocodb.com/docs/apis-and-mcp/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://app.nocodb.com/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://nocodb.com/docs/apis-and-mcp/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 1,000 records, 1 GB storage, 1,000 API calls/month, 3 editors, 100 automation runs; no credit card",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://nocodb.com/llms.txt",
    "desc_en": "Lets an agent read, create and update records, tables and views in NocoDB spreadsheet-style databases.",
    "notes": "Free plan API quota is very small (1,000 calls/month). v3 Data API reference at https://nocodb.com/apis/v3/data/ (base https://app.nocodb.com; xc-token or Authorization: Bearer) and Meta API at https://meta-apis-v3.nocodb.com/. Remote MCP over Streamable HTTP; tools follow the token owner's base role and plan-gated features.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1,000 API calls, 1,000 records, 1 GB storage, 3 editors",
      "period": "month",
      "source_url": "https://nocodb.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "xc-token",
      "format": "xc-token: <API_TOKEN>",
      "source_url": "https://nocodb.com/docs/product-docs/developer-resources/rest-apis/accessing-apis",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "no-code-database"
    ],
    "base_url": "https://app.nocodb.com",
    "no_auth": false,
    "call": {
      "operation": "list records in a table (Data API v3)",
      "method": "GET",
      "url": "https://app.nocodb.com/api/v3/data/{baseId}/{tableId}/records",
      "example": "curl \"https://app.nocodb.com/api/v3/data/$NOCODB_BASE_ID/$NOCODB_TABLE_ID/records\" -H \"xc-token: $NOCODB_API_TOKEN\"",
      "response_fields": [
        "records[].id",
        "records[].fields",
        "next"
      ],
      "async": null,
      "source_url": "https://nocodb.com/apis/v3/swagger-v3.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://app.nocodb.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 322,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "notion-api",
    "name": "Notion API",
    "category": "productivity-workspace",
    "homepage": "https://developers.notion.com",
    "docs": "https://developers.notion.com",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <integration token or OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.notion.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.notion.com/mcp",
      "repo": "https://github.com/makenotion/notion-mcp-server",
      "tools": [
        "notion-search",
        "notion-fetch",
        "notion-create-pages",
        "notion-update-page",
        "notion-move-pages",
        "notion-duplicate-page",
        "notion-create-database",
        "notion-update-data-source",
        "notion-query-data-sources",
        "notion-create-comment",
        "notion-get-comments",
        "notion-get-users",
        "notion-create-file-upload"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.notion.com/guides/mcp/mcp-supported-tools.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.notion.com/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://developers.notion.com/guides/mcp/get-started-with-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, API access included on all plans (rate limit ~3 req/sec)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://developers.notion.com/llms.txt",
    "desc_en": "Read, create, and update Notion pages, databases, and comments via REST API.",
    "notes": "Internal integrations use static tokens; public integrations use OAuth2. Official hosted MCP endpoint requires sign-in (returns 401 unauthenticated).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "source_url": "https://developers.notion.com/reference/request-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <TOKEN>; Notion-Version: 2026-03-11",
      "source_url": "https://developers.notion.com/reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.notion.com/v1",
    "rate_limits": {
      "summary": "180 requests/min per connection (600/min on Business/Enterprise) plus per-workspace limits; 429 with Retry-After",
      "source_url": "https://developers.notion.com/reference/request-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "docs-editing",
      "no-code-database"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a page under an existing page",
      "method": "POST",
      "url": "https://api.notion.com/v1/pages",
      "example": "curl -X POST https://api.notion.com/v1/pages -H \"Authorization: Bearer $NOTION_API_KEY\" -H 'Notion-Version: 2026-03-11' -H 'Content-Type: application/json' --data '{\"parent\": {\"page_id\": \"{page_id}\"}, \"properties\": {\"title\": {\"title\": [{\"text\": {\"content\": \"New page\"}}]}}, \"markdown\": \"# Hello\n\nFirst paragraph\"}'",
      "response_fields": [
        "id",
        "url",
        "created_time"
      ],
      "async": null,
      "source_url": "https://developers.notion.com/reference/post-page",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 3841,
        "url": "https://smithery.ai/servers/notion",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 26,
        "url": "https://sourceforge.net/software/product/Notion/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.notion.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 496,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      },
      "mcp_remote": {
        "url": "https://mcp.notion.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 282,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/notion-api.json"
  },
  {
    "id": "todoist-api",
    "name": "Todoist API",
    "category": "productivity-workspace",
    "homepage": "https://developer.todoist.com",
    "docs": "https://developer.todoist.com/api/v1/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <API token or OAuth2 token>",
    "mcp": {
      "type": "official",
      "url": "https://ai.todoist.net/mcp",
      "maintainer": "vendor",
      "remote_url": "https://ai.todoist.net/mcp",
      "source_url": "https://developer.todoist.com/api/v1/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://ai.todoist.net/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://developer.todoist.com/api/v1/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free to use; some features gated by the user's Todoist plan",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create, read, and complete Todoist tasks and projects via REST API or the official MCP server.",
    "notes": "Official MCP works with Claude, ChatGPT, Cursor, VS Code; supports OAuth dynamic client registration (RFC 7591).",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN or OAuth token>",
      "source_url": "https://developer.todoist.com/api/v1/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.todoist.com/api/v1",
    "rate_limits": {
      "summary": "Per user: 1,000 partial sync requests and 100 full sync requests per 15 minutes; up to 100 commands per request",
      "source_url": "https://developer.todoist.com/api/v1/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "data:read",
        "data:read_write",
        "task:add",
        "data:delete",
        "project:delete"
      ],
      "source_url": "https://developer.todoist.com/api/v1/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.8,
        "reviews": 14,
        "url": "https://sourceforge.net/software/product/Todoist/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.todoist.com/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 380,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://ai.todoist.net/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 496,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/todoist-api.json"
  },
  {
    "id": "trello-api",
    "name": "Trello API",
    "category": "productivity-workspace",
    "homepage": "https://developer.atlassian.com/cloud/trello/",
    "docs": "https://developer.atlassian.com/cloud/trello/rest/",
    "auth": "api_key+oauth2",
    "auth_hint": "key=<API_KEY>&token=<API_TOKEN> query params, or Authorization: OAuth oauth_consumer_key=\"<API_KEY>\", oauth_token=\"<API_TOKEN>\"",
    "mcp": {
      "type": "official",
      "url": "https://mcp.trello.com/v1",
      "maintainer": "vendor",
      "remote_url": "https://mcp.trello.com/v1",
      "covers_full_api": false,
      "source_url": "https://support.atlassian.com/trello/docs/connect-trello-to-ai-assistants-with-trello-mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.trello.com/v1",
        "derived": true
      }
    },
    "free_tier": "free, no key needed to register an app; usage is rate limited",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create and manage Trello boards, lists, and cards via REST API.",
    "notes": "Now documented under the Atlassian developer platform; REST calls send an API key plus a user token (no Bearer). The official MCP server uses OAuth 2.0 and works on all Trello plans.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "format": "?key=<API_KEY>&token=<API_TOKEN> (or Authorization: OAuth oauth_consumer_key=\"<API_KEY>\", oauth_token=\"<API_TOKEN>\")",
      "source_url": "https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.trello.com/1",
    "rate_limits": {
      "summary": "300 requests/10s per API key; 100 requests/10s per token; /1/members 100 requests/900s",
      "source_url": "https://developer.atlassian.com/cloud/trello/guides/rest-api/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "read",
        "write",
        "account"
      ],
      "source_url": "https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "task-management"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.trello.com/1",
        "probes": 1,
        "up": 1,
        "median_ms": 445,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.trello.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 295,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "attio-api",
    "name": "Attio API",
    "category": "crm-support-marketing",
    "homepage": "https://developers.attio.com",
    "docs": "https://docs.attio.com/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <api_key_or_oauth_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.attio.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.attio.com/mcp",
      "tools": [
        "list-objects",
        "search-records",
        "list-records",
        "get-records-by-ids",
        "create-record",
        "upsert-record",
        "update-record",
        "merge-records",
        "list-attribute-definitions",
        "list-lists",
        "create-list",
        "list-records-in-list",
        "add-record-to-list",
        "update-list-entry-by-id",
        "create-comment",
        "list-comments",
        "create-note",
        "semantic-search-notes",
        "get-note-body",
        "list-tasks",
        "create-task",
        "update-task",
        "search-meetings",
        "get-call-recording",
        "semantic-search-emails",
        "get-email-content",
        "list-workspace-members",
        "whoami",
        "run-basic-report",
        "query-particle-sql"
      ],
      "source_url": "https://docs.attio.com/mcp/overview",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.attio.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.attio.com/mcp/overview",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: up to 3 seats, 50,000 records, API access included; no card required; 14-day trial of Pro plan",
    "sdk": [],
    "openapi": "https://api.attio.com/openapi/api",
    "llms_txt": "https://docs.attio.com/llms.txt",
    "desc_en": "Search, create, and update records, lists, and notes in an Attio CRM workspace via REST API or official MCP.",
    "notes": "Official MCP at mcp.attio.com/mcp uses OAuth login (no API key needed); read ops auto-approved, write ops require user confirmation in the MCP client.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Free plan: up to 3 seats, 50,000 records, API and webhook access included",
      "source_url": "https://attio.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <access_token>",
      "source_url": "https://docs.attio.com/rest-api/guides/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.attio.com/v2",
    "rate_limits": {
      "summary": "100 read requests/second and 25 write requests/second",
      "source_url": "https://docs.attio.com/rest-api/guides/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "record_permission:read-write",
        "object_configuration:read"
      ],
      "source_url": "https://docs.attio.com/rest-api/endpoint-reference/records/create-a-record",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crm"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a company record",
      "method": "POST",
      "url": "https://api.attio.com/v2/objects/{object}/records",
      "example": "curl -X POST https://api.attio.com/v2/objects/companies/records -H \"Authorization: Bearer $ATTIO_API_KEY\" -H \"Content-Type: application/json\" -d '{\"data\":{\"values\":{\"name\":\"Acme\"}}}'",
      "response_fields": [
        "data.id.record_id",
        "data.id.object_id",
        "data.web_url",
        "data.values"
      ],
      "async": null,
      "source_url": "https://docs.attio.com/rest-api/endpoint-reference/records/create-a-record",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 277,
        "url": "https://smithery.ai/servers/attio",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.attio.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 350,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.attio.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 465,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "hubspot-api",
    "name": "HubSpot API",
    "category": "crm-support-marketing",
    "homepage": "https://developers.hubspot.com",
    "docs": "https://developers.hubspot.com/docs/api/overview",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <private-app-token> (or OAuth2 access token)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.hubspot.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.hubspot.com",
      "tools": [
        "get_user_details",
        "get_organization_details",
        "discover_hubspot_schema",
        "search_crm_objects",
        "get_crm_objects",
        "manage_crm_objects",
        "manage_segment",
        "query_crm_data",
        "search_properties",
        "get_properties",
        "manage_custom_properties",
        "manage_custom_pipelines",
        "search_owners",
        "read_campaign_data",
        "manage_campaign_objects",
        "search_conversations",
        "get_marketing_email_analytics",
        "manage_marketing_email",
        "manage_landing_page",
        "manage_website_page",
        "manage_blog_post"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.hubspot.com",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free CRM account with limited-scope API access; many endpoints require a paid Hub tier (see APIs-by-tier docs)",
    "sdk": [
      "node",
      "python",
      "php",
      "ruby"
    ],
    "openapi": "https://developers.hubspot.com/docs/reference/api/overview",
    "llms_txt": "https://developers.hubspot.com/docs/llms.txt",
    "desc_en": "Create/update CRM contacts, deals, companies, and engagements, or send marketing emails, via REST API or remote MCP.",
    "notes": "Remote MCP server at mcp.hubspot.com requires account admin authorization first (OAuth2); some API endpoints gated by subscription tier.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Free tools: up to 2 users, 1,000 contacts",
      "source_url": "https://www.hubspot.com/pricing/crm",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <private_app_access_token_or_oauth_token>",
      "source_url": "https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/guide",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.hubapi.com",
    "rate_limits": {
      "summary": "Private apps: Free & Starter 100 req/10s per app, 250,000/day per account; Professional 190/10s, 625,000/day; Enterprise 190/10s, 1,000,000/day",
      "source_url": "https://developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "crm.objects.contacts.read",
        "crm.objects.contacts.write"
      ],
      "source_url": "https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/guide",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crm",
      "email-marketing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a CRM contact",
      "method": "POST",
      "url": "https://api.hubapi.com/crm/v3/objects/contacts",
      "example": "curl -X POST https://api.hubapi.com/crm/v3/objects/contacts -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"properties\": {\"email\": \"example@hubspot.com\", \"firstname\": \"Jane\", \"lastname\": \"Doe\"}}'",
      "response_fields": [
        "id",
        "properties",
        "createdAt",
        "archived"
      ],
      "async": null,
      "source_url": "https://developers.hubspot.com/docs/api-reference/crm-contacts-v3/basic/post-crm-v3-objects-contacts",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 1166,
        "url": "https://smithery.ai/servers/hubspot",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.hubapi.com",
        "probes": 1,
        "up": 1,
        "median_ms": 634,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.hubspot.com",
        "probes": 1,
        "up": 1,
        "median_ms": 333,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "intercom-api",
    "name": "Intercom API",
    "category": "crm-support-marketing",
    "homepage": "https://developers.intercom.com",
    "docs": "https://developers.intercom.com/docs/references/rest-api/api.intercom.io",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <access_token> (workspace access token for private apps; OAuth for public apps)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.intercom.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.intercom.com/mcp",
      "tools": [
        "search",
        "fetch",
        "search_conversations",
        "get_conversation",
        "search_contacts",
        "get_contact",
        "list_companies",
        "get_company",
        "list_articles",
        "search_articles",
        "get_article",
        "create_article",
        "update_article",
        "add_internal_note"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.intercom.com/docs/guides/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.intercom.com/mcp",
        "headers": {
          "Authorization": "Bearer $INTERCOM_ACCESS_TOKEN"
        },
        "oauth": true,
        "source_url": "https://developers.intercom.com/docs/guides/mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free development workspace for building/testing; production use requires a paid Intercom plan",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage conversations, contacts, companies, and Help Center articles via REST API or Intercom's official remote MCP server.",
    "notes": "Official MCP has region-specific endpoints: US at mcp.intercom.com/mcp, EU at mcp.eu.intercom.com/mcp; supports OAuth or bearer token auth.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free development workspace (dev only, US region, max 20 users/leads, no outbound email)",
      "source_url": "https://developers.intercom.com/docs/build-an-integration/getting-started",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <access_token>",
      "source_url": "https://developers.intercom.com/docs/build-an-integration/learn-more/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.intercom.io",
    "rate_limits": {
      "summary": "10,000 API calls/min per app and 25,000/min per workspace, enforced in 10-second windows",
      "source_url": "https://developers.intercom.com/docs/references/rest-api/errors/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "support-ticketing",
      "crm"
    ],
    "no_auth": false,
    "call": {
      "operation": "reply to a conversation",
      "method": "POST",
      "url": "https://api.intercom.io/conversations/{conversation_id}/reply",
      "example": "curl -X POST https://api.intercom.io/conversations/$CONVERSATION_ID/reply -H \"Authorization: Bearer $INTERCOM_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -H \"Intercom-Version: 2.16\" -d '{\"message_type\":\"comment\",\"type\":\"user\",\"intercom_user_id\":\"<CONTACT_ID>\",\"body\":\"Thanks again :)\"}'",
      "response_fields": [
        "id",
        "state",
        "open",
        "updated_at",
        "conversation_parts"
      ],
      "async": null,
      "source_url": "https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/replyconversation",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 9,
        "url": "https://sourceforge.net/software/product/Intercom/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.intercom.io",
        "probes": 1,
        "up": 1,
        "median_ms": 495,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://mcp.intercom.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 233,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/intercom-api.json"
  },
  {
    "id": "klaviyo-api",
    "name": "Klaviyo API",
    "category": "crm-support-marketing",
    "homepage": "https://developers.klaviyo.com",
    "docs": "https://developers.klaviyo.com/en/reference/api_overview",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Klaviyo-API-Key <private_api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.klaviyo.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.klaviyo.com/mcp",
      "repo": "uvx klaviyo-mcp-server@latest",
      "tools": [
        "get_account_details",
        "get_campaigns",
        "create_campaign",
        "send_campaign",
        "get_catalog_items",
        "get_events",
        "create_event",
        "get_metrics",
        "query_metric_aggregates",
        "get_profiles",
        "create_or_update_profile",
        "subscribe_profile_to_marketing",
        "bulk_import_profiles",
        "get_flows",
        "create_flow",
        "get_lists",
        "create_list",
        "get_segments",
        "create_segment"
      ],
      "covers_full_api": true,
      "source_url": "https://developers.klaviyo.com/en/docs/klaviyo_mcp_server_available_tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.klaviyo.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developers.klaviyo.com/en/docs/connect_to_the_klaviyo_mcp_server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan up to 250 contacts / 500 email sends per month",
    "sdk": [],
    "openapi": "https://developers.klaviyo.com/en/reference/api_overview",
    "llms_txt": null,
    "desc_en": "Manage email/SMS marketing profiles, lists, flows, and campaign analytics via Klaviyo's REST API or official MCP server.",
    "notes": "Official remote MCP at mcp.klaviyo.com/mcp uses OAuth with dynamic client registration; a local MCP server option also exists. Private key scopes cannot be edited after creation.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Up to 250 active profiles, 500 email sends/month, $5 of mobile messages/month",
      "period": "month",
      "source_url": "https://www.klaviyo.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Klaviyo-API-Key <private_api_key> (plus revision: <YYYY-MM-DD> header)",
      "source_url": "https://developers.klaviyo.com/en/docs/authenticate_",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://a.klaviyo.com/api",
    "rate_limits": {
      "summary": "Per-account per-endpoint tiers: XS 1/s,15/m; S 3/s,60/m; M 10/s,150/m; L 75/s,700/m; XL 350/s,3500/m",
      "source_url": "https://developers.klaviyo.com/en/docs/rate_limits_and_error_handling",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "profiles:read",
        "profiles:write",
        "lists:read",
        "lists:write",
        "campaigns:read",
        "campaigns:write",
        "events:write"
      ],
      "source_url": "https://developers.klaviyo.com/en/docs/authenticate_",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "bulk import/catalog and campaign send operations create jobs; poll the corresponding get_*_job endpoint",
      "source_url": "https://developers.klaviyo.com/en/docs/klaviyo_mcp_server_available_tools"
    },
    "operations": [
      "email-marketing",
      "sms"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a profile",
      "method": "POST",
      "url": "https://a.klaviyo.com/api/profiles",
      "example": "curl -X POST https://a.klaviyo.com/api/profiles -H \"Authorization: Klaviyo-API-Key $KLAVIYO_PRIVATE_API_KEY\" -H 'revision: 2026-07-15' -H 'Content-Type: application/vnd.api+json' -d '{\"data\":{\"type\":\"profile\",\"attributes\":{\"email\":\"sarah.mason@klaviyo-demo.com\"}}}'",
      "response_fields": [
        "data.id",
        "data.attributes.email"
      ],
      "async": null,
      "source_url": "https://developers.klaviyo.com/en/reference/create_profile",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 2,
        "url": "https://smithery.ai/servers/klaviyo",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.5,
        "reviews": 8,
        "url": "https://sourceforge.net/software/product/Klaviyo/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://a.klaviyo.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 226,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://mcp.klaviyo.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 235,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/klaviyo-api.json"
  },
  {
    "id": "mailchimp-marketing-api",
    "name": "Mailchimp Marketing API",
    "category": "crm-support-marketing",
    "homepage": "https://mailchimp.com/developer/",
    "docs": "https://mailchimp.com/developer/marketing/api/root/",
    "auth": "api_key+oauth2",
    "auth_hint": "Basic auth 'anystring:<api_key>' or Authorization: Bearer <token>; API key suffix encodes data center (e.g. -us6)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/damientilman/mailchimp-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/damientilman/mailchimp-mcp-server",
      "tools": [
        "list_campaigns",
        "get_campaign_report",
        "add_member",
        "create_campaign",
        "send_campaign"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/damientilman/mailchimp-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "mailchimp-mcp"
        ],
        "env": [
          "MAILCHIMP_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/damientilman/mailchimp-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free plan up to 250 contacts / 500 emails per month (API accessible on free plan)",
    "sdk": [],
    "openapi": "https://api.mailchimp.com/schema/3.0/Swagger.json",
    "llms_txt": null,
    "desc_en": "Manage email marketing audiences, campaigns, and automation via Mailchimp's Marketing REST API.",
    "notes": "No official Marketing API MCP; community servers exist (e.g. damientilman/mailchimp-mcp-server). Mailchimp's official MCP (mandrillapp.com/mcp) covers only Transactional. API base URL includes account-specific data-center subdomain.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "250 contacts; max 500 email sends/month or 250/day",
      "period": "month",
      "source_url": "https://mailchimp.com/pricing/marketing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Basic auth anystring:<API_KEY> (or Authorization: Bearer <OAUTH_TOKEN>)",
      "source_url": "https://mailchimp.com/developer/marketing/docs/fundamentals/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://<dc>.api.mailchimp.com/3.0",
    "rate_limits": {
      "summary": "10 simultaneous connections per user; 120-second timeout per call",
      "source_url": "https://mailchimp.com/developer/marketing/docs/fundamentals/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "batch operations endpoint processes requests asynchronously; poll the batch status",
      "source_url": "https://mailchimp.com/developer/marketing/docs/fundamentals/"
    },
    "operations": [
      "email-marketing"
    ],
    "no_auth": false,
    "call": {
      "operation": "add a contact to an audience",
      "method": "POST",
      "url": "https://{dc}.api.mailchimp.com/3.0/lists/{list_id}/members",
      "example": "curl -sS -X POST \"https://$MAILCHIMP_DC.api.mailchimp.com/3.0/lists/$LIST_ID/members\" --user \"key:$MAILCHIMP_API_KEY\" -H 'content-type: application/json' -d '{\"email_address\": \"prudence.mcvankab@example.com\", \"status\": \"subscribed\", \"merge_fields\": {\"FNAME\": \"Prudence\", \"LNAME\": \"McVankab\"}}'",
      "response_fields": [
        "id",
        "email_address",
        "status"
      ],
      "async": null,
      "source_url": "https://mailchimp.com/developer/marketing/guides/create-your-first-audience/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    }
  },
  {
    "id": "pipedrive-api",
    "name": "Pipedrive API",
    "category": "crm-support-marketing",
    "homepage": "https://developers.pipedrive.com",
    "docs": "https://developers.pipedrive.com/docs/api/v1",
    "auth": "api_key+oauth2",
    "auth_hint": "x-api-token: <api_token> header, or Authorization: Bearer <oauth_token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.pipedrive.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.pipedrive.ai/mcp",
      "covers_full_api": false,
      "source_url": "https://support.pipedrive.com/en/article/mcp-claude",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.pipedrive.ai/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://support.pipedrive.com/en/article/mcp-claude",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "no free tier; 14/30-day trial and free developer sandbox account for testing",
    "sdk": [
      "node",
      "php"
    ],
    "openapi": "https://developers.pipedrive.com/docs/api/v1/openapi.yaml",
    "llms_txt": null,
    "desc_en": "Create and update deals, contacts (persons/organizations), and activities in a Pipedrive CRM pipeline via REST API.",
    "notes": "Official hosted MCP at mcp.pipedrive.ai/mcp uses Pipedrive account sign-in (OAuth). Offers a free Sandbox account for development/testing separate from production pricing. Core endpoints (e.g. POST /deals) are v2 only: https://api.pipedrive.com/api/v2/deals; v1 remains for the rest",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "Developer Sandbox account (5 seats) for building apps; deleted if inactive (no app in 45 days)",
      "source_url": "https://pipedrive.readme.io/docs/developer-sandbox-account",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-token",
      "format": "x-api-token: <API_TOKEN> (or Authorization: Bearer <OAUTH_TOKEN>)",
      "source_url": "https://pipedrive.readme.io/docs/core-api-concepts-authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.pipedrive.com/api/v2",
    "rate_limits": {
      "summary": "Daily token budget 30,000 x plan multiplier x seats; burst per 2s (API token) Lite 20, Growth 40, Premium 100, Ultimate 120; search 10/2s",
      "source_url": "https://pipedrive.readme.io/docs/core-api-concepts-rate-limiting",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "base",
        "deals:full",
        "contacts:full",
        "activities:full",
        "leads:full",
        "search:read",
        "users:read"
      ],
      "source_url": "https://pipedrive.readme.io/docs/marketplace-scopes-and-permissions-explanations",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crm"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a deal",
      "method": "POST",
      "url": "https://api.pipedrive.com/api/v2/deals",
      "example": "curl -X POST https://api.pipedrive.com/api/v2/deals -H \"x-api-token: $PIPEDRIVE_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"title\":\"New deal\"}'",
      "response_fields": [
        "success",
        "data.id",
        "data.title",
        "data.stage_id"
      ],
      "async": null,
      "source_url": "https://developers.pipedrive.com/docs/api/v1/openapi-v2.yaml",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.4,
        "reviews": 50,
        "url": "https://sourceforge.net/software/product/Pipedrive/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.pipedrive.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 353,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/pipedrive-api.json"
  },
  {
    "id": "salesforce-apis",
    "name": "Salesforce APIs",
    "category": "crm-support-marketing",
    "homepage": "https://developer.salesforce.com",
    "docs": "https://developer.salesforce.com/docs/apis",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <access_token> (OAuth2 web-server / JWT bearer flow)",
    "mcp": {
      "type": "official",
      "url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
      "maintainer": "vendor",
      "remote_url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
      "repo": "https://github.com/salesforcecli/mcp",
      "tools": [
        "soql_query",
        "find",
        "run_soql_query",
        "deploy_metadata",
        "retrieve_metadata",
        "run_apex_test",
        "assign_permission_set",
        "list_all_orgs"
      ],
      "covers_full_api": false,
      "source_url": "https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/sobject-all.html",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://api.salesforce.com/.well-known/oauth-protected-resource/platform/mcp/v1/platform/sobject-all",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free Developer Edition org available via signup at developer.salesforce.com/signup",
    "sdk": [
      "node",
      "java",
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read and write Salesforce CRM records (leads, opportunities, cases) programmatically via REST, GraphQL, or Bulk API.",
    "notes": "Salesforce-hosted MCP servers (GA 2026, e.g. sobject-all: CRUD, query, search) need the MCP Service enabled and an External Client App for OAuth. The local salesforcecli/mcp server covers DX/DevOps tooling (metadata deploy, Apex, LWC).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Developer Edition org: 15,000 API calls per 24 hours",
      "period": "day",
      "source_url": "https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer <access_token>",
      "source_url": "https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/hosted-mcp-servers-overview.html",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Developer Edition 15,000 calls/24h; Enterprise/Professional 100,000 + per-license calls/24h; 5 concurrent long-running (>=20s) requests on Developer/Trial orgs",
      "source_url": "https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crm"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "salesforcecli/mcp",
        "stars": 479,
        "forks": 111,
        "pushed_at": "2026-09-23",
        "archived": false,
        "url": "https://github.com/salesforcecli/mcp",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 60,
        "url": "https://sourceforge.net/software/product/Salesforce/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
        "probes": 1,
        "up": 1,
        "median_ms": 301,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/salesforce-apis.json"
  },
  {
    "id": "zendesk-api",
    "name": "Zendesk API",
    "category": "crm-support-marketing",
    "homepage": "https://developer.zendesk.com",
    "docs": "https://developer.zendesk.com/api-reference/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <oauth_token> (Basic {email}/token:{api_token} still works but is deprecated)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/reminia/zendesk-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/reminia/zendesk-mcp-server",
      "tools": [
        "get_tickets",
        "get_ticket",
        "get_ticket_comments",
        "create_ticket_comment",
        "create_ticket",
        "update_ticket",
        "get_ticket_attachment"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/reminia/zendesk-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uv",
        "args": [
          "--directory",
          "/path/to/zendesk-mcp-server",
          "run",
          "zendesk"
        ],
        "env": [
          "ZENDESK_SUBDOMAIN",
          "ZENDESK_CLIENT_ID"
        ],
        "docs_only": false,
        "source_url": "https://github.com/reminia/zendesk-mcp-server#setup",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: 14-day free trial of Suite Professional, one-time, no credit card required; no free plan, paid plans from $19/agent/mo (Support Team, annual)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create, update, and search support tickets, users, and Help Center articles via Zendesk's REST API.",
    "notes": "No official Zendesk-maintained MCP server found as of research date; several community MCP servers exist. API tokens can impersonate any account user, including admins.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "14-day trial of Customer Service Suite Professional",
      "period": "one_time",
      "source_url": "https://www.zendesk.com/free-trial/",
      "checked_at": "2026-09-24",
      "requires_card": false
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <oauth_access_token>",
      "source_url": "https://developer.zendesk.com/api-reference/introduction/security-and-auth/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://{subdomain}.zendesk.com/api/v2",
    "rate_limits": {
      "summary": "Support API requests/min: Team 200, Professional 400, Enterprise 700, High Volume add-on 2,500 (Essential legacy 10)",
      "source_url": "https://developer.zendesk.com/api-reference/introduction/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "read",
        "write",
        "tickets:read"
      ],
      "source_url": "https://developer.zendesk.com/api-reference/ticketing/oauth/oauth_tokens/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "support-ticketing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a support ticket",
      "method": "POST",
      "url": "https://{subdomain}.zendesk.com/api/v2/tickets",
      "example": "curl -X POST https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2/tickets -H \"Authorization: Bearer $ZENDESK_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"ticket\": {\"subject\": \"My printer is on fire!\", \"comment\": {\"body\": \"The smoke is very colorful.\"}}}'",
      "response_fields": [
        "ticket.id",
        "ticket.status",
        "ticket.url",
        "ticket.created_at"
      ],
      "source_url": "https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "reminia/zendesk-mcp-server",
        "stars": 122,
        "forks": 84,
        "pushed_at": "2026-08-27",
        "archived": false,
        "url": "https://github.com/reminia/zendesk-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.3,
        "reviews": 20,
        "url": "https://sourceforge.net/software/product/Zendesk/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/zendesk-api.json"
  },
  {
    "id": "ayrshare",
    "name": "Ayrshare",
    "category": "social-media",
    "homepage": "https://www.ayrshare.com",
    "docs": "https://www.ayrshare.com/docs/apis/overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <API_KEY>; since 2026-03-31 X/Twitter requests also need X-Twitter-OAuth1-Api-Key and X-Twitter-OAuth1-Api-Secret headers",
    "mcp": {
      "type": "official",
      "url": "https://api.ayrshare.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.ayrshare.com/mcp",
      "covers_full_api": false,
      "source_url": "https://www.ayrshare.com/docs/additional/mcp-action-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.ayrshare.com/mcp",
        "headers": {
          "Authorization": "Bearer $AYRSHARE_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://www.ayrshare.com/docs/additional/mcp-action-connect",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: one-time 28-day free trial of the Launch plan ($299/mo), no card required; Premium from $149/mo",
    "sdk": [
      "javascript",
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Unified API to post, schedule, and analyze content across 14+ social networks (X, Instagram, LinkedIn, TikTok, etc.) with one API key.",
    "notes": "Ayrshare itself holds the underlying per-platform app approvals, so agents avoid individually applying for X/Meta/TikTok developer access. Hosted MCP action server at https://api.ayrshare.com/mcp (Streamable HTTP, 27 tools).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": false,
      "quota": "28-day free trial of the Launch plan",
      "period": "one_time",
      "source_url": "https://www.ayrshare.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY> (+ Profile-Key: <PROFILE_KEY> for multi-user plans)",
      "source_url": "https://www.ayrshare.com/docs/apis/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.ayrshare.com/api",
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "publish a post to connected social networks",
      "method": "POST",
      "url": "https://api.ayrshare.com/api/post",
      "example": "curl -X POST https://api.ayrshare.com/api/post -H \"Authorization: Bearer $AYRSHARE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"post\":\"Today is a great day!\",\"platforms\":[\"facebook\",\"linkedin\"]}'",
      "response_fields": [
        "status",
        "errors",
        "postIds[].platform",
        "postIds[].id",
        "postIds[].postUrl"
      ],
      "async": null,
      "source_url": "https://www.ayrshare.com/docs/apis/post/post",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 3.4,
        "reviews": 5,
        "url": "https://sourceforge.net/software/product/Ayrshare/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.ayrshare.com/api",
        "probes": 1,
        "up": 1,
        "median_ms": 274,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://api.ayrshare.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 220,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/ayrshare.json"
  },
  {
    "id": "bluesky-at-protocol",
    "name": "Bluesky / AT Protocol",
    "category": "social-media",
    "homepage": "https://bsky.network/",
    "docs": "https://bsky.network/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <session/OAuth2 token> (legacy app passwords also supported)",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/brianellin/bsky-mcp-server",
      "tools": [
        "get-timeline-posts",
        "get-profile",
        "get-post-thread",
        "search-posts",
        "search-people",
        "create-post",
        "like-post",
        "follow-user"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/brianellin/bsky-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": null
    },
    "free_tier": "free, no key needed for public reads; free account required for posting",
    "sdk": [
      "typescript",
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Post, read, and moderate content on Bluesky via the open, self-hostable AT Protocol REST/XRPC API.",
    "notes": "Decentralized protocol; official OAuth2 is replacing legacy app passwords as the recommended auth method.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://raw.githubusercontent.com/bluesky-social/bsky-docs/main/docs/advanced-guides/api-directory.mdx",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN> (public reads at https://public.api.bsky.app need no auth)",
      "source_url": "https://raw.githubusercontent.com/bluesky-social/bsky-docs/main/docs/advanced-guides/api-directory.mdx",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://public.api.bsky.app/xrpc",
    "rate_limits": {
      "summary": "PDS: 3,000 requests/5 min per IP; writes 5,000 points/hour and 35,000/day per account (create=3 pts)",
      "source_url": "https://raw.githubusercontent.com/bluesky-social/bsky-docs/main/docs/advanced-guides/rate-limits.md",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a post (accessJwt from com.atproto.server.createSession)",
      "method": "POST",
      "url": "{pds_host}/xrpc/com.atproto.repo.createRecord",
      "example": "curl -X POST https://bsky.social/xrpc/com.atproto.repo.createRecord -H \"Authorization: Bearer $ACCESS_JWT\" -H \"Content-Type: application/json\" -d '{\"repo\":\"<BLUESKY_HANDLE>\",\"collection\":\"app.bsky.feed.post\",\"record\":{\"text\":\"Hello world\",\"createdAt\":\"2026-09-24T12:00:00Z\"}}'",
      "response_fields": [
        "uri",
        "cid"
      ],
      "async": null,
      "source_url": "https://raw.githubusercontent.com/bluesky-social/bsky-docs/main/docs/get-started.mdx",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://public.api.bsky.app/xrpc",
        "probes": 1,
        "up": 1,
        "median_ms": 357,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "linkedin-api",
    "name": "LinkedIn API",
    "category": "social-media",
    "homepage": "https://learn.microsoft.com/linkedin/",
    "docs": "https://learn.microsoft.com/en-us/linkedin/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "check pricing — most scopes require LinkedIn Partner Program approval",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Sign users in and share basic posts via OAuth2/OpenID Connect; most other endpoints require partner approval.",
    "notes": "LinkedIn API access is heavily gated; only a narrow self-serve subset (Sign In with LinkedIn/OpenID Connect, basic Share on LinkedIn) is available without applying to a partner program (Marketing, Sales, Talent, Learning solutions).",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN>; X-Restli-Protocol-Version: 2.0.0",
      "source_url": "https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/share-on-linkedin",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.linkedin.com/v2",
    "rate_limits": {
      "summary": "Daily per-app and per-member limits (reset midnight UTC), shown in Developer Portal; Share on LinkedIn: 150/member, 100,000/app per day",
      "source_url": "https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/share-on-linkedin",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "w_member_social"
      ],
      "source_url": "https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/share-on-linkedin",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "social-posting"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.linkedin.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 230,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "mastodon-api",
    "name": "Mastodon API",
    "category": "social-media",
    "homepage": "https://docs.joinmastodon.org/api/",
    "docs": "https://docs.joinmastodon.org/api/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free, no central key; register an app per instance, no cost",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Post statuses, read timelines, and manage accounts on any Mastodon instance via REST API.",
    "notes": "Decentralized: each Mastodon instance is its own API endpoint; app registration is per-instance and free.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://docs.joinmastodon.org/client/token/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://mastodon.example/api/v1",
    "rate_limits": {
      "summary": "Default 300 requests per 5 minutes per account and per IP; media uploads 30 per 30 minutes",
      "source_url": "https://docs.joinmastodon.org/api/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "read",
        "write",
        "push",
        "profile"
      ],
      "source_url": "https://docs.joinmastodon.org/client/token/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 2.5,
        "reviews": 11,
        "url": "https://sourceforge.net/software/product/Mastodon/",
        "fetched_at": "2026-09-24T17:00Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/mastodon-api.json"
  },
  {
    "id": "meta-graph-api-facebook-instagram",
    "name": "Meta Graph API (Facebook, Instagram)",
    "category": "social-media",
    "homepage": "https://developers.facebook.com/docs/graph-api",
    "docs": "https://developers.facebook.com/docs/graph-api",
    "auth": "oauth2",
    "auth_hint": "access_token=<token> query param or Authorization: Bearer <token>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.facebook.com/ads",
      "maintainer": "vendor",
      "remote_url": "https://mcp.facebook.com/ads",
      "covers_full_api": false,
      "source_url": "https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.facebook.com/ads",
        "derived": true
      }
    },
    "free_tier": "free, but most non-trivial read/write permissions require Meta App Review and business verification",
    "sdk": [
      "python",
      "javascript",
      "php"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read and publish posts, manage Pages, and access Instagram business content via Meta's Graph API.",
    "notes": "Most useful permissions (posting, Instagram content, insights) require Meta App Review; basic/dev-mode access is limited to admins/testers. The official MCP covers ads, catalogs and reporting only, not organic posting.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "?access_token=<ACCESS_TOKEN> or token in request header",
      "source_url": "https://developers.facebook.com/docs/graph-api/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://graph.facebook.com/v{version}",
    "rate_limits": {
      "summary": "Platform limit: calls per hour = 200 x number of daily active users; BUC limits for Marketing/Pages APIs",
      "source_url": "https://developers.facebook.com/docs/graph-api/overview/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.facebook.com/ads",
        "probes": 1,
        "up": 1,
        "median_ms": 219,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "pinterest-api",
    "name": "Pinterest API",
    "category": "social-media",
    "homepage": "https://developers.pinterest.com",
    "docs": "https://developers.pinterest.com/docs/api/v5/",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: standard rate limits; higher limits/trial access require app review",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create pins and boards and read analytics data on Pinterest via REST API v5.",
    "notes": "",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://developers.pinterest.com/docs/getting-started/set-up-authentication-and-authorization/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.pinterest.com/v5",
    "rate_limits": {
      "summary": "Trial access: 1,000 requests/day; Standard access: 100 requests/sec per user per app, plus per-category per-minute limits",
      "source_url": "https://developers.pinterest.com/docs/reference/rate-limits/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "boards:read",
        "pins:read",
        "pins:write",
        "boards:write"
      ],
      "source_url": "https://developers.pinterest.com/docs/getting-started/set-up-authentication-and-authorization/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 14,
        "url": "https://sourceforge.net/software/product/Pinterest/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.pinterest.com/v5",
        "probes": 1,
        "up": 1,
        "median_ms": 163,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/pinterest-api.json"
  },
  {
    "id": "reddit-api",
    "name": "Reddit API",
    "category": "social-media",
    "homepage": "https://www.reddit.com/dev/api",
    "docs": "https://www.reddit.com/dev/api",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free for non-commercial/personal use under Reddit Data API terms; commercial or high-volume use requires a paid Data API license",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Read posts/comments and submit posts, comments, or votes on Reddit via OAuth2 REST API.",
    "notes": "Since 2023, commercial/high-volume access requires a separate paid Reddit Data API agreement.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: bearer <TOKEN> (requests to https://oauth.reddit.com)",
      "source_url": "https://github.com/reddit-archive/reddit/wiki/OAuth2",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://oauth.reddit.com",
    "oauth_scopes": {
      "scopes": [
        "identity",
        "read",
        "submit",
        "history",
        "vote"
      ],
      "source_url": "https://github.com/reddit-archive/reddit/wiki/OAuth2",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.2,
        "reviews": 8,
        "url": "https://sourceforge.net/software/product/Reddit/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://oauth.reddit.com",
        "probes": 1,
        "up": 1,
        "median_ms": 160,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/reddit-api.json"
  },
  {
    "id": "tiktok-api",
    "name": "TikTok API",
    "category": "social-media",
    "homepage": "https://developers.tiktok.com",
    "docs": "https://developers.tiktok.com",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free: no fee; requires app review for production access, sandbox mode for testing; posts from unaudited clients are private-only until the app passes TikTok's audit",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Post videos/drafts and query content on TikTok via the Content Posting and Display OAuth2 REST APIs.",
    "notes": "Apps must pass TikTok's review process before production/unaudited-client-mode access is granted.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://developers.tiktok.com/doc/content-posting-api-get-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://open.tiktokapis.com/v2",
    "rate_limits": {
      "summary": "Default 600 requests/min (sliding window) for /v2/user/info/, /v2/video/query/, /v2/video/list/",
      "source_url": "https://developers.tiktok.com/doc/tiktok-api-v2-rate-limit",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "video.publish"
      ],
      "source_url": "https://developers.tiktok.com/doc/content-posting-api-get-started",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Content Posting returns publish_id; poll the publish status fetch endpoint",
      "source_url": "https://developers.tiktok.com/doc/content-posting-api-get-started"
    },
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 6,
        "url": "https://sourceforge.net/software/product/TikTok/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://open.tiktokapis.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 443,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/tiktok-api.json"
  },
  {
    "id": "x-twitter-api",
    "name": "X (Twitter) API",
    "category": "social-media",
    "homepage": "https://developer.x.com",
    "docs": "https://docs.x.com/x-api/introduction",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <App Bearer token or OAuth2 user token>",
    "mcp": {
      "type": "official",
      "url": "https://api.x.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.x.com/mcp",
      "repo": "https://github.com/xdevplatform/xmcp",
      "covers_full_api": false,
      "source_url": "https://docs.x.com/tools/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.x.com/mcp",
        "derived": true
      }
    },
    "free_tier": "Paid only: pay-per-usage with prepaid credits (e.g. $0.005 per Post read, $0.001 per owned read), no subscriptions and no free tier",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Post, search, and read tweets and manage X (Twitter) content via REST API v2.",
    "notes": "Credits are deducted per request; pay-per-usage is capped at 3M Post reads per billing cycle, higher volumes need an Enterprise plan. The official xurl bridge (xdevplatform) handles OAuth for the MCP server.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.x.com/x-api/getting-started/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <APP_BEARER_TOKEN or OAuth 2.0 user token> (OAuth 1.0a also supported)",
      "source_url": "https://docs.x.com/x-api/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.x.com/2",
    "operations": [
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.x.com/2",
        "probes": 1,
        "up": 1,
        "median_ms": 192,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.x.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 194,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "youtube-data-api",
    "name": "YouTube Data API",
    "category": "social-media",
    "homepage": "https://developers.google.com/youtube/v3",
    "docs": "https://developers.google.com/youtube/v3",
    "auth": "api_key+oauth2",
    "auth_hint": "key=<API_KEY> for public reads; Authorization: Bearer <OAuth2 token> for writes/private data",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free tier: 10,000 quota units/day plus separate caps of 100 search.list and 100 videos.insert calls/day (extendable on request)",
    "sdk": [
      "python",
      "javascript",
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Search videos, manage playlists/comments, and upload videos to YouTube via REST API.",
    "notes": "Daily quota of 10,000 units shared across most calls; search.list costs 1 unit from a separate Search Queries bucket capped at 100 calls/day.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10,000 units/day for most endpoints + 100 search.list and 100 videos.insert calls/day",
      "period": "day",
      "source_url": "https://developers.google.com/youtube/v3/determine_quota_cost",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "format": "?key=<API_KEY> for public data; Authorization: Bearer <OAUTH2_TOKEN> for writes/private data",
      "source_url": "https://developers.google.com/youtube/v3/docs",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://www.googleapis.com/youtube/v3",
    "rate_limits": {
      "summary": "Default quota: 100 search.list calls, 100 videos.insert calls and 10,000 units/day for other endpoints; resets midnight PT",
      "source_url": "https://developers.google.com/youtube/v3/determine_quota_cost",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "https://www.googleapis.com/auth/youtube.readonly",
        "https://www.googleapis.com/auth/youtube.upload",
        "https://www.googleapis.com/auth/youtube.force-ssl"
      ],
      "source_url": "https://developers.google.com/youtube/v3/guides/auth/installed-apps",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "video-hosting",
      "social-posting",
      "social-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "search videos",
      "method": "GET",
      "url": "https://www.googleapis.com/youtube/v3/search?part=snippet&q={query}&key={API_KEY}",
      "example": "curl \"https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&q=surfing&maxResults=5&key=$YOUTUBE_API_KEY\"",
      "response_fields": [
        "items[].id.videoId",
        "items[].snippet.title",
        "items[].snippet.channelTitle",
        "nextPageToken"
      ],
      "async": null,
      "source_url": "https://developers.google.com/youtube/v3/docs/search/list",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://www.googleapis.com/youtube/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 272,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "esri-arcgis-location-platform",
    "name": "Esri ArcGIS Location Platform",
    "category": "maps-geo-weather",
    "homepage": "https://location.arcgis.com",
    "docs": "https://developers.arcgis.com/documentation/",
    "auth": "api_key+oauth2",
    "auth_hint": "API key (token param) or OAuth2 Bearer token",
    "mcp": {
      "type": "official",
      "url": "https://developers.arcgis.com/ai-tools/mcp-arcgis-location-services/",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://developers.arcgis.com/ai-tools/mcp-arcgis-location-services/",
        "derived": true
      }
    },
    "free_tier": "free tier with monthly free credits, then usage-based pricing",
    "sdk": [
      "javascript",
      "python",
      "dotnet",
      "swift",
      "kotlin"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Geocode addresses, render maps, run spatial analysis and manage geospatial site data via REST APIs and SDKs.",
    "notes": "Free sign-up; usage beyond free monthly credits is billed per service call. MCP support for location services (geocoding, routing, elevation, static maps) is in beta.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": true,
      "quota": "e.g. 2M basemap tiles, 20K geocodes, 20K routes, 500 place searches",
      "period": "month",
      "source_url": "https://location.arcgis.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "token",
      "format": "?token=<API_KEY> or header X-Esri-Authorization: Bearer <API_KEY>",
      "source_url": "https://developers.arcgis.com/rest/geocode/find-address-candidates/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://geocode-api.arcgis.com/arcgis/rest/services",
    "operations": [
      "street-geocoding",
      "map-tiles"
    ],
    "no_auth": false,
    "call": {
      "operation": "geocode an address",
      "method": "GET",
      "url": "https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates?SingleLine={address}&f=json&token={API_KEY}",
      "example": "curl \"https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates?SingleLine=380%20New%20York%20St%2C%20Redlands%2C%20CA%2092373&f=json&token=$ARCGIS_API_KEY\"",
      "response_fields": [
        "candidates[0].address",
        "candidates[0].location.x",
        "candidates[0].location.y",
        "candidates[0].score"
      ],
      "async": null,
      "source_url": "https://developers.arcgis.com/rest/geocode/find-address-candidates/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Geocoding (not stored): 20,000 free per month, then $0.50 per 1,000 geocodes",
      "source_url": "https://location.arcgis.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://geocode-api.arcgis.com/arcgis/rest/services",
        "probes": 1,
        "up": 1,
        "median_ms": 283,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    }
  },
  {
    "id": "geoapify",
    "name": "Geoapify",
    "category": "maps-geo-weather",
    "homepage": "https://www.geoapify.com",
    "docs": "https://apidocs.geoapify.com/",
    "auth": "api_key",
    "auth_hint": "apiKey query param",
    "mcp": {
      "type": "official",
      "url": "https://api.geoapify.com/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.geoapify.com/v1/mcp?apiKey=<API_KEY>",
      "tools": [
        "geocode_address",
        "geocode_structured_address",
        "reverse_geocode_coordinates",
        "search_places",
        "list_place_categories",
        "calculate_route",
        "calculate_route_matrix",
        "combine_geometries",
        "evaluate_spatial_relation",
        "measure_geometry",
        "transform_geometry"
      ],
      "covers_full_api": false,
      "source_url": "https://apidocs.geoapify.com/docs/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.geoapify.com/v1/mcp",
        "headers": {
          "x-api-key": "$GEOAPIFY_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://apidocs.geoapify.com/docs/mcp/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 3,000 credits/day (~90,000/month), no card required",
    "sdk": [
      "javascript"
    ],
    "openapi": "https://apidocs.geoapify.com/",
    "llms_txt": null,
    "desc_en": "Geocode, search places, and calculate routes/isochrones via REST APIs built on open geodata.",
    "notes": "",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "3,000 credits/day, up to 5 requests/s, commercial use allowed",
      "period": "day",
      "source_url": "https://www.geoapify.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "apiKey",
      "format": "https://api.geoapify.com/v1/geocode/search?text=...&apiKey=<API_KEY>",
      "source_url": "https://apidocs.geoapify.com/docs/geocoding/forward-geocoding/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.geoapify.com",
    "rate_limits": {
      "summary": "Free plan: up to 5 requests/s, 3,000 credits/day",
      "source_url": "https://www.geoapify.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch Geocoding: POST /v1/batch/geocode/search returns job id; poll GET until 200 (202 while pending)",
      "source_url": "https://apidocs.geoapify.com/docs/geocoding/batch/"
    },
    "operations": [
      "street-geocoding",
      "places-search",
      "routing",
      "reverse-geocoding"
    ],
    "no_auth": false,
    "call": {
      "operation": "forward geocode a street address",
      "method": "GET",
      "url": "https://api.geoapify.com/v1/geocode/search?text={address}&format=json&apiKey={API_KEY}",
      "example": "curl \"https://api.geoapify.com/v1/geocode/search?text=38%20Upper%20Montagu%20Street%2C%20Westminster%20W1H%201LJ%2C%20United%20Kingdom&format=json&apiKey=$GEOAPIFY_API_KEY\"",
      "response_fields": [
        "results[0].lat",
        "results[0].lon",
        "results[0].formatted"
      ],
      "async": null,
      "source_url": "https://apidocs.geoapify.com/docs/geocoding/forward-geocoding/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 geocode request = 1 credit; free plan 3,000 credits/day (= 3,000 geocode requests/day, up to 5 req/s); paid plans are daily-credit subscriptions, e.g. API 10: 10,000 credits/day for $59/month",
      "source_url": "https://www.geoapify.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.geoapify.com",
        "probes": 1,
        "up": 0,
        "median_ms": 332,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": false,
          "detail": 503
        }
      }
    }
  },
  {
    "id": "google-maps-platform",
    "name": "Google Maps Platform",
    "category": "maps-geo-weather",
    "homepage": "https://developers.google.com/maps",
    "docs": "https://developers.google.com/maps/documentation",
    "auth": "api_key",
    "auth_hint": "key query param (OAuth2/IAM for some enterprise/Datasets APIs)",
    "mcp": {
      "type": "official",
      "url": "https://mapstools.googleapis.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mapstools.googleapis.com/mcp",
      "tools": [
        "search_places",
        "lookup_weather",
        "compute_routes",
        "resolve_names",
        "resolve_maps_urls"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.google.com/maps/ai/grounding-lite",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mapstools.googleapis.com/mcp",
        "headers": {
          "X-Goog-Api-Key": "$GOOGLE_MAPS_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://developers.google.com/maps/ai/grounding-lite",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: free calls per SKU per month (10K Essentials, 5K Pro, 1K Enterprise), replacing the former $200 monthly credit",
    "sdk": [
      "python",
      "javascript",
      "java",
      "go",
      ".net"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Geocode addresses, get directions/routes, places data, and static/dynamic maps via REST APIs or Google's remote MCP server.",
    "notes": "Google also has a separate Code Assist MCP (mapscodeassist.googleapis.com/mcp) for docs grounding, distinct from this Maps Grounding Lite data MCP.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free calls per SKU monthly: 10K Essentials, 5K Pro, 1K Enterprise",
      "period": "month",
      "source_url": "https://mapsplatform.google.com/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "format": "https://maps.googleapis.com/maps/api/geocode/json?address=...&key=<API_KEY> (newer APIs also accept X-Goog-Api-Key header)",
      "source_url": "https://developers.google.com/maps/documentation/geocoding/requests-geocoding",
      "checked_at": "2026-09-24"
    },
    "rate_limits": {
      "summary": "Maps Grounding Lite MCP: 300 queries/min per project for search_places, lookup_weather, compute_routes",
      "source_url": "https://developers.google.com/maps/ai/grounding-lite",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "street-geocoding",
      "routing",
      "places-search",
      "map-tiles",
      "weather-forecast"
    ],
    "no_auth": false,
    "call": {
      "operation": "forward geocode a street address (Geocoding API)",
      "method": "GET",
      "url": "https://maps.googleapis.com/maps/api/geocode/json?address={address}&key={API_KEY}",
      "example": "curl \"https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=$GOOGLE_MAPS_API_KEY\"",
      "response_fields": [
        "status",
        "results[0].geometry.location.lat",
        "results[0].geometry.location.lng",
        "results[0].formatted_address",
        "results[0].place_id"
      ],
      "async": null,
      "source_url": "https://developers.google.com/maps/documentation/geocoding/requests-geocoding",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Geocoding (Essentials SKU): first 10,000 requests/month free, then $5.00 per 1,000 requests ($0.005 each) for 10,001-100,000; volume discounts above",
      "source_url": "https://developers.google.com/maps/billing-and-pricing/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.7,
        "reviews": 6,
        "url": "https://sourceforge.net/software/product/Google-Maps/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mapstools.googleapis.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 331,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/google-maps-platform.json"
  },
  {
    "id": "here-location-services",
    "name": "HERE Location Services",
    "category": "maps-geo-weather",
    "homepage": "https://developer.here.com",
    "docs": "https://www.here.com/docs",
    "auth": "api_key",
    "auth_hint": "apiKey query param (OAuth2 app tokens also supported)",
    "mcp": {
      "type": "community",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/limingchina/heremaps-mcp-server",
      "tools": [
        "maps_geocode",
        "maps_reverse_geocode",
        "maps_search_places",
        "maps_directions",
        "maps_get_traffic_incidents",
        "maps_display"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/limingchina/heremaps-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "/<local-checkout-directory>/src/node"
        ],
        "env": [
          "HERE_MAPS_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/limingchina/heremaps-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: roughly 30,000 transactions/month on the Base/Freemium plan",
    "sdk": [
      "javascript",
      "python",
      "java",
      "swift",
      "kotlin"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Geocode, route, and search places worldwide via REST APIs and SDKs.",
    "notes": "Free-tier limits and pricing vary by plan/signup date; confirm current allowance on the dashboard.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "apiKey",
      "format": "https://geocode.search.hereapi.com/v1/geocode?q=...&apiKey=<API_KEY>",
      "source_url": "https://docs.here.com/geocoding-and-search/docs/code-geocode-address",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "street-geocoding",
      "routing",
      "places-search",
      "reverse-geocoding",
      "map-tiles"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "ip2location-io",
    "name": "IP2Location.io API",
    "category": "maps-geo-weather",
    "homepage": "https://www.ip2location.io/",
    "docs": "https://www.ip2location.io/ip2location-documentation",
    "auth": "api_key",
    "auth_hint": "Query parameter ?key=<API_KEY> (optional: keyless lookups allowed at a lower quota)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.ip2location.io/",
      "maintainer": "vendor",
      "remote_url": "https://mcp.ip2location.io/",
      "repo": "https://github.com/ip2location/mcp-ip2location-io",
      "tools": [
        "get_geolocation"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/ip2location/mcp-ip2location-io",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "stdio",
        "url": "https://mcp.ip2location.io/",
        "command": "npx",
        "args": [
          "-y",
          "mcp-remote@latest",
          "https://mcp.ip2location.io/",
          "--header",
          "X-API-Key:$IP2LOCATION_API_KEY"
        ],
        "headers": {
          "X-API-Key": "$IP2LOCATION_API_KEY"
        },
        "oauth": false,
        "source_url": "https://github.com/ip2location/mcp-ip2location-io",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 50,000 IP geolocation queries/month, 500 domain WHOIS and 50 hosted-domain queries/month (attribution required); keyless: 1,000 queries/day.",
    "sdk": [
      "python",
      "javascript",
      "php",
      "java",
      "csharp",
      "go",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": "https://www.ip2location.io/llms.txt",
    "desc_en": "Lets an agent geolocate IPv4/IPv6 addresses, get ASN/ISP/proxy data, and look up domain WHOIS records.",
    "notes": "Official MCP server is hosted (X-API-Key header) or local (stdio via uv, env IP2LOCATION_API_KEY). Free plan returns basic fields; proxy/usage-type details need paid plans. Endpoint: GET https://api.ip2location.io/?key=...&ip=...",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "50,000 IP geolocation queries/month, 500 domain WHOIS, 50 hosted-domain queries; attribution required",
      "period": "month",
      "source_url": "https://www.ip2location.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "format": "https://api.ip2location.io/?key=<API_KEY>&ip=8.8.8.8 (or Authorization: Bearer <API_KEY>)",
      "source_url": "https://www.ip2location.io/ip2location-documentation",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.ip2location.io",
    "rate_limits": {
      "summary": "Keyless 1,000 queries/day; free key 50,000/month; resets 00:00 UTC",
      "source_url": "https://www.ip2location.io/ip2location-documentation",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "ip-geolocation"
    ],
    "no_auth": false,
    "call": {
      "operation": "geolocate an IP address",
      "method": "GET",
      "url": "https://api.ip2location.io/?ip={ip}&key={API_KEY}",
      "example": "curl \"https://api.ip2location.io/?ip=8.8.8.8&key=$IP2LOCATION_API_KEY\"",
      "response_fields": [
        "country_code",
        "region_name",
        "city_name",
        "latitude",
        "longitude",
        "asn"
      ],
      "async": null,
      "source_url": "https://www.ip2location.io/ip2location-documentation",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "IP geolocation overage on Starter plan ($49/mo, 150K queries included): $10 per 30,000 extra queries (~$0.00033/query); Free plan 50K/month",
      "source_url": "https://www.ip2location.io/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.ip2location.io",
        "probes": 1,
        "up": 1,
        "median_ms": 428,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.ip2location.io/",
        "probes": 1,
        "up": 1,
        "median_ms": 211,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "iplocate",
    "name": "IPLocate IP Intelligence API",
    "category": "maps-geo-weather",
    "homepage": "https://www.iplocate.io/",
    "docs": "https://www.iplocate.io/docs",
    "auth": "api_key",
    "auth_hint": "Header X-API-Key: <API_KEY> or query parameter ?apikey=<API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://github.com/iplocate/mcp-server-iplocate",
      "maintainer": "vendor",
      "repo": "https://github.com/iplocate/mcp-server-iplocate",
      "tools": [
        "lookup_ip_address_details",
        "lookup_ip_address_location",
        "lookup_ip_address_privacy",
        "lookup_ip_address_network",
        "lookup_ip_address_company",
        "lookup_ip_address_abuse_contacts"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/iplocate/mcp-server-iplocate/blob/main/README.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@iplocate/mcp-server"
        ],
        "env": [
          "IPLOCATE_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/iplocate/mcp-server-iplocate",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 1,000 requests/day forever, all data types (geolocation, VPN/proxy/Tor, ASN, company, abuse contacts), no credit card.",
    "sdk": [
      "python",
      "javascript",
      "java",
      "php",
      "go",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": "https://www.iplocate.io/llms.txt",
    "desc_en": "Lets an agent geolocate an IP address and get its ASN, ISP, company, abuse contacts and VPN/proxy/Tor/hosting flags.",
    "notes": "Official MCP server is local (stdio, reads IPLOCATE_API_KEY). Endpoint: GET https://iplocate.io/api/lookup/{ip}; batch lookup available. Docs link an OpenAPI schema (not directly fetchable).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1,000 requests/day, all data types",
      "period": "day",
      "source_url": "https://www.iplocate.io/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <API_KEY> (or ?apikey=<API_KEY>)",
      "source_url": "https://www.iplocate.io/docs/getting-started/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://iplocate.io/api",
    "rate_limits": {
      "summary": "No key: 50/day per IP; free key: 1,000/day; max 100 requests/s per IP; 429 on excess",
      "source_url": "https://www.iplocate.io/docs/getting-started/quota-rate-limits/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "ip-geolocation"
    ],
    "no_auth": false,
    "call": {
      "operation": "look up an IP address",
      "method": "GET",
      "url": "https://iplocate.io/api/lookup/{ip}",
      "example": "curl https://iplocate.io/api/lookup/8.8.8.8 -H \"X-API-Key: $IPLOCATE_API_KEY\"",
      "response_fields": [
        "country_code",
        "city",
        "latitude",
        "longitude",
        "asn",
        "privacy.is_vpn"
      ],
      "async": null,
      "source_url": "https://www.iplocate.io/docs",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://iplocate.io/api",
        "probes": 1,
        "up": 1,
        "median_ms": 446,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "locationiq",
    "name": "LocationIQ",
    "category": "maps-geo-weather",
    "homepage": "https://locationiq.com",
    "docs": "https://docs.locationiq.com/reference/search",
    "auth": "api_key",
    "auth_hint": "key query parameter with an API access token (pk. prefix)",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "remote_url": null,
      "repo": null,
      "tools": null,
      "covers_full_api": null,
      "source_url": null,
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free: 5,000 requests/day, 2 requests/s, 60 requests/min, no card; commercial use requires a link back to LocationIQ",
    "sdk": [],
    "openapi": "https://docs.locationiq.com/openapi.yaml",
    "llms_txt": "https://docs.locationiq.com/llms.txt",
    "desc_en": "Geocode and reverse-geocode addresses, find nearby places, look up time zones, calculate routes and render map tiles via REST API.",
    "notes": "Free plan allows commercial use only with a prominent link to LocationIQ; free accounts may cache responses for up to 48 hours. No official SDKs (community libraries only). US (us1) and EU (eu1) endpoints.",
    "verified": "2026-09-24",
    "operations": [
      "street-geocoding",
      "reverse-geocoding",
      "places-search",
      "routing",
      "timezone-lookup"
    ],
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "5,000 requests/day, 2 requests/s, 60 requests/min",
      "period": "day",
      "source_url": "https://locationiq.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "scheme": null,
      "format": "https://us1.locationiq.com/v1/search?q=<QUERY>&format=json&key=<ACCESS_TOKEN>",
      "source_url": "https://docs.locationiq.com/openapi.yaml",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://us1.locationiq.com/v1",
    "rate_limits": {
      "summary": "Free: 5,000/day, 2 requests/s, 60/min; paid plans 15-40 requests/s",
      "source_url": "https://locationiq.com/pricing",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": null,
    "async_jobs": null,
    "data_policy": null,
    "no_auth": false,
    "call": {
      "operation": "geocode an address",
      "method": "GET",
      "url": "https://us1.locationiq.com/v1/search?key={ACCESS_TOKEN}&q={query}&format=json",
      "example": "curl \"https://us1.locationiq.com/v1/search?key=$LOCATIONIQ_TOKEN&q=Empire+State+Building&format=json\"",
      "response_fields": [
        "[0].lat",
        "[0].lon",
        "[0].display_name",
        "[0].place_id"
      ],
      "async": null,
      "source_url": "https://docs.locationiq.com/reference/search",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://us1.locationiq.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 431,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      }
    }
  },
  {
    "id": "mapbox",
    "name": "Mapbox",
    "category": "maps-geo-weather",
    "homepage": "https://www.mapbox.com",
    "docs": "https://docs.mapbox.com/api/",
    "auth": "api_key",
    "auth_hint": "access_token query param or Bearer token",
    "mcp": {
      "type": "official",
      "url": "https://mcp.mapbox.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.mapbox.com/mcp",
      "repo": "https://github.com/mapbox/mcp-server",
      "tools": [
        "directions_tool",
        "search_and_geocode_tool",
        "isochrone_tool",
        "matrix_tool",
        "optimization_tool",
        "map_matching_tool",
        "static_map_image_tool",
        "place_details_tool",
        "distance_tool"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/mapbox/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.mapbox.com/mcp",
        "headers": {
          "Authorization": "Bearer $MAPBOX_ACCESS_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://github.com/mapbox/mcp-server/blob/main/docs/hosted-mcp-guide.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: monthly free quotas per API (e.g. 50,000 map loads/month)",
    "sdk": [
      "javascript",
      "swift",
      "android"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Geocode, route, and render maps/POI search via REST APIs, SDKs, or an official MCP server.",
    "notes": "A separate official Mapbox Docs MCP server also exists for documentation Q&A.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "e.g. 50,000 GL JS map loads, 100,000 Geocoding and 100,000 Directions requests per month",
      "period": "month",
      "source_url": "https://www.mapbox.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "access_token",
      "format": "https://api.mapbox.com/...?access_token=<ACCESS_TOKEN>",
      "source_url": "https://docs.mapbox.com/api/overview/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mapbox.com",
    "rate_limits": {
      "summary": "Per-token per-API: e.g. Geocoding 600/min, Directions 300/min, Static Images 1,250/min; 429 on excess",
      "source_url": "https://docs.mapbox.com/api/overview/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "street-geocoding",
      "routing",
      "map-tiles",
      "places-search"
    ],
    "no_auth": false,
    "call": {
      "operation": "forward geocode a street address (Geocoding API v6)",
      "method": "GET",
      "url": "https://api.mapbox.com/search/geocode/v6/forward?q={address}&access_token={ACCESS_TOKEN}",
      "example": "curl \"https://api.mapbox.com/search/geocode/v6/forward?q=1600%20Pennsylvania%20Avenue%20NW%2C%20Washington%20DC&access_token=$MAPBOX_ACCESS_TOKEN\"",
      "response_fields": [
        "features[0].geometry.coordinates",
        "features[0].properties.full_address",
        "features[0].properties.coordinates.accuracy"
      ],
      "async": null,
      "source_url": "https://docs.mapbox.com/api/search/geocoding/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Geocoding API (temporary): first 100,000 requests/month free, then $0.75 per 1,000 requests for 100,001-500,000",
      "source_url": "https://www.mapbox.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "mapbox/mcp-server",
        "stars": 356,
        "forks": 44,
        "pushed_at": "2026-09-24",
        "archived": false,
        "url": "https://github.com/mapbox/mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "smithery",
        "uses": 0,
        "url": "https://smithery.ai/servers/mapbox",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mapbox.com",
        "probes": 1,
        "up": 1,
        "median_ms": 317,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.mapbox.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 372,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "national-weather-service-api-nws",
    "name": "National Weather Service API (NWS)",
    "category": "maps-geo-weather",
    "homepage": "https://www.weather.gov/documentation/services-web-api",
    "docs": "https://www.weather.gov/documentation/services-web-api",
    "auth": "none",
    "auth_hint": "none, but requires a descriptive User-Agent header",
    "mcp": {
      "type": "community",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/LeandroBerlin/Weather-MCP-Server",
      "tools": [
        "get-alerts",
        "get-forecast"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/LeandroBerlin/Weather-MCP-Server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/PATH/TO/Weather-MCP-Server/build/index.js"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/LeandroBerlin/Weather-MCP-Server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key, no rate-limit tier (fair-use)",
    "sdk": [],
    "openapi": "https://api.weather.gov/openapi.json",
    "llms_txt": null,
    "desc_en": "Fetch official US government weather forecasts, alerts, and observations via a free public REST API.",
    "notes": "US-only coverage; no API key needed, just a valid User-Agent identifying your app. Missing from candidate list despite being a very commonly used free weather API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "source_url": "https://www.weather.gov/documentation/services-web-api",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No key; send User-Agent: (myweatherapp.com, contact@myweatherapp.com)",
      "source_url": "https://www.weather.gov/documentation/services-web-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.weather.gov",
    "rate_limits": {
      "summary": "Undisclosed generous limit; on excess retry after ~5 s",
      "source_url": "https://www.weather.gov/documentation/services-web-api",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "weather-forecast"
    ],
    "no_auth": true,
    "call": {
      "operation": "get the 7-day forecast for a grid point (find office/gridX/gridY via GET /points/{lat},{lon} -> properties.forecast)",
      "method": "GET",
      "url": "https://api.weather.gov/gridpoints/{office}/{gridX},{gridY}/forecast",
      "example": "curl -H \"User-Agent: (myweatherapp.com, contact@myweatherapp.com)\" https://api.weather.gov/gridpoints/TOP/31,80/forecast",
      "response_fields": [
        "properties.periods[].name",
        "properties.periods[].temperature",
        "properties.periods[].shortForecast",
        "properties.periods[].detailedForecast"
      ],
      "async": null,
      "source_url": "https://www.weather.gov/documentation/services-web-api",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.weather.gov",
        "probes": 1,
        "up": 1,
        "median_ms": 520,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "open-meteo",
    "name": "Open-Meteo",
    "category": "maps-geo-weather",
    "homepage": "https://open-meteo.com",
    "docs": "https://open-meteo.com/en/docs",
    "auth": "none",
    "auth_hint": "none for non-commercial use; API key + 'customer-' host prefix for commercial tier",
    "mcp": {
      "type": "community",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/cmer81/open-meteo-mcp",
      "tools": [
        "weather_forecast",
        "weather_archive",
        "air_quality",
        "marine_weather",
        "elevation",
        "geocoding",
        "flood_forecast",
        "seasonal_forecast",
        "climate_projection",
        "ensemble_forecast"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/cmer81/open-meteo-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "-p",
          "open-meteo-mcp-server",
          "open-meteo-mcp-server"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/cmer81/open-meteo-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key needed for non-commercial use: 10,000 calls/day, 300,000/month (also 600/min, 5,000/hour)",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch weather forecasts, historical weather, and climate data worldwide via a free open REST API, no key required.",
    "notes": "Commercial use requires an API key and the 'customer-api.open-meteo.com' host.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "Non-commercial: 600/min, 5,000/hour, 10,000/day, 300,000/month",
      "period": "day",
      "source_url": "https://open-meteo.com/en/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No key for free non-commercial use; commercial: customer-api.open-meteo.com with &apikey=<API_KEY>",
      "source_url": "https://open-meteo.com/en/docs",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.open-meteo.com/v1",
    "rate_limits": {
      "summary": "Free: 600 calls/min, 5,000/hour, 10,000/day, 300,000/month; paid plans unlimited rate",
      "source_url": "https://open-meteo.com/en/pricing",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Free API logs IP addresses for maintenance/abuse prevention only, not linked to identities; server logs deleted after 90 days",
      "source_url": "https://open-meteo.com/en/terms",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "weather-forecast",
      "air-quality",
      "street-geocoding"
    ],
    "no_auth": true,
    "call": {
      "operation": "get an hourly temperature forecast for a location",
      "method": "GET",
      "url": "https://api.open-meteo.com/v1/forecast?latitude={lat}&longitude={lon}&hourly=temperature_2m",
      "example": "curl \"https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m\"",
      "response_fields": [
        "hourly.time",
        "hourly.temperature_2m",
        "hourly_units.temperature_2m",
        "latitude",
        "longitude",
        "timezone"
      ],
      "async": null,
      "source_url": "https://open-meteo.com/en/docs",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Free, no key, for non-commercial use (300,000 calls/month); commercial plans are fixed monthly with no per-call price",
      "source_url": "https://open-meteo.com/en/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.open-meteo.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 765,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "opencage",
    "name": "OpenCage Geocoding API",
    "category": "maps-geo-weather",
    "homepage": "https://opencagedata.com",
    "docs": "https://opencagedata.com/api",
    "auth": "api_key",
    "auth_hint": "key query parameter (no header auth)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/OpenCageData/opencage-geocoding-mcp",
      "maintainer": "vendor",
      "remote_url": null,
      "repo": "https://github.com/OpenCageData/opencage-geocoding-mcp",
      "tools": [
        "geocode-forward",
        "geocode-reverse",
        "get-opencage-info"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/OpenCageData/opencage-geocoding-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "Free: 2,500 requests/day, 1 request/s, no card (for testing; production needs a paid plan from €45/month)",
    "sdk": [
      "java",
      "php",
      "ruby",
      "scala",
      "matlab"
    ],
    "openapi": null,
    "llms_txt": "https://opencagedata.com/llms.txt",
    "desc_en": "Convert addresses and place names to coordinates, and coordinates to addresses, worldwide via REST API.",
    "notes": "Free trial is meant for testing only; inactive trial accounts are deleted after 3 months. Results may be cached indefinitely. Data comes from OpenStreetMap and other open sources, so attribute OSM. Use no_record=1 to stop query logging.",
    "verified": "2026-09-24",
    "operations": [
      "street-geocoding",
      "reverse-geocoding"
    ],
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "2,500 requests/day, 1 request/s (testing use)",
      "period": "day",
      "source_url": "https://opencagedata.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "key",
      "scheme": null,
      "format": "https://api.opencagedata.com/geocode/v1/json?q=<QUERY>&key=<API_KEY>",
      "source_url": "https://opencagedata.com/api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.opencagedata.com/geocode/v1",
    "rate_limits": {
      "summary": "Free trial: 1 request/s and 2,500/day (402 when quota used, 429 when too fast); paid plans 15-40 requests/s",
      "source_url": "https://opencagedata.com/api",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": null,
    "async_jobs": null,
    "data_policy": {
      "summary": "Queries logged and deleted after 6 months; never used to train AI; no_record parameter disables query logging",
      "source_url": "https://opencagedata.com/gdpr",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "forward geocode a street address",
      "method": "GET",
      "url": "https://api.opencagedata.com/geocode/v1/json?q={address}&key={key}",
      "example": "curl -G https://api.opencagedata.com/geocode/v1/json --data-urlencode \"q=Rua Cafelandia, Carapicuiba, Brasil\" --data-urlencode \"key=$OPENCAGE_API_KEY\"",
      "response_fields": [
        "results[0].geometry.lat",
        "results[0].geometry.lng",
        "results[0].formatted",
        "results[0].confidence",
        "status.code",
        "rate.remaining"
      ],
      "async": null,
      "source_url": "https://opencagedata.com/api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Subscription X-Small: $50/mo (EUR 45) for 10,000 requests/day, about $0.17 per 1,000 requests; cheaper per request on larger plans",
      "source_url": "https://opencagedata.com/pricing?currency=USD",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.opencagedata.com/geocode/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 547,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 400
        }
      }
    }
  },
  {
    "id": "openrouteservice",
    "name": "OpenRouteService",
    "category": "maps-geo-weather",
    "homepage": "https://openrouteservice.org",
    "docs": "https://openrouteservice.org/dev/#/api-docs",
    "auth": "api_key",
    "auth_hint": "Authorization header with API key",
    "mcp": {
      "type": "community",
      "url": null,
      "maintainer": "community",
      "repo": "https://github.com/vemonet/openroute-mcp",
      "covers_full_api": false,
      "source_url": "https://github.com/vemonet/openroute-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "openroute-mcp"
        ],
        "env": [
          "OPENROUTESERVICE_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/vemonet/openroute-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: ~2,000 requests/day (varies by endpoint), signup required",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Calculate routes, isochrones, distance matrices, and geocoding over OpenStreetMap data via a free REST API.",
    "notes": "Rate limits vary per endpoint (directions vs isochrones vs matrix); self-hosting also possible. api.openrouteservice.org is deprecated for api.heigit.org (10% quota since 2026-08-27, shut off 2026-09-28); keys at account.heigit.org.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "period": "day",
      "source_url": "https://openrouteservice.org/faq/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: <API_KEY>",
      "source_url": "https://ask.openrouteservice.org/t/reducing-the-quota-of-deprecated-api-api-openrouteservice-org/8013",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.heigit.org/openrouteservice",
    "rate_limits": {
      "summary": "Per-endpoint daily quotas reset every 24 h; legacy api.openrouteservice.org limited to 10% of quota from 2026-08-27",
      "source_url": "https://ask.openrouteservice.org/t/reducing-the-quota-of-deprecated-api-api-openrouteservice-org/8013",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "routing",
      "street-geocoding"
    ],
    "no_auth": false,
    "call": {
      "operation": "calculate a route between coordinates",
      "method": "POST",
      "url": "https://api.heigit.org/openrouteservice/v2/directions/{profile}",
      "example": "curl -X POST https://api.heigit.org/openrouteservice/v2/directions/driving-car -H \"Authorization: $ORS_API_KEY\" -H \"Content-Type: application/json\" -d '{\"coordinates\": [[8.681495, 49.41461], [8.687872, 49.420318]]}'",
      "response_fields": [
        "routes[0].summary.distance",
        "routes[0].summary.duration",
        "routes[0].geometry",
        "routes[0].segments[].steps"
      ],
      "source_url": "https://github.com/GIScience/openrouteservice/blob/main/docs/api-reference/endpoints/directions/requests-and-return-types.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.heigit.org/openrouteservice",
        "probes": 1,
        "up": 1,
        "median_ms": 793,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "openstreetmap-nominatim",
    "name": "OpenStreetMap Nominatim",
    "category": "maps-geo-weather",
    "homepage": "https://nominatim.org",
    "docs": "https://nominatim.org/release-docs/latest/api/Overview/",
    "auth": "none",
    "auth_hint": "none, but must send a valid User-Agent/Referer identifying the app",
    "mcp": {
      "type": "community",
      "url": "https://openstreetmap.caseyjhand.com/mcp",
      "maintainer": "community",
      "remote_url": "https://openstreetmap.caseyjhand.com/mcp",
      "repo": "https://github.com/cyanheads/openstreetmap-mcp-server",
      "tools": [
        "openstreetmap_search_places",
        "openstreetmap_reverse_geocode",
        "openstreetmap_lookup_objects",
        "openstreetmap_query_nearby",
        "openstreetmap_query_bbox",
        "openstreetmap_query_raw"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/cyanheads/openstreetmap-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "community",
      "config": {
        "transport": "streamable-http",
        "url": "https://openstreetmap.caseyjhand.com/mcp",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://github.com/cyanheads/openstreetmap-mcp-server#readme",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key needed; public server max 1 request/second, bulk geocoding discouraged (small one-off jobs only, cached), no systematic or autocomplete queries",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Geocode and reverse-geocode addresses from OpenStreetMap data via a free public REST API.",
    "notes": "Public demo instance is fair-use only (1 req/s, bulk discouraged, no systematic queries); self-host or use a commercial provider for production volume. Listed MCP is a community server, also hosted by its author.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "Max 1 request/s on the public server; no bulk or autocomplete use",
      "source_url": "https://operations.osmfoundation.org/policies/nominatim/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No key; send a valid User-Agent or HTTP Referer identifying the application",
      "source_url": "https://operations.osmfoundation.org/policies/nominatim/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://nominatim.openstreetmap.org",
    "rate_limits": {
      "summary": "Absolute max 1 request/s; results must be cached; no autocomplete, no systematic/grid queries",
      "source_url": "https://operations.osmfoundation.org/policies/nominatim/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "street-geocoding",
      "reverse-geocoding"
    ],
    "no_auth": true,
    "call": {
      "operation": "forward geocode a street address",
      "method": "GET",
      "url": "https://nominatim.openstreetmap.org/search?q={address}&format=jsonv2",
      "example": "curl -A \"my-app/1.0 (contact@example.com)\" \"https://nominatim.openstreetmap.org/search?q=135+pilkington+avenue,+birmingham&format=jsonv2\"",
      "response_fields": [
        "[0].lat",
        "[0].lon",
        "[0].display_name",
        "[0].place_id"
      ],
      "async": null,
      "source_url": "https://nominatim.org/release-docs/latest/api/Search/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Free (donated infrastructure), no key; public server limited to max 1 request/second with an identifying User-Agent or Referer; no monthly quota published",
      "source_url": "https://operations.osmfoundation.org/policies/nominatim/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://nominatim.openstreetmap.org",
        "probes": 1,
        "up": 1,
        "median_ms": 314,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "openweathermap-api",
    "name": "OpenWeatherMap API",
    "category": "maps-geo-weather",
    "homepage": "https://openweathermap.org/api",
    "docs": "https://openweathermap.org/api",
    "auth": "api_key",
    "auth_hint": "appid query param",
    "mcp": {
      "type": "official",
      "url": "https://mcp.openweathermap.org/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.openweathermap.org/mcp",
      "tools": [
        "list_products",
        "get_product",
        "sign_up",
        "account_status",
        "get_topup_link",
        "fetch_data"
      ],
      "source_url": "https://mcp.openweathermap.org/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.openweathermap.org/mcp",
        "headers": {
          "Authorization": "Bearer $OPENWEATHER_MCP_DATA_KEY"
        },
        "oauth": false,
        "env": [],
        "docs_only": false,
        "source_url": "https://mcp.openweathermap.org/",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 60 calls/min, 1,000,000 calls/month on current weather/forecast",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch current weather, forecasts, and historical/air-quality data for any location via a REST API.",
    "notes": "One Call API 3.0 is marked deprecated; One Call 4.0 gives the first 1,000 calls/day free, then pay per call.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "60 calls/min, 1,000,000 calls/month (Current, 5-day/3h forecast, Air Pollution, Geocoding, Maps)",
      "period": "month",
      "source_url": "https://openweathermap.org/price",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "appid",
      "format": "https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid=<API_KEY>",
      "source_url": "https://openweathermap.org/current",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.openweathermap.org",
    "rate_limits": {
      "summary": "Free: 60 calls/min, 1,000,000/month; One Call API: first 1,000 calls/day free, then 0.0012 GBP/call",
      "source_url": "https://openweathermap.org/price",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "weather-forecast",
      "air-quality"
    ],
    "no_auth": false,
    "call": {
      "operation": "get current weather for a location",
      "method": "GET",
      "url": "https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API_KEY}",
      "example": "curl \"https://api.openweathermap.org/data/2.5/weather?lat=52.23&lon=21.01&units=metric&appid=$OPENWEATHER_API_KEY\"",
      "response_fields": [
        "main.temp",
        "weather[0].description",
        "main.humidity",
        "wind.speed",
        "name"
      ],
      "async": null,
      "source_url": "https://openweathermap.org/current",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Current Weather: free up to 1,000,000 calls/month (60/min); One Call API: first 1,000 calls/day free, then 0.0012 GBP per call",
      "source_url": "https://openweathermap.org/price",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "robertn702/mcp-openweathermap",
        "stars": 5,
        "forks": 7,
        "pushed_at": "2025-06-20",
        "archived": false,
        "url": "https://github.com/robertn702/mcp-openweathermap",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.openweathermap.org",
        "probes": 1,
        "up": 1,
        "median_ms": 754,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.openweathermap.org/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 644,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "overpass-api-osm",
    "name": "Overpass API (OSM)",
    "category": "maps-geo-weather",
    "homepage": "https://wiki.openstreetmap.org/wiki/Overpass_API",
    "docs": "https://wiki.openstreetmap.org/wiki/Overpass_API",
    "auth": "none",
    "auth_hint": "none",
    "mcp": {
      "type": "community",
      "url": "https://openstreetmap.caseyjhand.com/mcp",
      "maintainer": "community",
      "remote_url": "https://openstreetmap.caseyjhand.com/mcp",
      "repo": "https://github.com/cyanheads/openstreetmap-mcp-server",
      "tools": [
        "openstreetmap_query_nearby",
        "openstreetmap_query_bbox",
        "openstreetmap_query_raw"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/cyanheads/openstreetmap-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "community",
      "config": {
        "transport": "streamable-http",
        "url": "https://openstreetmap.caseyjhand.com/mcp",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/cyanheads/openstreetmap-mcp-server#public-hosted-instance",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free, no key; public instances are fair-use/rate-limited",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Run custom queries (Overpass QL) over OpenStreetMap data - POIs, roads, boundaries - via a public read-only API.",
    "notes": "No official SLA; heavy queries can be throttled or time out on public servers.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "overpass-api.de: under 10,000 queries and under 1 GB download per day",
      "period": "day",
      "source_url": "https://wiki.openstreetmap.org/wiki/Overpass_API",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No key; POST Overpass QL to /api/interpreter with an identifying User-Agent",
      "source_url": "https://wiki.openstreetmap.org/wiki/Overpass_API",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://overpass-api.de/api/interpreter",
    "rate_limits": {
      "summary": "Main instance: <10,000 queries/day and <1 GB/day, no parallel scripts; on 429 wait 30 s",
      "source_url": "https://wiki.openstreetmap.org/wiki/Overpass_API",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "places-search"
    ],
    "no_auth": true,
    "call": {
      "operation": "query OpenStreetMap features with Overpass QL",
      "method": "POST",
      "url": "https://overpass-api.de/api/interpreter",
      "example": "curl -X POST https://overpass-api.de/api/interpreter -A \"my-agent/1.0 (contact@example.com)\" --data-urlencode 'data=[out:json];node[\"amenity\"=\"cafe\"](52.22,21.00,52.23,21.02);out 5;'",
      "response_fields": [
        "elements[].id",
        "elements[].lat",
        "elements[].lon",
        "elements[].tags"
      ],
      "async": null,
      "source_url": "https://wiki.openstreetmap.org/wiki/Overpass_API",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://overpass-api.de/api/interpreter",
        "probes": 1,
        "up": 1,
        "median_ms": 874,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 406
        }
      }
    }
  },
  {
    "id": "tomorrow-io-api",
    "name": "Tomorrow.io API",
    "category": "maps-geo-weather",
    "homepage": "https://www.tomorrow.io/weather-api/",
    "docs": "https://docs.tomorrow.io",
    "auth": "api_key",
    "auth_hint": "apikey query param (REST); MCP takes 'X-Api-Key: <API_KEY>' header",
    "mcp": {
      "type": "official",
      "url": "https://api.tomorrow.io/v4/tomorrow-weather/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.tomorrow.io/v4/tomorrow-weather/mcp",
      "tools": [
        "get_realtime_weather",
        "get_forecast_timeline",
        "get_historical_weather",
        "get_climate_normals",
        "get_weather_events",
        "get_route_weather_events",
        "get_weather_summary",
        "ask_weather_question",
        "query_feed_data",
        "get_feed_last_updated",
        "get_feed_count"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.tomorrow.io/reference/mcp.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.tomorrow.io/v4/tomorrow-weather/mcp",
        "headers": {
          "X-Api-Key": "$TOMORROW_API_KEY"
        },
        "oauth": false,
        "env": [
          "TOMORROW_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://docs.tomorrow.io/reference/mcp.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 500 requests/day, 3 req/sec, 1 monitored location/alert",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Get hyperlocal weather forecasts, historical data, and alerts for any coordinates via REST API or an official MCP server.",
    "notes": "No self-serve tier between Free and Enterprise - scaling past free requires a sales call.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan: 5-day forecast, 24 h history, 1 monitored location, 1 alert",
      "source_url": "https://www.tomorrow.io/weather-api/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "apikey",
      "format": "?apikey=<API_KEY> (or header apikey: <API_KEY>)",
      "source_url": "https://docs.tomorrow.io/reference/api-authentication.md",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.tomorrow.io/v4",
    "rate_limits": {
      "summary": "Per-plan hourly and daily caps per API key; 429 when exceeded",
      "source_url": "https://docs.tomorrow.io/reference/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "weather-forecast"
    ],
    "no_auth": false,
    "call": {
      "operation": "hourly weather forecast for coordinates",
      "method": "GET",
      "url": "https://api.tomorrow.io/v4/weather/forecast?location={lat},{lon}&timesteps=1h&apikey={key}",
      "example": "curl \"https://api.tomorrow.io/v4/weather/forecast?location=52.23,21.01&timesteps=1h&apikey=$TOMORROW_API_KEY\"",
      "response_fields": [
        "timelines.hourly[].time",
        "timelines.hourly[].values.temperature",
        "timelines.hourly[].values.precipitationProbability",
        "location"
      ],
      "async": null,
      "source_url": "https://docs.tomorrow.io/reference/weather-forecast",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.tomorrow.io/v4",
        "probes": 1,
        "up": 1,
        "median_ms": 495,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.tomorrow.io/v4/tomorrow-weather/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 487,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "adyen-api",
    "name": "Adyen API",
    "category": "finance-payments",
    "homepage": "https://docs.adyen.com",
    "docs": "https://docs.adyen.com/api-explorer/",
    "auth": "api_key",
    "auth_hint": "X-API-Key header (or client-key for client-side)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/Adyen/adyen-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/Adyen/adyen-mcp",
      "covers_full_api": false,
      "source_url": "https://docs.adyen.com/development-resources/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@adyen/mcp",
          "--env=TEST"
        ],
        "env": [
          "ADYEN_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/Adyen/adyen-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "paid only; requires a signed merchant contract, pay per-transaction",
    "sdk": [
      "python",
      "node",
      "java",
      "php",
      ".net",
      "go"
    ],
    "openapi": "https://github.com/Adyen/adyen-openapi",
    "llms_txt": null,
    "desc_en": "Process payments, payouts, and manage disputes/balances across global payment methods via REST API.",
    "notes": "Requires an approved Adyen merchant account before API keys are issued; no self-serve free signup like Stripe. Official local MCP server (alpha) covers Checkout and Management APIs.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://www.adyen.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-API-key",
      "format": "x-API-key: <API_KEY>",
      "source_url": "https://docs.adyen.com/development-resources/api-authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://checkout-test.adyen.com/v71",
    "operations": [
      "payments"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "Adyen/adyen-openapi",
        "stars": 79,
        "forks": 60,
        "pushed_at": "2026-09-23",
        "archived": false,
        "url": "https://github.com/Adyen/adyen-openapi",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Adyen/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://checkout-test.adyen.com/v71",
        "probes": 1,
        "up": 1,
        "median_ms": 527,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/adyen-api.json"
  },
  {
    "id": "alpaca-trading-api",
    "name": "Alpaca Trading API",
    "category": "finance-payments",
    "homepage": "https://alpaca.markets",
    "docs": "https://docs.alpaca.markets",
    "auth": "api_key",
    "auth_hint": "APCA-API-KEY-ID + APCA-API-SECRET-KEY headers",
    "mcp": {
      "type": "official",
      "url": "https://github.com/alpacahq/alpaca-mcp-server",
      "maintainer": "vendor",
      "repo": "https://github.com/alpacahq/alpaca-mcp-server",
      "covers_full_api": true,
      "source_url": "https://github.com/alpacahq/alpaca-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "uvx",
        "args": [
          "alpaca-mcp-server"
        ],
        "env": [
          "ALPACA_API_KEY",
          "ALPACA_SECRET_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/alpacahq/alpaca-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free paper trading (unlimited); free basic (IEX) market data feed",
    "sdk": [
      "python",
      "node"
    ],
    "openapi": null,
    "llms_txt": "https://docs.alpaca.markets/us/llms.txt",
    "desc_en": "Place stock/options/crypto trades and stream market data via REST/WebSocket API, with free paper trading.",
    "notes": "Commission-free live trading requires a funded brokerage account (US persons/entities eligibility rules apply).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Paper trading free for all users; Basic market data (IEX) 200 API calls/min",
      "source_url": "https://alpaca.markets/data",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "APCA-API-KEY-ID",
      "format": "APCA-API-KEY-ID: <KEY_ID> + APCA-API-SECRET-KEY: <SECRET_KEY>",
      "source_url": "https://docs.alpaca.markets/docs/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://paper-api.alpaca.markets",
    "rate_limits": {
      "summary": "Free Basic market data plan: 200 API calls/min, websocket limited to 30 symbols",
      "source_url": "https://alpaca.markets/data",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "trade-execution",
      "stock-market-data",
      "crypto-market-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "place a stock order (paper)",
      "method": "POST",
      "url": "https://paper-api.alpaca.markets/v2/orders",
      "example": "curl -X POST https://paper-api.alpaca.markets/v2/orders -H \"APCA-API-KEY-ID: $APCA_API_KEY_ID\" -H \"APCA-API-SECRET-KEY: $APCA_API_SECRET_KEY\" -H \"Content-Type: application/json\" -d '{\"symbol\":\"AAPL\",\"qty\":\"2\",\"side\":\"buy\",\"type\":\"limit\",\"limit_price\":\"150\",\"time_in_force\":\"gtc\"}'",
      "response_fields": [
        "id",
        "status",
        "filled_qty",
        "filled_avg_price"
      ],
      "async": "fills happen later; poll GET https://paper-api.alpaca.markets/v2/orders/{order_id} or stream trade_updates",
      "source_url": "https://docs.alpaca.markets/reference/postorder",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://paper-api.alpaca.markets",
        "probes": 1,
        "up": 1,
        "median_ms": 276,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "alpha-vantage",
    "name": "Alpha Vantage",
    "category": "finance-payments",
    "homepage": "https://www.alphavantage.co",
    "docs": "https://www.alphavantage.co/documentation/",
    "auth": "api_key",
    "auth_hint": "apikey query param",
    "mcp": {
      "type": "official",
      "url": "https://mcp.alphavantage.co/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.alphavantage.co/mcp",
      "repo": "https://github.com/alphavantage/alpha_vantage_mcp",
      "tools": [
        "TIME_SERIES_INTRADAY",
        "TIME_SERIES_DAILY",
        "GLOBAL_QUOTE",
        "SYMBOL_SEARCH",
        "COMPANY_OVERVIEW",
        "NEWS_SENTIMENT",
        "CURRENCY_EXCHANGE_RATE"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/alphavantage/alpha_vantage_mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.alphavantage.co/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://github.com/alphavantage/alpha_vantage_mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 25 requests/day",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch stock, forex, crypto prices and technical/fundamental indicators via a free REST API.",
    "notes": "Free tier is limited to 25 requests/day; paid Premium plans needed for real-time/higher volume. Remote MCP signs in via OAuth; the ?apikey= URL parameter is deprecated.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "25 API requests",
      "period": "day",
      "source_url": "https://www.alphavantage.co/support/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "apikey",
      "format": "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=IBM&apikey=<API_KEY>",
      "source_url": "https://www.alphavantage.co/documentation/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://www.alphavantage.co/query",
    "rate_limits": {
      "summary": "Free tier: 25 requests/day",
      "source_url": "https://www.alphavantage.co/support/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "stock-market-data",
      "currency-exchange",
      "crypto-market-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "get a stock quote",
      "method": "GET",
      "url": "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol={symbol}&apikey={API_KEY}",
      "example": "curl \"https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=IBM&apikey=$ALPHAVANTAGE_API_KEY\"",
      "response_fields": [
        "Global Quote.05. price",
        "Global Quote.07. latest trading day",
        "Global Quote.09. change",
        "Global Quote.10. change percent"
      ],
      "async": null,
      "source_url": "https://www.alphavantage.co/documentation/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://www.alphavantage.co/query",
        "probes": 1,
        "up": 1,
        "median_ms": 262,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://mcp.alphavantage.co/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 302,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "coinbase-cdp-x402",
    "name": "Coinbase (CDP / x402)",
    "category": "finance-payments",
    "homepage": "https://docs.cdp.coinbase.com",
    "docs": "https://docs.cdp.coinbase.com",
    "auth": "api_key",
    "auth_hint": "CDP API Key ID/Secret, JWT-signed bearer requests",
    "mcp": {
      "type": "official",
      "url": "https://github.com/coinbase/payments-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/coinbase/payments-mcp",
      "covers_full_api": false,
      "source_url": "https://docs.cdp.coinbase.com/agentic-wallet/mcp/quickstart.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/Users/your-home-dir/.payments-mcp/bundle.js"
        ],
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/coinbase/payments-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: CDP x402 Facilitator free for 1,000 onchain transactions/month, then $0.001/tx; payment verification always free",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Create wallets, send crypto, and pay per-API-call with stablecoins over HTTP (x402) via the Coinbase Developer Platform SDK.",
    "notes": "x402 is an open HTTP-402 payment protocol Coinbase champions, not a single vendor API. Official local Payments MCP (npx @coinbase/payments-mcp) signs in with an email-based browser wallet, not the CDP API key.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 onchain transactions via CDP x402 Facilitator, then $0.001/tx",
      "period": "month",
      "source_url": "https://docs.cdp.coinbase.com/x402/seller/facilitator",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <JWT signed with CDP Secret API Key> (+ X-Wallet-Auth: <wallet JWT> for wallet writes)",
      "source_url": "https://docs.cdp.coinbase.com/api-reference/v2/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cdp.coinbase.com/platform",
    "operations": [
      "crypto-wallet",
      "payments"
    ],
    "no_auth": false,
    "call": {
      "operation": "create an EVM wallet account",
      "method": "POST",
      "url": "https://api.cdp.coinbase.com/platform/v2/evm/accounts",
      "example": "curl -X POST https://api.cdp.coinbase.com/platform/v2/evm/accounts -H \"Authorization: Bearer $CDP_JWT\" -H \"X-Wallet-Auth: $CDP_WALLET_JWT\" -H \"Content-Type: application/json\" -d '{\"name\":\"my-wallet\"}'",
      "response_fields": [
        "address",
        "name",
        "policies",
        "createdAt"
      ],
      "async": null,
      "source_url": "https://docs.cdp.coinbase.com/api-reference/v2/rest-api/evm-accounts/create-evm-account",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Server Wallet: $0.005 per wallet operation (account creation = 1 op), first 5,000 ops/month free; x402 facilitator: $0.001 per settled tx after 1,000 free/month, verification free",
      "source_url": "https://docs.cdp.coinbase.com/server-wallets/v2/introduction/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.4,
        "reviews": 10,
        "url": "https://sourceforge.net/software/product/Coinbase/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cdp.coinbase.com/platform",
        "probes": 1,
        "up": 1,
        "median_ms": 253,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/coinbase-cdp-x402.json"
  },
  {
    "id": "coingecko-api",
    "name": "CoinGecko API",
    "category": "finance-payments",
    "homepage": "https://www.coingecko.com/en/api",
    "docs": "https://docs.coingecko.com/reference/introduction",
    "auth": "api_key",
    "auth_hint": "x-cg-demo-api-key or x-cg-pro-api-key header; keyless via the free MCP endpoint",
    "mcp": {
      "type": "official",
      "url": "https://mcp.api.coingecko.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.api.coingecko.com/mcp",
      "repo": "https://github.com/coingecko/coingecko-typescript/tree/main/packages/mcp-server",
      "source_url": "https://docs.coingecko.com/reference/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.api.coingecko.com/mcp",
        "headers": null,
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.coingecko.com/reference/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: Demo API plan 10,000 calls/month, 100 calls/min, attribution required; keyless free MCP with shared rate limits",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch live and historical crypto prices, market data, and NFT data via REST API or the official CoinGecko MCP server.",
    "notes": "Free MCP endpoint (mcp.api.coingecko.com) requires no key, just shared rate limits; keyed endpoint mcp.pro-api.coingecko.com/mcp asks for your API key via browser sign-in (OAuth).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "10,000 calls (Demo plan, attribution required)",
      "period": "month",
      "source_url": "https://www.coingecko.com/en/api/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-cg-demo-api-key",
      "format": "x-cg-demo-api-key: <API_KEY> (Pro: x-cg-pro-api-key on pro-api.coingecko.com)",
      "source_url": "https://docs.coingecko.com/v3.0.1/reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.coingecko.com/api/v3",
    "rate_limits": {
      "summary": "Demo plan: 100 calls/min; keyless access is IP-rate-limited and shared",
      "source_url": "https://docs.coingecko.com/docs/common-errors-rate-limit",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crypto-market-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "get current coin price",
      "method": "GET",
      "url": "https://api.coingecko.com/api/v3/simple/price?ids={ids}&vs_currencies={currencies}",
      "example": "curl 'https://api.coingecko.com/api/v3/simple/price?vs_currencies=usd&ids=bitcoin' -H \"x-cg-demo-api-key: $COINGECKO_API_KEY\"",
      "response_fields": [
        "bitcoin.usd"
      ],
      "async": null,
      "source_url": "https://docs.coingecko.com/v3.0.1/reference/simple-price",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 request = 1 call credit; paid plans from $35/mo for 100k credits; overage $0.0005 per call",
      "source_url": "https://www.coingecko.com/en/api/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/CoinGecko/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.coingecko.com/api/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 295,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.api.coingecko.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 785,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/coingecko-api.json"
  },
  {
    "id": "coinmarketcap-api",
    "name": "CoinMarketCap API",
    "category": "finance-payments",
    "homepage": "https://coinmarketcap.com/api/",
    "docs": "https://coinmarketcap.com/api/documentation/v1/",
    "auth": "api_key",
    "auth_hint": "Header X-CMC_PRO_API_KEY: <API_KEY> (keyless public API under https://pro-api.coinmarketcap.com/public-api/... needs no key; MCP uses header X-CMC-MCP-API-KEY)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.coinmarketcap.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.coinmarketcap.com/mcp",
      "covers_full_api": false,
      "source_url": "https://coinmarketcap.com/api/documentation/ai-agent-hub/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.coinmarketcap.com/mcp",
        "headers": {
          "X-CMC-MCP-API-KEY": "$CMC_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://coinmarketcap.com/api/documentation/ai-agent-hub/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free Basic plan: 15,000 credits/month, 50 requests/min, 1 API key, commercial use allowed; plus a keyless public API with lower rate limits",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://coinmarketcap.com/api/documentation/llms.txt",
    "desc_en": "Lets an agent fetch live and historical cryptocurrency prices, market caps, listings, exchange and DEX data, and indices like Fear & Greed.",
    "notes": "Basic plan covers core endpoints only (many historical endpoints are paid). Remote MCP over streamable HTTP; also x402 pay-per-request endpoints.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "15,000 credits (Basic plan)",
      "period": "month",
      "source_url": "https://coinmarketcap.com/api/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-CMC_PRO_API_KEY",
      "format": "X-CMC_PRO_API_KEY: <API_KEY>",
      "source_url": "https://coinmarketcap.com/api/documentation/guides/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://pro-api.coinmarketcap.com",
    "rate_limits": {
      "summary": "Basic (free) plan: 50 requests/min, 15,000 credits/month",
      "source_url": "https://coinmarketcap.com/api/pricing/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crypto-market-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "get latest price quotes for coins",
      "method": "GET",
      "url": "https://pro-api.coinmarketcap.com/v3/cryptocurrency/quotes/latest?id={ids}&convert=USD",
      "example": "curl -G https://pro-api.coinmarketcap.com/v3/cryptocurrency/quotes/latest --data-urlencode 'id=1,1027' --data-urlencode 'convert=USD' -H 'Accept: application/json' -H \"X-CMC_PRO_API_KEY: $CMC_API_KEY\"",
      "response_fields": [
        "data[].symbol",
        "data[].quote.USD.price",
        "data[].quote.USD.market_cap",
        "status.credit_count"
      ],
      "async": null,
      "source_url": "https://coinmarketcap.com/api/documentation/guides/get-latest-crypto-prices.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "x402 pay-per-request: $0.01 USDC per API request (no key needed)",
      "source_url": "https://coinmarketcap.com/api/documentation/ai-agent-hub/x402.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://pro-api.coinmarketcap.com",
        "probes": 1,
        "up": 1,
        "median_ms": 216,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.coinmarketcap.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 233,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "dexpaprika",
    "name": "DexPaprika DEX API",
    "category": "finance-payments",
    "homepage": "https://dexpaprika.com/",
    "docs": "https://docs.dexpaprika.com/api-reference/introduction",
    "auth": "none",
    "auth_hint": "No key needed on https://api.dexpaprika.com; optional free key sent as the whole header value: Authorization: <API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.dexpaprika.com/streamable-http",
      "maintainer": "vendor",
      "remote_url": "https://mcp.dexpaprika.com/streamable-http",
      "repo": "https://github.com/coinpaprika/dexpaprika-mcp",
      "tools": [
        "getCapabilities",
        "getNetworks",
        "getStats",
        "search",
        "getNetworkDexes",
        "getNetworkPools",
        "getDexPools",
        "getNetworkPoolsFilter",
        "getPoolDetails",
        "getPoolOHLCV",
        "getPoolTransactions",
        "getTokenDetails",
        "getTokenPools",
        "getTokenMultiPrices",
        "getTopTokens",
        "filterNetworkTokens"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/coinpaprika/dexpaprika-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.dexpaprika.com/streamable-http",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/coinpaprika/dexpaprika-mcp#hosted-server-no-installation",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "No key; 30,000 credits per rolling 30 days per IP at 15 requests/min. Free registered key: 100,000 credits/30 days at 30 requests/min, no card",
    "sdk": [
      "javascript",
      "python",
      "go",
      "php"
    ],
    "openapi": "https://mcp.dexpaprika.com/openapi",
    "llms_txt": "https://docs.dexpaprika.com/llms.txt",
    "desc_en": "Lets an agent query on-chain DEX data across 36 blockchains: liquidity pools, swaps, token prices, OHLCV history and live price streams.",
    "notes": "Keyless hosted MCP (also SSE at https://mcp.dexpaprika.com/sse). Batch endpoints cost 1 credit per item; HTTP 402 when the monthly allowance runs out.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "no_key",
      "requires_card": false,
      "quota": "No key needed; free API key gives 100K credits/month at 30 requests/min",
      "period": "month",
      "source_url": "https://dexpaprika.com/api/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "none",
      "format": "No auth required; optional key as full header value: Authorization: api_YOUR_KEY",
      "source_url": "https://docs.dexpaprika.com/api-reference/introduction",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.dexpaprika.com",
    "rate_limits": {
      "summary": "Free key: 100K credits/month, 30 requests/min; 1 request = 1 credit (batch = 1 credit per item)",
      "source_url": "https://dexpaprika.com/api/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "crypto-market-data"
    ],
    "no_auth": true,
    "call": {
      "operation": "get a token's latest price and metrics",
      "method": "GET",
      "url": "https://api.dexpaprika.com/networks/{network}/tokens/{token_address}",
      "example": "curl \"https://api.dexpaprika.com/networks/solana/tokens/JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN\"",
      "response_fields": [
        "name",
        "symbol",
        "summary.price_usd",
        "summary.liquidity_usd",
        "last_updated"
      ],
      "async": null,
      "source_url": "https://docs.dexpaprika.com/api-reference/tokens/get-a-tokens-latest-data-on-a-network",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per request (batch endpoints 1 per item); Dev 500k / Pro 5M credits per month included, then $20 per additional 1M credits; free: 30k credits per 30 days without key",
      "source_url": "https://docs.dexpaprika.com/knowledge-base/credit-usage",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.dexpaprika.com",
        "probes": 1,
        "up": 1,
        "median_ms": 200,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 402
        }
      },
      "mcp_remote": {
        "url": "https://mcp.dexpaprika.com/streamable-http",
        "probes": 1,
        "up": 1,
        "median_ms": 801,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "financial-modeling-prep",
    "name": "Financial Modeling Prep",
    "category": "finance-payments",
    "homepage": "https://site.financialmodelingprep.com",
    "docs": "https://site.financialmodelingprep.com/developer/docs",
    "auth": "api_key",
    "auth_hint": "apikey query param",
    "mcp": {
      "type": "official",
      "url": "https://financialmodelingprep.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://financialmodelingprep.com/mcp?apikey=<API_KEY>",
      "covers_full_api": true,
      "source_url": "https://site.financialmodelingprep.com/developer/docs/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://financialmodelingprep.com/mcp?apikey=$FMP_API_KEY",
        "headers": null,
        "oauth": false,
        "env": [
          "FMP_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://site.financialmodelingprep.com/developer/docs/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 250 requests/day (limited endpoints)",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch company financials, stock prices, and fundamental data via a REST API.",
    "notes": "Many endpoints (full financial statements, etc.) require a paid plan. Official hosted MCP takes the key as ?apikey=<API_KEY>.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "250 calls/day, end-of-day data, 500MB trailing-30-day bandwidth (Basic plan)",
      "period": "day",
      "source_url": "https://site.financialmodelingprep.com/pricing-plans",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "apikey",
      "format": "https://financialmodelingprep.com/stable/search-symbol?query=AAPL&apikey=<API_KEY> (or header apikey: <API_KEY>)",
      "source_url": "https://site.financialmodelingprep.com/developer/docs",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://financialmodelingprep.com/stable",
    "rate_limits": {
      "summary": "Free Basic plan: 250 calls/day; 500MB bandwidth per trailing 30 days",
      "source_url": "https://site.financialmodelingprep.com/pricing-plans",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "stock-market-data"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 3.6,
        "reviews": 13,
        "url": "https://sourceforge.net/software/product/Financial-Modeling-Prep/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://financialmodelingprep.com/stable",
        "probes": 1,
        "up": 1,
        "median_ms": 215,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/financial-modeling-prep.json"
  },
  {
    "id": "mercado-pago-api",
    "name": "Mercado Pago API",
    "category": "finance-payments",
    "homepage": "https://www.mercadopago.com/developers",
    "docs": "https://www.mercadopago.com/developers/en/reference",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <ACCESS_TOKEN> (test or production access token from Your integrations; OAuth for acting on behalf of sellers)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.mercadopago.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.mercadopago.com/mcp",
      "repo": "https://github.com/mercadolibre/mercadopago-mcp-server",
      "tools": [
        "search-documentation",
        "quality_checklist",
        "quality_evaluation",
        "save_webhook",
        "notifications_history_diagnostics",
        "create_test_user",
        "add_money_test_user",
        "get_credentials",
        "create_application",
        "application_list"
      ],
      "covers_full_api": false,
      "source_url": "https://www.mercadopago.com.br/developers/en/docs/mcp-server/tools.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.mercadopago.com/mcp",
        "headers": {
          "Authorization": "Bearer $MERCADOPAGO_ACCESS_TOKEN"
        },
        "docs_only": false,
        "source_url": "https://github.com/mercadolibre/mercadopago-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free to integrate: no API or monthly fees, only per-transaction commissions; free test credentials and test users for sandbox payments",
    "sdk": [
      "javascript",
      "python",
      "java",
      "php",
      "ruby",
      "dotnet",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent create checkout preferences, payments, refunds and subscriptions and look up transactions in Latin America's Mercado Pago.",
    "notes": "Available in Latin American countries (AR, BR, MX, CL, CO, PE, UY); live payments need a verified Mercado Pago account. Remote MCP uses OAuth and focuses on docs search, app/credential management, webhooks, test users and integration quality.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Test credentials usable immediately after creating an application (sandbox); production billed per transaction",
      "source_url": "https://www.mercadopago.com.ar/developers/en/docs/your-integrations/credentials",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://www.mercadopago.com.ar/developers/en/reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mercadopago.com",
    "operations": [
      "payments"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a Checkout Pro payment preference",
      "method": "POST",
      "url": "https://api.mercadopago.com/checkout/preferences",
      "example": "curl -X POST https://api.mercadopago.com/checkout/preferences -H \"Content-Type: application/json\" -H \"Authorization: Bearer $MP_ACCESS_TOKEN\" -d '{\"items\": [{\"title\": \"Dummy Title\", \"quantity\": 1, \"currency_id\": \"ARS\", \"unit_price\": 24.5}]}'",
      "response_fields": [
        "id",
        "init_point",
        "sandbox_init_point"
      ],
      "source_url": "https://www.mercadopago.com/developers/en/reference/online-payments/checkout-pro-preferences/create-preference/post",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mercadopago.com",
        "probes": 1,
        "up": 1,
        "median_ms": 225,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.mercadopago.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 287,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "open-exchange-rates",
    "name": "Open Exchange Rates",
    "category": "finance-payments",
    "homepage": "https://openexchangerates.org",
    "docs": "https://docs.openexchangerates.org",
    "auth": "api_key",
    "auth_hint": "app_id query param",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: 1,000 requests/month, USD base only, hourly updates",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Fetch current and historical foreign-exchange rates for 200+ currencies via a REST API.",
    "notes": "Free plan is restricted to USD as the base currency; multi-base conversion requires a paid plan.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 requests/month, hourly updates, USD base only",
      "period": "month",
      "source_url": "https://openexchangerates.org/signup",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "app_id",
      "format": "?app_id=<APP_ID> (or header Authorization: Token <APP_ID>)",
      "source_url": "https://docs.openexchangerates.org/reference/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://openexchangerates.org/api",
    "rate_limits": {
      "summary": "Free plan capped at 1,000 requests/month",
      "source_url": "https://openexchangerates.org/signup",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "currency-exchange"
    ],
    "no_auth": false,
    "call": {
      "operation": "get the latest exchange rates",
      "method": "GET",
      "url": "https://openexchangerates.org/api/latest.json?app_id={APP_ID}",
      "example": "curl \"https://openexchangerates.org/api/latest.json?app_id=$OXR_APP_ID&symbols=EUR,GBP,PLN\"",
      "response_fields": [
        "base",
        "timestamp",
        "rates"
      ],
      "async": null,
      "source_url": "https://docs.openexchangerates.org/reference/latest-json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://openexchangerates.org/api",
        "probes": 1,
        "up": 1,
        "median_ms": 360,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 405
        }
      }
    }
  },
  {
    "id": "paypal-api",
    "name": "PayPal API",
    "category": "finance-payments",
    "homepage": "https://developer.paypal.com",
    "docs": "https://developer.paypal.com/api/rest/",
    "auth": "api_key+oauth2",
    "auth_hint": "OAuth2 client-credentials Bearer token; MCP also supports an access-token env var",
    "mcp": {
      "type": "official",
      "url": "https://mcp.paypal.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.paypal.com/mcp",
      "repo": "https://github.com/paypal/agent-toolkit",
      "tools": [
        "create_product",
        "list_product",
        "show_product_details",
        "list_disputes",
        "get_dispute",
        "accept_dispute_claim",
        "create_invoice",
        "list_invoices",
        "get_invoice",
        "send_invoice",
        "send_invoice_reminder",
        "cancel_sent_invoice",
        "generate_invoice_qr_code",
        "create_order",
        "create_refund",
        "get_order",
        "get_refund",
        "pay_order",
        "get_merchant_insights",
        "list_transaction",
        "create_shipment_tracking",
        "get_shipment_tracking",
        "update_shipment_tracking",
        "cancel_subscription",
        "create_subscription",
        "create_subscription_plan",
        "list_subscription_plans",
        "show_subscription_details",
        "show_subscription_plan_details",
        "update_subscription"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.paypal.ai/developer/tools/ai/mcp-quickstart",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "sse",
        "url": "https://mcp.paypal.com/sse",
        "headers": {
          "Authorization": "Bearer $PAYPAL_ACCESS_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.paypal.ai/developer/tools/ai/mcp-quickstart",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free to integrate; pay per-transaction fees only; sandbox for testing",
    "sdk": [
      "python",
      "node",
      "java",
      "php",
      ".net"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Process payments, payouts, invoices, and subscriptions via REST API or PayPal's official MCP server.",
    "notes": "Remote MCP: https://mcp.paypal.com/mcp (Streamable HTTP, OAuth login) or /sse; docs still list /http, which returns 404. Sandbox MCP at https://mcp.sandbox.paypal.com for testing.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Sandbox test environment with virtual accounts; live usage billed per transaction",
      "source_url": "https://developer.paypal.com/tools/sandbox/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "POST /v1/oauth2/token (client_credentials, client_id:secret) then Authorization: Bearer <ACCESS_TOKEN>",
      "source_url": "https://developer.paypal.com/api/rest/authentication/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api-m.paypal.com",
    "rate_limits": {
      "summary": "No published limits; abusive traffic gets HTTP 429 RATE_LIMIT_REACHED; cache OAuth tokens, prefer webhooks over polling",
      "source_url": "https://developer.paypal.com/api/rest/reference/rate-limiting/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "payments",
      "invoicing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a checkout order (access token from POST /v1/oauth2/token)",
      "method": "POST",
      "url": "https://api-m.sandbox.paypal.com/v2/checkout/orders",
      "example": "curl -X POST https://api-m.sandbox.paypal.com/v2/checkout/orders -H \"Content-Type: application/json\" -H \"Authorization: Bearer $PAYPAL_ACCESS_TOKEN\" -d '{\"intent\":\"CAPTURE\",\"purchase_units\":[{\"amount\":{\"currency_code\":\"USD\",\"value\":\"100.00\"}}]}'",
      "response_fields": [
        "id",
        "status",
        "links[rel=payer-action].href"
      ],
      "async": "buyer approves at the payer-action link; then POST /v2/checkout/orders/{id}/capture",
      "source_url": "https://developer.paypal.com/api/rest/integration/orders-api/api-use-cases/standard",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "US domestic PayPal Checkout: 3.49% + $0.49 per transaction (standard card payments 2.99% + $0.49)",
      "source_url": "https://www.paypal.com/us/business/paypal-business-fees",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 0,
        "url": "https://smithery.ai/servers/paypal",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.3,
        "reviews": 22,
        "url": "https://sourceforge.net/software/product/PayPal/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api-m.paypal.com",
        "probes": 1,
        "up": 1,
        "median_ms": 128,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://mcp.paypal.com/http",
        "probes": 1,
        "up": 1,
        "median_ms": 165,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/paypal-api.json"
  },
  {
    "id": "plaid-api",
    "name": "Plaid API",
    "category": "finance-payments",
    "homepage": "https://plaid.com/docs/",
    "docs": "https://plaid.com/docs/api/",
    "auth": "api_key",
    "auth_hint": "PLAID-CLIENT-ID + PLAID-SECRET headers",
    "mcp": {
      "type": "official",
      "url": "https://api.dashboard.plaid.com/mcp/",
      "maintainer": "vendor",
      "remote_url": "https://api.dashboard.plaid.com/mcp/",
      "repo": "https://github.com/plaid/ai-coding-toolkit",
      "tools": [
        "plaid_debug_item",
        "plaid_get_link_analytics",
        "plaid_get_tools_introduction",
        "plaid_get_usages",
        "plaid_list_teams"
      ],
      "covers_full_api": false,
      "source_url": "https://plaid.com/docs/resources/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.dashboard.plaid.com/mcp/",
        "headers": {
          "Authorization": "Bearer $PLAID_DASHBOARD_TOKEN"
        },
        "oauth": false,
        "source_url": "https://plaid.com/docs/resources/mcp/",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: Sandbox always free; new US/Canada teams (since 2026-04-15) get a free Trial plan with up to 10 Production Items one-time; then pay-as-you-go",
    "sdk": [
      "python",
      "node",
      "java",
      "go",
      "ruby"
    ],
    "openapi": "https://github.com/plaid/plaid-openapi",
    "llms_txt": null,
    "desc_en": "Link bank accounts and fetch balances, transactions, and identity data via REST API/SDKs.",
    "notes": "Dashboard MCP (OAuth client_credentials, scope mcp:dashboard) needs Production access; a local Sandbox MCP is in plaid/ai-coding-toolkit. Production requires a Plaid approval/compliance review.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "Free Sandbox; Trial plan (new US/Canada teams since 2026-04-15): 10 Production Items, unlimited calls on them",
      "period": "one_time",
      "source_url": "https://plaid.com/docs/account/billing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "PLAID-CLIENT-ID",
      "format": "PLAID-CLIENT-ID: <CLIENT_ID> and PLAID-SECRET: <SECRET> (or client_id/secret in JSON body)",
      "source_url": "https://plaid.com/docs/api/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://production.plaid.com",
    "rate_limits": {
      "summary": "Per-Item and per-client limits per endpoint, e.g. /accounts/get 15/min per Item, 15,000/min per client; HTTP 429 RATE_LIMIT_EXCEEDED",
      "source_url": "https://plaid.com/docs/errors/rate-limit-exceeded/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "banking-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "sync transactions for a linked Item",
      "method": "POST",
      "url": "https://sandbox.plaid.com/transactions/sync",
      "example": "curl -X POST https://sandbox.plaid.com/transactions/sync -H \"Content-Type: application/json\" -d '{\"client_id\":\"'\"$PLAID_CLIENT_ID\"'\",\"secret\":\"'\"$PLAID_SECRET\"'\",\"access_token\":\"'\"$PLAID_ACCESS_TOKEN\"'\",\"count\":250}'",
      "response_fields": [
        "added",
        "modified",
        "removed",
        "next_cursor",
        "has_more"
      ],
      "async": null,
      "source_url": "https://plaid.com/docs/api/products/transactions/#transactionssync",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "plaid/plaid-openapi",
        "stars": 118,
        "forks": 63,
        "pushed_at": "2026-09-01",
        "archived": false,
        "url": "https://github.com/plaid/plaid-openapi",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.4,
        "reviews": 5,
        "url": "https://sourceforge.net/software/product/Plaid/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://production.plaid.com",
        "probes": 1,
        "up": 1,
        "median_ms": 227,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://api.dashboard.plaid.com/mcp/",
        "probes": 1,
        "up": 1,
        "median_ms": 207,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/plaid-api.json"
  },
  {
    "id": "polygon-io-massive",
    "name": "Polygon.io / Massive",
    "category": "finance-payments",
    "homepage": "https://massive.com",
    "docs": "https://massive.com/docs",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key> or apiKey query param",
    "mcp": {
      "type": "official",
      "url": "https://github.com/massive-com/mcp_massive",
      "maintainer": "vendor",
      "repo": "https://github.com/massive-com/mcp_massive",
      "tools": [
        "search_endpoints",
        "call_api",
        "query_data"
      ],
      "covers_full_api": true,
      "source_url": "https://github.com/massive-com/mcp_massive",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "mcp_massive",
        "args": [],
        "env": [
          "MASSIVE_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/massive-com/mcp_massive",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier available (delayed data, limited calls/min); paid plans for real-time",
    "sdk": [
      "python",
      "javascript",
      "go"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Query real-time and historical stocks, options, forex, and crypto market data via REST/WebSocket API.",
    "notes": "Polygon.io rebranded to 'Massive' in 2026; the old polygon.io domain now redirects there. Massive also offers an MCP server for AI tools.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Stocks Basic: 5 API calls/min, end-of-day data, 2 years history",
      "source_url": "https://massive.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "query",
      "name": "apiKey",
      "format": "?apiKey=<API_KEY> (or Authorization: Bearer <API_KEY>)",
      "source_url": "https://massive.com/docs/rest/quickstart",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.massive.com",
    "rate_limits": {
      "summary": "Free Basic plan: 5 API calls/minute",
      "source_url": "https://massive.com/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "stock-market-data",
      "currency-exchange",
      "crypto-market-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "get the previous day OHLC bar for a stock",
      "method": "GET",
      "url": "https://api.massive.com/v2/aggs/ticker/{stocksTicker}/prev",
      "example": "curl \"https://api.massive.com/v2/aggs/ticker/AAPL/prev?apiKey=$MASSIVE_API_KEY\"",
      "response_fields": [
        "status",
        "results[0].o",
        "results[0].c",
        "results[0].v",
        "results[0].t"
      ],
      "async": null,
      "source_url": "https://massive.com/docs/rest/stocks/aggregates/previous-day-bar",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.massive.com",
        "probes": 1,
        "up": 1,
        "median_ms": 320,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "square-api",
    "name": "Square API",
    "category": "finance-payments",
    "homepage": "https://squareup.com/us/en/developers",
    "docs": "https://developer.squareup.com/reference/square",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <access_token> (personal token or OAuth2)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.squareup.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.squareup.com/mcp",
      "repo": "https://github.com/square/square-mcp-server",
      "tools": [
        "get_service_info",
        "get_type_info",
        "make_api_request"
      ],
      "covers_full_api": true,
      "source_url": "https://developer.squareup.com/docs/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.squareup.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://developer.squareup.com/docs/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free to integrate; pay per-transaction processing fees; free Sandbox for testing",
    "sdk": [
      "python",
      "node",
      "java",
      "php",
      "ruby",
      ".net"
    ],
    "openapi": "https://github.com/square/connect-api-specification",
    "llms_txt": null,
    "desc_en": "Process in-person/online payments, manage orders, invoices, and catalog via REST API and SDKs.",
    "notes": "Requires a Square merchant account; Sandbox environment is free for development/testing. Missing from candidate list despite being a major agent-callable payments API.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Unlimited free Sandbox API calls; production billed per transaction",
      "source_url": "https://developer.squareup.com/docs/devtools/sandbox/overview",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ACCESS_TOKEN> plus Square-Version: <YYYY-MM-DD>",
      "source_url": "https://developer.squareup.com/docs/build-basics/access-tokens",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://connect.squareup.com/v2",
    "rate_limits": {
      "summary": "No published numbers; bursts may get HTTP 429 RATE_LIMITED; use backoff and batch endpoints",
      "source_url": "https://developer.squareup.com/docs/build-basics/general-considerations/handling-errors",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "payments",
      "store-management",
      "invoicing"
    ],
    "no_auth": false,
    "call": {
      "operation": "take a card payment",
      "method": "POST",
      "url": "https://connect.squareup.com/v2/payments",
      "example": "curl -X POST https://connect.squareup.com/v2/payments -H \"Square-Version: 2026-09-16\" -H \"Authorization: Bearer $SQUARE_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"idempotency_key\":\"7b0f3ec5-086a-4871-8f13-3c81b3875218\",\"amount_money\":{\"amount\":1000,\"currency\":\"USD\"},\"source_id\":\"<SOURCE_ID>\"}'",
      "response_fields": [
        "payment.id",
        "payment.status",
        "payment.amount_money",
        "payment.card_details.status",
        "payment.receipt_url"
      ],
      "async": null,
      "source_url": "https://developer.squareup.com/reference/square/payments-api/create-payment",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "US online/API card payment: 2.9% + 30c per transaction",
      "source_url": "https://squareup.com/us/en/payments/our-fees",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "square/connect-api-specification",
        "stars": 76,
        "forks": 36,
        "pushed_at": "2026-09-15",
        "archived": false,
        "url": "https://github.com/square/connect-api-specification",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://connect.squareup.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 219,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.squareup.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 288,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "stripe-api",
    "name": "Stripe API",
    "category": "finance-payments",
    "homepage": "https://docs.stripe.com/api",
    "docs": "https://docs.stripe.com/api",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <secret_key>; from 2026-10-31 MCP accepts only OAuth or Agent-tagged API keys (others get 401)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.stripe.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.stripe.com",
      "tools": [
        "stripe_api_search",
        "stripe_api_details",
        "stripe_api_read",
        "stripe_api_write",
        "get_stripe_account_info",
        "stripe_analytics",
        "get_balance_summary",
        "search_stripe_documentation",
        "stripe_implementation_planner",
        "send_stripe_feedback"
      ],
      "source_url": "https://docs.stripe.com/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.stripe.com",
        "headers": {
          "Authorization": "Bearer $STRIPE_AGENT_API_KEY"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://docs.stripe.com/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free to integrate; pay per-transaction fees only, no monthly fee",
    "sdk": [
      "python",
      "node",
      "java",
      "go",
      "ruby",
      "php",
      ".net"
    ],
    "openapi": "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
    "llms_txt": null,
    "desc_en": "Create payments, subscriptions, invoices, and refunds programmatically via REST API or the official Stripe MCP server.",
    "notes": "From Oct 31, 2026, Stripe MCP requires an 'Agent' API key or OAuth - full-access/restricted keys without the Agent tag stop working.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "No setup or monthly fees; pay per transaction; free sandbox (test mode)",
      "source_url": "https://stripe.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "curl -u <SECRET_KEY>: (key as username) or Authorization: Bearer <SECRET_KEY>",
      "source_url": "https://docs.stripe.com/api/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.stripe.com/v1",
    "rate_limits": {
      "summary": "Global 100 req/s live, 25 req/s sandbox; 25 req/s per endpoint; reads capped at avg 500 per transaction (min 10,000/month)",
      "source_url": "https://docs.stripe.com/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "payments",
      "invoicing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a PaymentIntent",
      "method": "POST",
      "url": "https://api.stripe.com/v1/payment_intents",
      "example": "curl https://api.stripe.com/v1/payment_intents -u \"$STRIPE_SECRET_KEY:\" -d amount=2000 -d currency=usd -d \"automatic_payment_methods[enabled]=true\"",
      "response_fields": [
        "id",
        "status",
        "client_secret",
        "amount",
        "currency"
      ],
      "async": null,
      "source_url": "https://docs.stripe.com/api/payment_intents/create",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Poland account, standard EEA cards: 1.5% + 1.00 zł per successful card transaction (rates vary by country)",
      "source_url": "https://stripe.com/en-pl/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "smithery",
        "uses": 48,
        "url": "https://smithery.ai/servers/stripe",
        "fetched_at": "2026-09-24T16:54Z"
      },
      {
        "source": "sourceforge",
        "rating": 4.1,
        "reviews": 17,
        "url": "https://sourceforge.net/software/product/Stripe/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.stripe.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 170,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.stripe.com",
        "probes": 1,
        "up": 1,
        "median_ms": 269,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/stripe-api.json"
  },
  {
    "id": "wise-api",
    "name": "Wise API",
    "category": "finance-payments",
    "homepage": "https://docs.wise.com",
    "docs": "https://docs.wise.com/api-docs",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <API token> (personal, Wise business accounts) or OAuth2 (Wise Platform partners)",
    "mcp": {
      "type": "community",
      "url": "https://github.com/2060-io/mcp-wise",
      "maintainer": "community",
      "repo": "https://github.com/2060-io/mcp-wise",
      "tools": [
        "list_profiles",
        "get_balances",
        "get_exchange_rate",
        "list_transfers",
        "get_transfer_status",
        "list_recipients",
        "send_money",
        "create_invoice",
        "get_balance_currencies"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/2060-io/mcp-wise",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "--init",
          "-e",
          "WISE_API_TOKEN",
          "-e",
          "WISE_IS_SANDBOX",
          "io2060/mcp-wise:latest"
        ],
        "env": [
          "WISE_API_TOKEN",
          "WISE_IS_SANDBOX"
        ],
        "docs_only": false,
        "source_url": "https://github.com/2060-io/mcp-wise",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free API access; normal Wise transfer fees apply per transaction; sandbox available",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send international transfers, check exchange rates, and manage multi-currency balances via REST API.",
    "notes": "Personal tokens cover only quotes, recipients, transfers, batch groups and transfer events; funding and balance statements only for US/CA/AU/NZ/SG/MY accounts. Full access needs a partnership agreement. Docs use versioned paths, e.g. https://api.wise.com/2026Q3/profiles/{profileId}/quotes",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Personal API token created from a Wise business account; limited endpoints",
      "source_url": "https://docs.wise.com/guides/developer/auth-and-security/personal-api-token",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_TOKEN>",
      "source_url": "https://docs.wise.com/guides/developer/auth-and-security/personal-api-token",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.wise.com",
    "operations": [
      "payments",
      "currency-exchange",
      "banking-data"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a transfer quote (rate and fees)",
      "method": "POST",
      "url": "https://api.wise.com/2026Q3/profiles/{profileId}/quotes",
      "example": "curl -X POST https://api.wise.com/2026Q3/profiles/$WISE_PROFILE_ID/quotes -H \"Authorization: Bearer $WISE_API_TOKEN\" -H 'Content-Type: application/json' -d '{\"sourceCurrency\":\"USD\",\"targetCurrency\":\"EUR\",\"sourceAmount\":1000}'",
      "response_fields": [
        "id",
        "rate",
        "targetAmount",
        "paymentOptions[].price.total.value.amount"
      ],
      "async": null,
      "source_url": "https://docs.wise.com/guides/product/send-money/quotes/authenticated-quote.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.wise.com",
        "probes": 1,
        "up": 1,
        "median_ms": 973,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "amazon-selling-partner-api",
    "name": "Amazon Selling Partner API",
    "category": "ecommerce",
    "homepage": "https://developer-docs.amazon/sp-api/",
    "docs": "https://developer-docs.amazon/sp-api/",
    "auth": "oauth2",
    "auth_hint": "LWA (Login with Amazon) OAuth2 access token via x-amz-access-token header",
    "mcp": {
      "type": "official",
      "url": "https://sellingpartner-ai.amazon.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://sellingpartner-ai.amazon.com/mcp",
      "repo": "https://github.com/amzn/selling-partner-agentic-toolkit",
      "covers_full_api": false,
      "source_url": "https://github.com/amzn/selling-partner-agentic-toolkit",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://sellingpartner-ai.amazon.com/mcp",
        "derived": true
      }
    },
    "free_tier": "free API access; requires an existing Amazon Seller/Vendor Central account",
    "sdk": [
      "python",
      "java",
      "node",
      "csharp"
    ],
    "openapi": "https://github.com/amzn/selling-partner-api-models",
    "llms_txt": null,
    "desc_en": "Manage listings, orders, inventory, and reports for an Amazon seller/vendor account via REST API.",
    "notes": "Self-authorized (private) apps for your own seller account are relatively quick to set up; public apps serving other sellers require Amazon's app-approval review. Official MCP uses Seller Central OAuth consent. Orders v0 getOrders is deprecated; use searchOrders (v2026-01-01). Planned SP-API fees were cancelled",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "free API access (planned annual and usage fees cancelled)",
      "source_url": "https://developer.amazonservices.com/cancellation-of-sp-api-fees",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "in": "header",
      "name": "x-amz-access-token",
      "format": "x-amz-access-token: <LWA_ACCESS_TOKEN> (token from https://api.amazon.com/auth/o2/token)",
      "source_url": "https://developer-docs.amazon/sp-api/docs/connecting-to-the-selling-partner-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://sellingpartnerapi-na.amazon.com",
    "rate_limits": {
      "summary": "Token bucket per operation (rate per second + burst); standard and dynamic usage plans; 429 when empty",
      "source_url": "https://developer-docs.amazon/sp-api/docs/usage-plans-and-rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "marketplace-listing",
      "store-management"
    ],
    "no_auth": false,
    "call": {
      "operation": "search orders (Orders API v2026-01-01)",
      "method": "GET",
      "url": "https://sellingpartnerapi-na.amazon.com/orders/2026-01-01/orders?createdAfter={iso_datetime}&marketplaceIds={marketplaceId}",
      "example": "curl \"https://sellingpartnerapi-na.amazon.com/orders/2026-01-01/orders?createdAfter=2026-09-01T00:00:00Z&marketplaceIds=ATVPDKIKX0DER\" -H \"x-amz-access-token: $LWA_ACCESS_TOKEN\" -H 'user-agent: MyTool/1.0 (Language=curl)'",
      "response_fields": [
        "orders[].orderId",
        "orders[].createdTime",
        "orders[].salesChannel",
        "pagination.nextToken"
      ],
      "async": null,
      "source_url": "https://developer-docs.amazon/sp-api/reference/searchorders.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "amzn/selling-partner-api-models",
        "stars": 912,
        "forks": 795,
        "pushed_at": "2026-09-22",
        "archived": false,
        "url": "https://github.com/amzn/selling-partner-api-models",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://sellingpartnerapi-na.amazon.com",
        "probes": 1,
        "up": 1,
        "median_ms": 246,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://sellingpartner-ai.amazon.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 405,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "bigcommerce-api",
    "name": "BigCommerce API",
    "category": "ecommerce",
    "homepage": "https://docs.bigcommerce.com",
    "docs": "https://docs.bigcommerce.com/developer/api-reference/rest/overview",
    "auth": "api_key+oauth2",
    "auth_hint": "X-Auth-Token header (store API account) or OAuth2 for public apps",
    "mcp": {
      "type": "official",
      "url": "https://docs.bigcommerce.com/developer/api-reference/mcp/overview",
      "maintainer": "vendor",
      "tools": [
        "search_products",
        "get_product_details",
        "related_products",
        "add_item_to_cart",
        "update_cart_item",
        "remove_item_from_cart",
        "create_checkout_url"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.bigcommerce.com/developer/api-reference/mcp/overview.md",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://docs.bigcommerce.com/_mcp/server",
        "headers": null,
        "oauth": false,
        "env": [],
        "docs_only": true,
        "source_url": "https://docs.bigcommerce.com/developer/api-reference/mcp/storefront/b2c.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free API access; requires an active BigCommerce store plan",
    "sdk": [
      "node"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage catalog, orders, customers, and carts on a BigCommerce store via REST/GraphQL APIs.",
    "notes": "Official Storefront MCP (early access; per-storefront URL, POST /api/mcp) searches the catalog, edits carts and creates checkout links. Vendor MCP at https://docs.bigcommerce.com/_mcp/server only searches the docs.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Auth-Token",
      "format": "X-Auth-Token: <ACCESS_TOKEN>",
      "source_url": "https://docs.bigcommerce.com/docs/start/authentication/api-accounts",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.bigcommerce.com/stores/{store_hash}/v3",
    "rate_limits": {
      "summary": "Pro: 60k/hour (450/30 s); Standard and Plus: 20k/hour (150/30 s); Enterprise per plan",
      "source_url": "https://docs.bigcommerce.com/docs/start/best-practices/api-rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "store_v2_products",
        "store_v2_orders",
        "store_v2_customers",
        "store_v2_information",
        "store_v2_products_read_only"
      ],
      "source_url": "https://docs.bigcommerce.com/docs/start/authentication/api-accounts",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "store-management",
      "product-search"
    ],
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Bigcommerce/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/bigcommerce-api.json"
  },
  {
    "id": "ebay-apis",
    "name": "eBay APIs",
    "category": "ecommerce",
    "homepage": "https://developer.ebay.com",
    "docs": "https://developer.ebay.com/docs",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <OAuth2 token> (application or user token)",
    "mcp": {
      "type": "official",
      "url": "https://github.com/eBay/npm-public-api-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/eBay/npm-public-api-mcp",
      "tools": [
        "query_ebay_api",
        "call_ebay_api"
      ],
      "covers_full_api": false,
      "source_url": "https://github.com/eBay/npm-public-api-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": null
    },
    "free_tier": "free developer tier with call-volume limits; sandbox environment included",
    "sdk": [
      "java"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "List items, manage orders/inventory, and search listings across eBay marketplaces via REST APIs.",
    "notes": "Production access requires an eBay developer account and app keys; rate limits scale with account compliance tier. Official MCP (npx @ebay/npm-public-api-mcp) runs locally, read-only (GET) in production.",
    "verified": "2026-09-24",
    "operations": [
      "marketplace-listing",
      "store-management",
      "product-search"
    ],
    "auth_scheme": {
      "type": "oauth2",
      "source_url": "https://github.com/eBay/npm-public-api-mcp",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "reachable"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 10,
        "url": "https://sourceforge.net/software/product/eBay/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/ebay-apis.json"
  },
  {
    "id": "etsy-open-api-v3",
    "name": "Etsy Open API v3",
    "category": "ecommerce",
    "homepage": "https://developer.etsy.com",
    "docs": "https://developer.etsy.com/documentation/",
    "auth": "oauth2",
    "auth_hint": "OAuth2 Bearer token + x-api-key header (<keystring>:<shared_secret>)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.api.etsycloud.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.api.etsycloud.com/mcp",
      "tools": [
        "learn_etsy_api",
        "search_etsy_api",
        "list_endpoints",
        "get_endpoint",
        "get_schema",
        "list_guides",
        "get_guide"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.etsy.com/documentation/mcp_server/devmcpserver/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.api.etsycloud.com/mcp",
        "derived": true
      }
    },
    "free_tier": "Free: developer keystring at no cost; rate limits (QPS/QPD) are set per app and shown in the Developer Portal",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "List products, manage orders/shop, and search listings on the Etsy marketplace via REST API.",
    "notes": "Requires an approved Etsy developer app; OAuth2 user consent needed for shop-management scopes. Missing from candidate list despite being a major agent-callable marketplace API. Official Dev MCP covers the API spec only; it does not call the API.",
    "verified": "2026-09-24",
    "operations": [
      "marketplace-listing",
      "store-management",
      "product-search"
    ],
    "auth_scheme": {
      "type": "oauth2",
      "in": "header",
      "name": "x-api-key",
      "scheme": "bearer",
      "format": "x-api-key: <keystring>:<shared_secret> plus Authorization: Bearer <ACCESS_TOKEN> for OAuth endpoints",
      "source_url": "https://developer.etsy.com/documentation/essentials/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.etsy.com/v3",
    "rate_limits": {
      "summary": "Per API key; current QPS/QPD limits shown in the Developer Portal and response headers (no fixed default published)",
      "source_url": "https://developer.etsy.com/documentation/essentials/rate-limits",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "listings_r",
        "listings_w",
        "shops_r",
        "shops_w",
        "transactions_r",
        "transactions_w",
        "profile_r",
        "email_r",
        "address_r"
      ],
      "source_url": "https://developer.etsy.com/documentation/essentials/authentication",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.etsy.com/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 436,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.api.etsycloud.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 300,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "mercado-libre-api",
    "name": "Mercado Libre API",
    "category": "ecommerce",
    "homepage": "https://developers.mercadolibre.com.ar/",
    "docs": "https://developers.mercadolibre.com.ar/en_us/api-docs",
    "auth": "oauth2",
    "auth_hint": "Authorization: Bearer <ACCESS_TOKEN> obtained via OAuth 2.0 with the app's Client ID and Secret from DevCenter",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://developers.mercadolibre.com.ar/en_us/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Free API access for any Mercado Libre account that creates an app in DevCenter; only normal marketplace selling fees apply",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Lets an agent search items and categories and manage a seller's listings, orders, questions, shipments and promotions on the Mercado Libre marketplace.",
    "notes": "In AR, MX, BR and CL the account holder's details must be validated before creating an app; redirect URI must be HTTPS; rate limited (HTTP 429). Vendor MCP at https://mcp.mercadolibre.com/devsite/v1/mcp only searches the docs.",
    "verified": "2026-09-24",
    "operations": [
      "product-search",
      "marketplace-listing",
      "store-management",
      "shipping"
    ],
    "auth_scheme": {
      "type": "oauth2",
      "scheme": "bearer",
      "format": "Authorization: Bearer APP_USR-<ACCESS_TOKEN> (token from https://api.mercadolibre.com/oauth/token, valid 6 hours)",
      "source_url": "https://developers.mercadolibre.com.ar/en_us/authentication-and-authorization",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mercadolibre.com",
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mercadolibre.com",
        "probes": 1,
        "up": 1,
        "median_ms": 172,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.mercadolibre.com/devsite/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 260,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "printful-api",
    "name": "Printful API",
    "category": "ecommerce",
    "homepage": "https://developers.printful.com",
    "docs": "https://developers.printful.com/docs/",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <token> (Private token or OAuth2 for public apps)",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free API access; pay only for products/fulfillment/shipping ordered",
    "sdk": [],
    "openapi": "https://developers.printful.com/openapi/",
    "llms_txt": null,
    "desc_en": "Create print-on-demand products, sync catalogs, and submit fulfillment orders via REST API.",
    "notes": "",
    "verified": "2026-09-24",
    "operations": [
      "store-management",
      "shipping"
    ],
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <PRIVATE_TOKEN> (account-level tokens also need X-PF-Store-Id)",
      "source_url": "https://developers.printful.com/docs/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.printful.com",
    "rate_limits": {
      "summary": "120 API calls/min general limit; stricter for mockup generation; 60 s lockout when exceeded",
      "source_url": "https://developers.printful.com/docs/",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "orders",
        "orders/read",
        "sync_products",
        "sync_products/read",
        "file_library",
        "file_library/read",
        "webhooks",
        "webhooks/read"
      ],
      "source_url": "https://developers.printful.com/docs/",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "mockup generator creates tasks processed asynchronously; poll the task result",
      "source_url": "https://developers.printful.com/docs/"
    },
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 3.0,
        "reviews": 3,
        "url": "https://sourceforge.net/software/product/Printful/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.printful.com",
        "probes": 1,
        "up": 1,
        "median_ms": 261,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/printful-api.json"
  },
  {
    "id": "shopify-admin-storefront-api",
    "name": "Shopify Admin / Storefront API",
    "category": "ecommerce",
    "homepage": "https://shopify.dev",
    "docs": "https://shopify.dev/docs/api/admin-graphql",
    "auth": "api_key+oauth2",
    "auth_hint": "X-Shopify-Access-Token header (custom app token or OAuth2 for public apps)",
    "mcp": {
      "type": "official",
      "url": "https://shopify.dev/docs/apps/build/storefront-mcp/servers/storefront",
      "maintainer": "vendor",
      "remote_url": "https://{shop}.myshopify.com/api/mcp",
      "tools": [
        "get_cart",
        "update_cart",
        "search_shop_policies_and_faqs",
        "search_catalog",
        "lookup_catalog",
        "get_product"
      ],
      "covers_full_api": false,
      "source_url": "https://shopify.dev/docs/apps/build/storefront-mcp/servers/storefront.md",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@shopify/dev-mcp@latest"
        ],
        "env": [],
        "docs_only": true,
        "source_url": "https://shopify.dev/docs/apps/build/devmcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free API access; requires an active paid Shopify store subscription to use",
    "sdk": [
      "node",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage products, orders, customers, and inventory (Admin API) or build storefronts (Storefront API) via REST/GraphQL.",
    "notes": "Official Storefront MCP per store (https://{shop}.myshopify.com/api/mcp, no auth) handles cart and policies, catalog tools at /api/ucp/mcp; Admin operations need an Admin API token. Dev MCP only searches docs.",
    "verified": "2026-09-24",
    "operations": [
      "store-management",
      "product-search"
    ],
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Shopify-Access-Token",
      "format": "X-Shopify-Access-Token: <ACCESS_TOKEN>",
      "source_url": "https://shopify.dev/docs/api/admin-graphql",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://{store_name}.myshopify.com/admin/api/2026-07/graphql.json",
    "rate_limits": {
      "summary": "GraphQL Admin: calculated query cost, restore 100 pts/s Standard, 200 Advanced, 1000 Plus, 2000 enterprise",
      "source_url": "https://shopify.dev/docs/apps/build/apis/graphql-admin/rate-limits",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    }
  },
  {
    "id": "woocommerce-rest-api",
    "name": "WooCommerce REST API",
    "category": "ecommerce",
    "homepage": "https://woocommerce.github.io/woocommerce-rest-api-docs/",
    "docs": "https://woocommerce.github.io/woocommerce-rest-api-docs/",
    "auth": "api_key",
    "auth_hint": "OAuth1.0a signature (HTTP) or Basic auth with Consumer Key/Secret (HTTPS)",
    "mcp": {
      "type": "official",
      "url": "https://developer.woocommerce.com/docs/features/mcp/",
      "maintainer": "vendor",
      "remote_url": "https://{your-store}/wp-json/mcp/mcp-adapter-default-server",
      "covers_full_api": false,
      "source_url": "https://developer.woocommerce.com/docs/features/mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": null,
      "issue": "no MCP server listed in entry (mcp.url null)"
    },
    "free_tier": "free (self-hosted plugin; no vendor API fees, only your own WordPress hosting costs)",
    "sdk": [
      "php"
    ],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Manage products, orders, and customers on a self-hosted WooCommerce store via REST API.",
    "notes": "Requires your own WordPress+WooCommerce installation; there is no shared multi-tenant cloud endpoint. Official MCP (developer preview) at /wp-json/mcp/mcp-adapter-default-server, auth via Application Passwords.",
    "verified": "2026-09-24",
    "operations": [
      "store-management"
    ],
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<CONSUMER_KEY>:<CONSUMER_SECRET>) over HTTPS; OAuth 1.0a one-legged over HTTP",
      "source_url": "https://woocommerce.github.io/woocommerce-rest-api-docs/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://{your-store}/wp-json/wc/v3",
    "no_auth": false,
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok"
    }
  },
  {
    "id": "activepieces",
    "name": "Activepieces",
    "category": "automation-integration",
    "homepage": "https://www.activepieces.com",
    "docs": "https://www.activepieces.com/docs/endpoints/overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://www.activepieces.com/docs/mcp/overview",
      "maintainer": "vendor",
      "source_url": "https://www.activepieces.com/docs/mcp/overview",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "url": "https://{your-instance}/mcp",
        "headers": null,
        "oauth": true,
        "source_url": "https://www.activepieces.com/docs/mcp/overview",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free: open-source, self-hostable at no cost; cloud free plan gives 100 credits/day, no card required",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://www.activepieces.com/docs/llms.txt",
    "desc_en": "Build, run and manage no-code flows across 400+ apps via REST API or the built-in MCP server.",
    "notes": "MCP server URL is per-instance (https://your-instance.com/mcp); OAuth-based client auth, and connection secrets/API keys are never exposed through MCP tools. Endpoints docs say API key management is only in Platform and Enterprise editions.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100 credits per day, unlimited flows; free plan lists MCPs and API access",
      "period": "day",
      "source_url": "https://www.activepieces.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://www.activepieces.com/docs/endpoints/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://cloud.activepieces.com/api/v1",
    "operations": [
      "workflow-automation",
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "list flows in a project",
      "method": "GET",
      "url": "https://cloud.activepieces.com/api/v1/flows?projectId={projectId}&status=ENABLED",
      "example": "curl -G https://cloud.activepieces.com/api/v1/flows -H \"Authorization: Bearer $ACTIVEPIECES_API_KEY\" --data-urlencode \"projectId={project_id}\" --data-urlencode \"status=ENABLED\"",
      "response_fields": [
        "data[].id",
        "data[].status",
        "next"
      ],
      "async": null,
      "source_url": "https://www.activepieces.com/docs/endpoints/flows/list",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per flow run (AI steps 2-20 credits); Plus $20/mo includes 10,000 credits, overage $0.007/credit",
      "source_url": "https://www.activepieces.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://cloud.activepieces.com/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 745,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "arcade-dev",
    "name": "Arcade.dev",
    "category": "automation-integration",
    "homepage": "https://www.arcade.dev",
    "docs": "https://docs.arcade.dev/en/home/quickstart",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <api_key>; tool auth uses managed per-provider OAuth (e.g. GitHub, Google)",
    "mcp": {
      "type": "official",
      "url": "https://docs.arcade.dev/en/guides/mcp-gateways",
      "maintainer": "vendor",
      "remote_url": "https://api.arcade.dev/mcp/{gateway-slug}",
      "source_url": "https://docs.arcade.dev/en/guides/mcp-gateways",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.arcade.dev/mcp/{gateway-slug}",
        "headers": {
          "Authorization": "Bearer $ARCADE_API_KEY",
          "Arcade-User-ID": "{end_user_id}"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.arcade.dev/en/guides/mcp-gateways",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 2,000 auth events + 2,000 tool calls/mo, no credit card required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.arcade.dev/llms.txt",
    "desc_en": "Execute authorized tool calls (GitHub, Slack, Google, etc.) with managed OAuth via API, SDK, or 200+ MCP servers.",
    "notes": "First use of an OAuth-gated tool requires the human to approve a browser consent screen; token is then reused automatically. Team plan adds $0.10/auth event and $0.01/tool call beyond free quota. MCP gateways: https://api.arcade.dev/mcp/<gateway-slug>.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "2,000 auth events + 2,000 tool calls",
      "period": "month",
      "source_url": "https://www.arcade.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Bearer <ARCADE_API_KEY>",
      "source_url": "https://api.arcade.dev/v1/swagger",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.arcade.dev",
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "execute a tool",
      "method": "POST",
      "url": "https://api.arcade.dev/v1/tools/execute",
      "example": "curl -X POST https://api.arcade.dev/v1/tools/execute -H \"Authorization: Bearer $ARCADE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"tool_name\":\"Math.Sqrt\",\"input\":{\"a\":\"625\"},\"user_id\":\"<ARCADE_USER_ID>\"}'",
      "response_fields": [
        "success",
        "status",
        "output.value",
        "output.error",
        "output.authorization"
      ],
      "async": null,
      "source_url": "https://api.arcade.dev/v1/swagger",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Team plan ($25/mo): $0.01 per tool call and $0.10 per auth event beyond included quota; Free plan includes 2,000 of each per month",
      "source_url": "https://www.arcade.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.arcade.dev",
        "probes": 1,
        "up": 1,
        "median_ms": 510,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "composio",
    "name": "Composio",
    "category": "automation-integration",
    "homepage": "https://composio.dev",
    "docs": "https://docs.composio.dev/docs/quickstart",
    "auth": "api_key+oauth2",
    "auth_hint": "x-api-key: <api_key> (org-level keys: x-org-api-key); per-toolkit connections use managed OAuth",
    "mcp": {
      "type": "official",
      "url": "https://connect.composio.dev/mcp",
      "maintainer": "vendor",
      "remote_url": "https://connect.composio.dev/mcp",
      "tools": [
        "COMPOSIO_SEARCH_TOOLS",
        "COMPOSIO_GET_TOOL_SCHEMAS",
        "COMPOSIO_MULTI_EXECUTE_TOOL",
        "COMPOSIO_MANAGE_CONNECTIONS",
        "COMPOSIO_WAIT_FOR_CONNECTIONS",
        "COMPOSIO_REMOTE_WORKBENCH",
        "COMPOSIO_REMOTE_BASH_TOOL"
      ],
      "source_url": "https://docs.composio.dev/docs/composio-connect",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://connect.composio.dev/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.composio.dev/docs/composio-connect",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 100,000 tool calls + 50,000 trigger events/mo, no credit card required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.composio.dev/llms.txt",
    "desc_en": "Discover, authorize and execute actions across 1,500+ SaaS toolkits through a unified API, SDK, or MCP session.",
    "notes": "Free plan hard-caps usage with no overage billing; Scale plan ($29/mo) adds per-call overage pricing ($0.0003/tool call).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100,000 tool calls + 50,000 trigger events, 3 team members",
      "period": "month",
      "source_url": "https://composio.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "format": "x-api-key: <COMPOSIO_API_KEY> (org-level: x-org-api-key)",
      "source_url": "https://docs.composio.dev/reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://backend.composio.dev/api/v3.1",
    "rate_limits": {
      "summary": "2,000 req/min on Free, up to 10,000 req/min on higher plans",
      "source_url": "https://composio.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "execute a tool action for a user",
      "method": "POST",
      "url": "https://backend.composio.dev/api/v3.1/tools/execute/{tool_slug}",
      "example": "curl -X POST https://backend.composio.dev/api/v3.1/tools/execute/$TOOL_SLUG -H \"x-api-key: $COMPOSIO_API_KEY\" -H \"Content-Type: application/json\" -d '{\"user_id\": \"user_123\", \"arguments\": {}}'",
      "response_fields": [
        "successful",
        "data",
        "error",
        "log_id"
      ],
      "source_url": "https://docs.composio.dev/reference/api-reference/tools/postToolsExecuteByToolSlug",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Scale plan: $0.0003 per tool call beyond 100,000 included/month ($0.0005 for Composio-managed apps); Free plan stops at 100,000",
      "source_url": "https://composio.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://backend.composio.dev/api/v3.1",
        "probes": 1,
        "up": 1,
        "median_ms": 406,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://connect.composio.dev/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 271,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "gumloop",
    "name": "Gumloop",
    "category": "automation-integration",
    "homepage": "https://www.gumloop.com",
    "docs": "https://docs.gumloop.com/api-reference/getting-started",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.gumloop.com/gumloop/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.gumloop.com/gumloop/mcp",
      "tools": [
        "list_agents",
        "create_agent",
        "start_agent",
        "get_agent_status",
        "send_session_message",
        "list_skills",
        "create_skill",
        "list_mcp_servers",
        "call_mcp_tool",
        "search_documentation",
        "get_audit_logs",
        "export_data"
      ],
      "source_url": "https://docs.gumloop.com/mcp-server/overview",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "sse",
        "url": "https://mcp.gumloop.com/gumloop/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.gumloop.com/mcp-server/overview",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "14-day free trial of Pro (20,000 credits), requires credit card, no permanent free tier",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.gumloop.com/llms.txt",
    "desc_en": "Create AI agents, start chat sessions, and trigger no-code automations via REST API, SDKs, or the Gumloop MCP server.",
    "notes": "Added: widely used AI-native automation builder with an official API, SDKs, and hosted MCP server. Trial converts to paid Pro ($37/mo) unless cancelled. The MCP server authenticates via OAuth sign-in, not a pasted key. Personal API keys also need the header x-auth-key: <user_id>, and API keys require the Pro plan or higher",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "requires_card": true,
      "quota": "14-day Pro trial (20,000 credits), one-time, converts to paid unless cancelled",
      "period": "one_time",
      "source_url": "https://docs.gumloop.com/core-concepts/credits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <GUMLOOP_API_KEY> (or ?api_key= query parameter)",
      "source_url": "https://docs.gumloop.com/api-reference/getting-started",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.gumloop.com/api/v1",
    "async_jobs": {
      "value": true,
      "how": "Runs start asynchronously; webhook triggers return {success:true} immediately, results via run history/tools",
      "source_url": "https://docs.gumloop.com/api-reference/getting-started"
    },
    "operations": [
      "workflow-automation",
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "start an agent session with a message",
      "method": "POST",
      "url": "https://api.gumloop.com/api/v1/agents/{agent_id}/sessions",
      "example": "curl -X POST \"https://api.gumloop.com/api/v1/agents/$GUMLOOP_AGENT_ID/sessions\" -H \"Authorization: Bearer $GUMLOOP_API_KEY\" -H \"x-auth-key: $GUMLOOP_USER_ID\" -H \"Content-Type: application/json\" -d '{\"input\":\"Research Acme Corp and draft a brief.\"}'",
      "response_fields": [
        "session.id",
        "session.state",
        "session.messages"
      ],
      "async": "202 with state processing or queued; poll GET https://api.gumloop.com/api/v1/sessions/{session_id} until state is completed",
      "source_url": "https://docs.gumloop.com/api-reference/sessions/create-session",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Credits at $0.005 each: agent runs bill model tokens and paid tool calls at list price (min 1 credit per tool call) plus an 8% orchestration fee; Pro $37/mo includes 20,000 credits",
      "source_url": "https://www.gumloop.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.gumloop.com/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 172,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.gumloop.com/gumloop/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 223,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "ifttt-api",
    "name": "IFTTT API",
    "category": "automation-integration",
    "homepage": "https://ifttt.com/developers",
    "docs": "https://platform.ifttt.com/docs/api_reference",
    "auth": "api_key",
    "auth_hint": "Webhooks key in URL path: https://maker.ifttt.com/trigger/{event}/with/key/{key}",
    "mcp": {
      "type": "official",
      "url": "https://ifttt.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://ifttt.com/mcp",
      "source_url": "https://ifttt.com/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://ifttt.com/mcp",
        "derived": true
      }
    },
    "free_tier": "no free-plan access; Webhooks/API require Pro plan ($2.99+/mo)",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://platform.ifttt.com/llms.txt",
    "desc_en": "Fire a webhook event to trigger pre-configured Applets that act in connected consumer apps (Pro plan required).",
    "notes": "Weaker fit than other entries: an agent can only fire events for Applets a human already built in the IFTTT UI (no dynamic/generic action catalog like Zapier), free plan excludes Webhooks entirely, and the Platform/Connect API is aimed at building new IFTTT services, not calling existing consumer integrations.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "quota": "Free plan (2 Applets) exists but Webhooks require Pro ($2.99/mo); Make a web request needs Pro+",
      "source_url": "https://ifttt.com/plans",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "format": "Webhooks key in URL path: https://maker.ifttt.com/trigger/{event}/with/key/{key}; Connect API: IFTTT-Service-Key header",
      "source_url": "https://ifttt.com/docs/connect_api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://maker.ifttt.com",
    "operations": [
      "workflow-automation"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 4,
        "url": "https://sourceforge.net/software/product/IFTTT/",
        "fetched_at": "2026-09-24T17:01Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://maker.ifttt.com",
        "probes": 1,
        "up": 1,
        "median_ms": 209,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      },
      "mcp_remote": {
        "url": "https://ifttt.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 215,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/ifttt-api.json"
  },
  {
    "id": "keboola",
    "name": "Keboola Storage API",
    "category": "automation-integration",
    "homepage": "https://www.keboola.com",
    "docs": "https://help.keboola.com/storage/api/",
    "auth": "api_key+oauth2",
    "auth_hint": "X-StorageApi-Token: <STORAGE_API_TOKEN>; remote MCP uses OAuth sign-in",
    "mcp": {
      "type": "official",
      "url": "https://mcp.keboola.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.keboola.com/mcp",
      "repo": "https://github.com/keboola/mcp-server",
      "tools": [
        "get_buckets",
        "get_tables",
        "query_data",
        "get_components",
        "get_configs",
        "create_config",
        "create_sql_transformation",
        "get_jobs",
        "run_job",
        "create_flow",
        "get_flows",
        "deploy_data_app",
        "search",
        "docs_query",
        "get_project_info"
      ],
      "covers_full_api": false,
      "source_url": "https://help.keboola.com/ai/mcp-server/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.keboola.com/mcp",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://github.com/keboola/mcp-server#readme",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free plan: 1 project, 120 compute minutes in the first month then 60 minutes/month, extra-small Snowflake backend; no credit card",
    "sdk": [
      "python",
      "php"
    ],
    "openapi": null,
    "llms_txt": "https://help.keboola.com/llms.txt",
    "desc_en": "Lets an agent load and query tables, create SQL and Python transformations, and trigger data pipeline jobs in a Keboola project.",
    "notes": "Remote MCP URL is per stack: mcp.keboola.com is US Virginia (AWS) only; others e.g. mcp.eu-central-1.keboola.com; local server at github.com/keboola/mcp-server. Jobs consume the monthly compute minutes; inactive accounts out of credits are suspended after 2 months. Storage API reference: https://api.keboola.com/?service=storage (the Apiary docs are retired)",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "1 project; 120 compute minutes in first month, then 60 minutes/month",
      "period": "month",
      "source_url": "https://www.keboola.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-StorageApi-Token",
      "format": "X-StorageApi-Token: <STORAGE_API_TOKEN>",
      "source_url": "https://help.keboola.com/storage/api/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "data-pipeline",
      "analytics-query",
      "workflow-automation"
    ],
    "no_auth": false,
    "call": {
      "operation": "preview rows of a Storage table",
      "method": "GET",
      "url": "https://connection.keboola.com/v2/storage/tables/{tableId}/data-preview",
      "example": "curl \"https://connection.keboola.com/v2/storage/tables/in.c-main.mytable/data-preview?format=json&limit=100\" -H \"X-StorageApi-Token: $KEBOOLA_STORAGE_TOKEN\"",
      "response_fields": [
        "columns",
        "rows[][].columnName",
        "rows[][].value"
      ],
      "async": null,
      "source_url": "https://connection.keboola.com/api/storage/doc.json",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.keboola.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 357,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "make-api-mcp",
    "name": "Make API / MCP",
    "category": "automation-integration",
    "homepage": "https://www.make.com",
    "docs": "https://developers.make.com/api-documentation",
    "auth": "api_key",
    "auth_hint": "Authorization: Token <api_token>; MCP: OAuth at https://mcp.make.com, or 'Authorization: Bearer <MCP_TOKEN>' on https://<zone>.make.com/mcp",
    "mcp": {
      "type": "official",
      "url": "https://mcp.make.com",
      "maintainer": "vendor",
      "remote_url": "https://mcp.make.com",
      "source_url": "https://developers.make.com/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.make.com",
        "headers": null,
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://developers.make.com/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 1,000 credits/month, 2 active scenarios; Make API access requires Core plan or higher",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://developers.make.com/llms.txt",
    "desc_en": "Trigger and manage Make automation scenarios, or call MCP tools, via REST API and a native MCP server/client.",
    "notes": "MCP scenario-run tools are available on all Make plans, management tools on paid plans only; you pay for operations consumed when scenarios run. Token variant: https://<zone>/mcp with Authorization: Bearer <MCP_TOKEN>.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan: up to 1,000 credits/month, 2 active scenarios; Make API access only on Core and higher",
      "period": "month",
      "source_url": "https://www.make.com/en/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Token <api_token>",
      "source_url": "https://developers.make.com/api-documentation/getting-started/making-your-first-api-request",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://{zone}.make.com/api/v2",
    "rate_limits": {
      "summary": "Core 60 req/min, Pro 120, Teams 240, Enterprise 1,000",
      "source_url": "https://developers.make.com/api-documentation/getting-started/rate-limiting",
      "checked_at": "2026-09-24"
    },
    "oauth_scopes": {
      "scopes": [
        "scenarios:read",
        "scenarios:write",
        "connections:read",
        "datastores:read",
        "datastores:write",
        "hooks:read",
        "teams:read"
      ],
      "source_url": "https://developers.make.com/api-documentation/authentication/api-scopes-overview",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "MCP scenario-run tools return after 25-40 s; longer runs continue (up to 40 min) and results are fetched by executionId",
      "source_url": "https://developers.make.com/mcp-server"
    },
    "operations": [
      "workflow-automation",
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a scenario",
      "method": "POST",
      "url": "https://{zone}.make.com/api/v2/scenarios/{scenarioId}/run",
      "example": "curl -X POST https://eu1.make.com/api/v2/scenarios/$SCENARIO_ID/run -H \"Authorization: Token $MAKE_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"data\":{},\"responsive\":true}'",
      "response_fields": [
        "executionId",
        "status"
      ],
      "async": "with responsive=false only executionId is returned; pass callbackUrl to receive a POST with executionId and statusUrl when the run finishes",
      "source_url": "https://developers.make.com/api-documentation/api-reference/scenarios",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "mcp_remote": {
        "url": "https://mcp.make.com",
        "probes": 1,
        "up": 1,
        "median_ms": 470,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "merge-agent-handler",
    "name": "Merge (Agent Handler)",
    "category": "automation-integration",
    "homepage": "https://www.merge.dev",
    "docs": "https://docs.merge.dev/merge-agent-handler/overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://docs.merge.dev/merge-agent-handler/build/connecting-agents/mcp-integration",
      "maintainer": "vendor",
      "remote_url": "https://ah-api.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
      "source_url": "https://docs.merge.dev/merge-agent-handler/build/connecting-agents/mcp-integration",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://ah-api.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
        "headers": {
          "Authorization": "Bearer $MERGE_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.merge.dev/merge-agent-handler/build/connecting-agents/mcp-integration",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 2,000 credits/month for prototyping/testing; production usage needs a paid Pro ($1,000/mo, 25,000 credits) or Enterprise plan",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.merge.dev/llms.txt",
    "desc_en": "Give an agent governed, audited tool access to Salesforce, Slack, Jira and 100+ enterprise apps via API or MCP.",
    "notes": "Separate product from Merge's classic Unified API (HRIS/ATS/CRM sync); Agent Handler is the AI-agent-facing tool-calling layer. All plans include unlimited registered users and tool packs. An agent can sign up without a human: POST https://ah-api.merge.dev/api/v1/agent/signup/ (no auth) creates an organization and returns an API key",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "2,000 credits, unlimited registered users and tool packs (prototyping/testing)",
      "period": "month",
      "source_url": "https://www.merge.dev/pricing/agent-handler",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <API_KEY>",
      "source_url": "https://docs.merge.dev/merge-agent-handler/build/connecting-agents/mcp-integration",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://ah-api.merge.dev/api/v1",
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "call a connector tool (JSON-RPC tools/call)",
      "method": "POST",
      "url": "https://ah-api.merge.dev/api/v1/tool-packs/{tool_pack_id}/registered-users/{registered_user_id}/mcp/",
      "example": "curl -X POST https://ah-api.merge.dev/api/v1/tool-packs/$TOOL_PACK_ID/registered-users/$REGISTERED_USER_ID/mcp/ -H \"Authorization: Bearer $MERGE_AH_API_KEY\" -H \"Content-Type: application/json\" -d '{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/call\", \"params\": {\"name\": \"weather__get_forecast\", \"arguments\": {\"input\": {\"latitude\": 37.7749, \"longitude\": -122.4194}}}}'",
      "response_fields": [
        "result.content[0].text",
        "result.isError",
        "error"
      ],
      "async": null,
      "source_url": "https://docs.merge.dev/merge-agent-handler/agent-handler/mcp/endpoint-post",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 tool call = 1 credit; Pro plan $1,000/month for 25,000 credits (~$0.04 per tool call); Free plan 2,000 credits/month",
      "source_url": "https://docs.merge.dev/merge-agent-handler/administer/billing-and-usage",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://ah-api.merge.dev/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 167,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "n8n-api",
    "name": "n8n API",
    "category": "automation-integration",
    "homepage": "https://n8n.io",
    "docs": "https://docs.n8n.io/connect/n8n-api",
    "auth": "api_key",
    "auth_hint": "X-N8N-API-KEY: <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://docs.n8n.io/connect/connect-to-n8n-mcp-server",
      "maintainer": "vendor",
      "remote_url": "https://<instance>/mcp-server/http",
      "tools": [
        "search_workflows",
        "get_workflow_details",
        "execute_workflow",
        "test_workflow",
        "publish_workflow",
        "get_workflow_execution",
        "search_workflow_executions",
        "list_credentials",
        "search_nodes",
        "create_workflow_from_code",
        "update_workflow",
        "validate_workflow",
        "archive_workflow",
        "search_data_tables"
      ],
      "covers_full_api": false,
      "source_url": "https://docs.n8n.io/connect/connect-to-n8n-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://{your-n8n-host}/mcp-server/http",
        "headers": {
          "Authorization": "Bearer $N8N_MCP_ACCESS_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.n8n.io/connect/connect-to-n8n-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free: self-hosted Community Edition (open source, unlimited); n8n Cloud trial has no API access",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://docs.n8n.io/llms.txt",
    "desc_en": "Create, run and monitor n8n workflows via REST API, and expose or consume tools through MCP trigger/client nodes.",
    "notes": "REST API manages workflows/executions/credentials/users, not per-node business logic. Built-in instance-level MCP server at https://<instance>/mcp-server/http (OAuth or Bearer token), plus MCP Server Trigger nodes. Scoped API keys need Enterprise plan.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Self-hosted Community Edition is free; Cloud trial (1,000 executions) has no API access",
      "source_url": "https://n8n.io/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-N8N-API-KEY",
      "format": "X-N8N-API-KEY: <api_key>",
      "source_url": "https://docs.n8n.io/connect/n8n-api/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://<instance>/api/v1",
    "operations": [
      "workflow-automation",
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "list workflows",
      "method": "GET",
      "url": "https://{instance}/api/v1/workflows",
      "example": "curl -X GET \"https://$N8N_HOST/api/v1/workflows?active=true&limit=100\" -H \"accept: application/json\" -H \"X-N8N-API-KEY: $N8N_API_KEY\"",
      "response_fields": [
        "data[].id",
        "data[].name",
        "data[].active",
        "nextCursor"
      ],
      "async": null,
      "source_url": "https://docs.n8n.io/connect/n8n-api/pagination.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/n8n/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/n8n-api.json"
  },
  {
    "id": "nango",
    "name": "Nango",
    "category": "automation-integration",
    "homepage": "https://www.nango.dev",
    "docs": "https://nango.dev/docs",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <secret_key>",
    "mcp": {
      "type": "official",
      "url": "https://nango.dev/docs/implementation-guides/use-cases/tool-calling/implement-mcp-server",
      "maintainer": "vendor",
      "tools": [
        "nango_tool_search",
        "nango_execute",
        "nango_proxy",
        "nango_create_connection"
      ],
      "source_url": "https://nango.dev/docs/implementation-guides/use-cases/tool-calling/implement-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://nango.dev/docs/implementation-guides/use-cases/tool-calling/implement-mcp-server",
        "derived": true
      }
    },
    "free_tier": "free tier: 10 connections, 10 compute hours, 10GB data transfer/mo",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://nango.dev/llms.txt",
    "desc_en": "Authorize end users to 400+ third-party APIs/MCP servers and proxy authenticated calls to them from your app or agent.",
    "notes": "Nango is primarily an auth/proxy broker (open source). It also hosts a per-session MCP server (Streamable HTTP): POST /sessions returns mcp_url + session_token (Bearer). Free self-hosting is not offered outside the Enterprise (BYOC) plan.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "10 connections, 10 compute hours, 10GB data transfer; hard-capped",
      "period": "month",
      "source_url": "https://nango.dev/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <NANGO_API_KEY>",
      "source_url": "https://nango.dev/docs/reference/api/authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.nango.dev",
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "proxy a GET request to a connected third-party API",
      "method": "GET",
      "url": "https://api.nango.dev/proxy/{anyPath}",
      "example": "curl https://api.nango.dev/proxy/users -H \"Authorization: Bearer $NANGO_SECRET_KEY\" -H \"Connection-Id: $CONNECTION_ID\" -H \"Provider-Config-Key: $INTEGRATION_KEY\"",
      "async": null,
      "source_url": "https://nango.dev/docs/reference/api/proxy/get",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.nango.dev",
        "probes": 1,
        "up": 1,
        "median_ms": 681,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "paragon-actionkit",
    "name": "Paragon ActionKit",
    "category": "automation-integration",
    "homepage": "https://www.useparagon.com",
    "docs": "https://docs.useparagon.com/actionkit/overview",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <token>; connected accounts use managed OAuth",
    "mcp": {
      "type": "official",
      "url": "https://github.com/useparagon/paragon-mcp",
      "maintainer": "vendor",
      "repo": "https://github.com/useparagon/paragon-mcp",
      "source_url": "https://docs.useparagon.com/actionkit/getting-started",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "http://localhost:3001/mcp?user={user-id}",
        "headers": null,
        "oauth": false,
        "command": "npm",
        "args": [
          "run",
          "start"
        ],
        "env": [
          "PROJECT_ID",
          "SIGNING_KEY"
        ],
        "source_url": "https://github.com/useparagon/paragon-mcp",
        "docs_only": false,
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Trial: free trial only; no lasting free tier confirmed; Pro/Enterprise pricing by quote",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://docs.useparagon.com/llms.txt",
    "desc_en": "Call thousands of pre-built Tools and Triggers across 130+ SaaS apps (Slack, Salesforce, Gmail) via API or MCP.",
    "notes": "ActionKit has a self-serve free tier for experimentation; Paragon's broader embedded-iPaaS platform is contract/sales-only. ActionKit MCP is self-hosted only (repo useparagon/paragon-mcp, SSE transport); no vendor-hosted endpoint.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <Paragon User Token (JWT signed with project signing key)>",
      "source_url": "https://docs.useparagon.com/actionkit/openapi.json",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://actionkit.useparagon.com",
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://actionkit.useparagon.com",
        "probes": 1,
        "up": 1,
        "median_ms": 349,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "pipedream-connect",
    "name": "Pipedream Connect",
    "category": "automation-integration",
    "homepage": "https://pipedream.com/connect",
    "docs": "https://pipedream.com/docs/connect/mcp/developers",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <access_token> (OAuth client-credentials flow recommended)",
    "mcp": {
      "type": "official",
      "url": "https://remote.mcp.pipedream.net/v3",
      "maintainer": "vendor",
      "remote_url": "https://remote.mcp.pipedream.net/v3",
      "source_url": "https://pipedream.com/docs/connect/mcp/developers",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://remote.mcp.pipedream.net/v3",
        "headers": {
          "Authorization": "Bearer $PIPEDREAM_ACCESS_TOKEN",
          "x-pd-project-id": "$PIPEDREAM_PROJECT_ID",
          "x-pd-environment": "development",
          "x-pd-external-user-id": "{external_user_id}",
          "x-pd-app-slug": "{app_slug}"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://pipedream.com/docs/connect/mcp/developers",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: free workspaces get a daily credit limit and limited connected accounts; Connect is free in development mode, production use needs a paid plan",
    "sdk": [
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://pipedream.com/docs/llms.txt",
    "desc_en": "Call 2,700+ app APIs and run managed-auth actions on end users' behalf via REST API or Pipedream MCP servers.",
    "notes": "Requires a Pipedream project plus client ID/secret/project ID to call the MCP server; managed auth handles end-user OAuth for connected apps. Send Bearer token plus x-pd-project-id, x-pd-environment, x-pd-external-user-id, x-pd-app-slug headers.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "Free plan: daily credit limit; Connect free in development environment with limited connected accounts",
      "period": "day",
      "source_url": "https://pipedream.com/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "oauth2",
      "format": "Authorization: Bearer <access_token> (client credentials via POST https://api.pipedream.com/v1/oauth/token)",
      "source_url": "https://pipedream.com/docs/rest-api/auth",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.pipedream.com/v1",
    "rate_limits": {
      "summary": "Connect API: create token 100/min per external user; accounts 2,000/5 min and components 3,000/5 min per project",
      "source_url": "https://pipedream.com/docs/connect/api-reference/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "call an app API on an end user's behalf (Connect API proxy)",
      "method": "GET",
      "url": "https://api.pipedream.com/v1/connect/{project_id}/proxy/{url_safe_base64_target_url}?external_user_id={external_user_id}&account_id={account_id}",
      "example": "curl \"https://api.pipedream.com/v1/connect/$PD_PROJECT_ID/proxy/aHR0cHM6Ly9zbGFjay5jb20vYXBpL3VzZXJzLnByb2ZpbGUuZ2V0?external_user_id=$EXTERNAL_USER_ID&account_id=$PD_ACCOUNT_ID\" -H \"Authorization: Bearer $PD_ACCESS_TOKEN\" -H 'x-pd-environment: production'",
      "response_fields": [
        "upstream app response body (e.g. Slack: ok, profile)"
      ],
      "async": null,
      "source_url": "https://pipedream.com/apps/slack-v2.md",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.pipedream.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 178,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://remote.mcp.pipedream.net/v3",
        "probes": 1,
        "up": 1,
        "median_ms": 202,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "stackone",
    "name": "StackOne",
    "category": "automation-integration",
    "homepage": "https://www.stackone.com",
    "docs": "https://docs.stackone.com/docs/getting-started",
    "auth": "api_key",
    "auth_hint": "Authorization: Basic base64(<api_key>:) plus x-account-id: <account_id>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.stackone.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.stackone.com/mcp",
      "source_url": "https://docs.stackone.com/connect/ai-platforms/overview",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.stackone.com/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://docs.stackone.com/connect/ai-platforms/overview",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: 1,000 action-call credits/seat/mo (Starter), no credit card required",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://docs.stackone.com/llms.txt",
    "desc_en": "Call 520+ SaaS connectors (HRIS, ATS, CRM, documents) through one unified API or MCP gateway covering 32,000+ actions.",
    "notes": "Plans: Starter free (1,000 credits per seat per month), Team $600/month, Enterprise quote-based.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "Starter: 1,000 credits per seat (1 tool/API call = 1 credit)",
      "period": "month",
      "source_url": "https://www.stackone.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "basic",
      "format": "Authorization: Basic base64(<API_KEY>:) plus x-account-id: <ACCOUNT_ID>",
      "source_url": "https://docs.stackone.com/llms-full.txt",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.stackone.com",
    "oauth_scopes": {
      "scopes": [
        "mcp",
        "offline_access"
      ],
      "source_url": "https://docs.stackone.com/connect/ai-platforms/overview",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "app-connectors"
    ],
    "no_auth": false,
    "call": {
      "operation": "execute a connector action via Actions RPC",
      "method": "POST",
      "url": "https://api.stackone.com/actions/rpc",
      "example": "curl -X POST \"https://api.stackone.com/actions/rpc\" -u \"$STACKONE_API_KEY:\" -H \"x-account-id: $STACKONE_ACCOUNT_ID\" -H \"Content-Type: application/json\" -d '{\"action\":\"bamboohr_list_employees\",\"query\":{\"page_size\":25}}'",
      "response_fields": [
        "data"
      ],
      "async": null,
      "source_url": "https://docs.stackone.com/embed/call-actions/rpc-http",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "1 credit per tool/API call; Starter (free) 1,000 credits/seat/month, extra credits $60 per 20,000 ($0.003/call); Team ($600/mo) $20 per 20,000",
      "source_url": "https://www.stackone.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.stackone.com",
        "probes": 1,
        "up": 1,
        "median_ms": 315,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 403
        }
      },
      "mcp_remote": {
        "url": "https://mcp.stackone.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 514,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "superglue",
    "name": "Superglue",
    "category": "automation-integration",
    "homepage": "https://superglue.ai",
    "docs": "https://superglue.ai/docs",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <api_key>",
    "mcp": {
      "type": "official",
      "url": "https://superglue.ai/docs/mcp/using-the-mcp/",
      "maintainer": "vendor",
      "source_url": "https://superglue.ai/docs/mcp/using-the-mcp/",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.superglue.cloud/mcp",
        "headers": {
          "Authorization": "Bearer $SUPERGLUE_API_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://superglue.ai/docs/mcp/using-the-mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: Pro plan free to start, 3,000 executions/mo and 5M tokens/mo included, self-serve signup",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Connect and orchestrate enterprise systems (ERP, CRM, databases) through a self-serve API and per-integration MCP servers.",
    "notes": "Open-source, self-serve integration/migration agent for enterprise systems (NetSuite, SAP, Sage Intacct, Dynamics). Default MCP server at https://<api-endpoint>/mcp (OAuth or creator API key); custom servers at /mcp/{orgId}/{serverName}.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "3,000 executions and 5M tokens per month; open-source self-hosted version has no usage limits",
      "period": "month",
      "source_url": "https://superglue.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <SUPERGLUE_API_KEY>",
      "source_url": "https://superglue.ai/docs/api/overview/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.superglue.cloud/v1",
    "operations": [
      "app-connectors",
      "data-pipeline"
    ],
    "no_auth": false,
    "call": {
      "operation": "run a saved tool",
      "method": "POST",
      "url": "https://api.superglue.cloud/v1/tools/{toolId}/run",
      "example": "curl -X POST \"https://api.superglue.cloud/v1/tools/$SUPERGLUE_TOOL_ID/run\" -H \"Authorization: Bearer $SUPERGLUE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"inputs\":{\"query\":\"latest AI news\"},\"options\":{\"async\":false}}'",
      "response_fields": [
        "runId",
        "status",
        "data",
        "error"
      ],
      "async": null,
      "source_url": "https://superglue.ai/openapi.yaml",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.superglue.cloud/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 185,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "zapier-mcp-ai-actions",
    "name": "Zapier MCP / AI Actions",
    "category": "automation-integration",
    "homepage": "https://zapier.com/mcp",
    "docs": "https://docs.zapier.com/mcp/home",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <connection_token> (OAuth auto-configured for listed clients like Claude/ChatGPT)",
    "mcp": {
      "type": "official",
      "url": "https://mcp.zapier.com/api/v1/connect",
      "maintainer": "vendor",
      "remote_url": "https://mcp.zapier.com/api/v1/connect",
      "tools": [
        "discover_zapier_actions",
        "enable_zapier_action",
        "disable_zapier_action",
        "execute_zapier_read_action",
        "execute_zapier_write_action",
        "list_zapier_connections",
        "manage_zapier_connections",
        "get_configuration_url"
      ],
      "source_url": "https://docs.zapier.com/mcp/overview/how-tools-work",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.zapier.com/api/v1/connect",
        "headers": {
          "Authorization": "Bearer $ZAPIER_MCP_TOKEN"
        },
        "oauth": true,
        "env": [],
        "docs_only": false,
        "source_url": "https://docs.zapier.com/mcp/overview/how-connections-work.md",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: 100 tasks/month; each successful MCP tool call uses 2 tasks (~50 calls/month); more on paid plans",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://docs.zapier.com/llms.txt",
    "desc_en": "Call 9,000+ apps and 40,000+ pre-built actions (Slack, Gmail, Sheets, etc.) through one MCP endpoint.",
    "notes": "\"AI Actions\"/Natural Language Actions is deprecated; Zapier now steers agents to Zapier MCP. Tool calls consume the same 'tasks' quota as regular Zaps.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "100 tasks/month; each successful MCP tool call uses 2 tasks",
      "period": "month",
      "source_url": "https://zapier.com/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <CONNECTION_TOKEN> (or OAuth inside the MCP client)",
      "source_url": "https://docs.zapier.com/mcp/overview/how-connections-work",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://mcp.zapier.com/api/v1/connect",
    "operations": [
      "app-connectors",
      "workflow-automation"
    ],
    "no_auth": false,
    "unit_price": {
      "summary": "Each successful MCP tool call uses 2 Zapier tasks (failed calls free); task price depends on the Zapier plan, e.g. Pro $19.99/mo annual for 750 tasks (~$0.053 per call)",
      "source_url": "https://docs.zapier.com/mcp/overview/usage",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://mcp.zapier.com/api/v1/connect",
        "probes": 1,
        "up": 1,
        "median_ms": 267,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.zapier.com/api/v1/connect",
        "probes": 1,
        "up": 1,
        "median_ms": 255,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "anthropic-claude-api",
    "name": "Anthropic Claude API",
    "category": "model-inference",
    "homepage": "https://docs.anthropic.com",
    "docs": "https://platform.claude.com/docs/en/api/messages",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <ANTHROPIC_API_KEY> (x-api-key still supported as legacy fallback), plus anthropic-version header",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "paid only",
    "sdk": [
      "python",
      "typescript",
      "java",
      "go",
      "csharp",
      "php",
      "ruby"
    ],
    "openapi": null,
    "llms_txt": "https://platform.claude.com/docs/llms.txt",
    "desc_en": "Send messages to Claude models for text and vision generation, tool use, batch jobs and document analysis.",
    "notes": "docs.anthropic.com and docs.claude.com redirect to platform.claude.com. Rate limits depend on usage tier. The API's MCP connector lets Claude call remote MCP servers; there is no MCP server that wraps the API itself.",
    "verified": "2026-09-24",
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <ANTHROPIC_API_KEY> + anthropic-version: 2023-06-01 (x-api-key still supported as legacy fallback)",
      "source_url": "https://platform.claude.com/docs/en/api/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.anthropic.com",
    "rate_limits": {
      "summary": "Per usage tier and model (RPM, ITPM, OTPM); Start tier e.g. 1,000 RPM for Opus/Sonnet/Haiku; 429 on exceed",
      "source_url": "https://platform.claude.com/docs/en/api/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Message Batches API: POST /v1/messages/batches, poll GET /v1/messages/batches/{id}, then fetch results",
      "source_url": "https://platform.claude.com/docs/en/build-with-claude/batch-processing"
    },
    "data_policy": {
      "summary": "Retained data never used for training without express permission; prompts/outputs not retained by default except 30-day rule for Covered Models; ZDR available",
      "source_url": "https://platform.claude.com/docs/en/manage-claude/api-and-data-retention",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "image-understanding",
      "document-parsing"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.anthropic.com",
        "probes": 1,
        "up": 1,
        "median_ms": 161,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "cohere-api",
    "name": "Cohere API",
    "category": "model-inference",
    "homepage": "https://docs.cohere.com",
    "docs": "https://docs.cohere.com/reference/about",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <COHERE_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://docs.cohere.com/llms.txt",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free trial key: 1,000 calls/mo, rate-limited",
    "sdk": [
      "python",
      "typescript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": "https://docs.cohere.com/llms.txt",
    "desc_en": "Call chat, embed, rerank and classify endpoints for text generation, semantic search and RAG.",
    "notes": "Vendor MCP at https://docs.cohere.com/_mcp/server only searches the docs. Trial keys are not for production use. v2 API is current; v1 is legacy. Flagship chat model: command-a-plus-05-2026",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "1,000 API calls (trial/evaluation key)",
      "period": "month",
      "source_url": "https://docs.cohere.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <COHERE_API_KEY>",
      "source_url": "https://docs.cohere.com/v2/reference/chat",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.cohere.com/v2",
    "rate_limits": {
      "summary": "Trial: Chat 20 req/min, Rerank 10/min, Embed 2,000 inputs/min; Production: Chat 500/min, Rerank 1,000/min",
      "source_url": "https://docs.cohere.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "embeddings",
      "reranking"
    ],
    "no_auth": false,
    "call": {
      "operation": "chat / text generation",
      "method": "POST",
      "url": "https://api.cohere.com/v2/chat",
      "example": "curl -X POST https://api.cohere.com/v2/chat -H \"Authorization: Bearer $COHERE_API_KEY\" -H \"Content-Type: application/json\" -d '{\"model\":\"command-a-plus-05-2026\",\"messages\":[{\"role\":\"user\",\"content\":\"Tell me about LLMs\"}]}'",
      "response_fields": [
        "message.content[0].text",
        "finish_reason",
        "usage.billed_units",
        "id"
      ],
      "async": null,
      "source_url": "https://docs.cohere.com/v2/reference/chat",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Command R: $0.15 input / $0.60 output per 1M tokens; Embed 4: $0.12 per 1M tokens; Rerank 4 Fast: $2 per 1K searches",
      "source_url": "https://cohere.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 4.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Cohere/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.cohere.com/v2",
        "probes": 1,
        "up": 1,
        "median_ms": 270,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://docs.cohere.com/_mcp/server",
        "probes": 1,
        "up": 1,
        "median_ms": 289,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/cohere-api.json"
  },
  {
    "id": "comet-opik",
    "name": "Comet Opik Cloud API",
    "category": "model-inference",
    "homepage": "https://www.comet.com/site/products/opik/",
    "docs": "https://www.comet.com/docs/opik/reference/rest-api/overview",
    "auth": "api_key+oauth2",
    "auth_hint": "Headers 'authorization: <OPIK_API_KEY>' (no Bearer prefix) and 'Comet-Workspace: <WORKSPACE>'; remote MCP uses browser sign-in",
    "mcp": {
      "type": "official",
      "url": "https://www.comet.com/opik/api/v1/mcp",
      "maintainer": "vendor",
      "remote_url": "https://www.comet.com/opik/api/v1/mcp",
      "tools": [
        "read",
        "list",
        "write",
        "schema",
        "read_skill"
      ],
      "covers_full_api": false,
      "source_url": "https://www.comet.com/docs/opik/mcp-server/tools",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://www.comet.com/opik/api/v1/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://www.comet.com/docs/opik/mcp-server/advanced-setup",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free cloud plan: 25k spans/month, 60-day data retention, up to 10 team members",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://www.comet.com/docs/opik/llms.txt",
    "desc_en": "Lets an agent log and read LLM traces and spans, score them with evaluations and manage datasets and prompts in Opik.",
    "notes": "REST base https://www.comet.com/opik/api/v1/private/. Remote MCP needs OAuth browser sign-in; local: uvx opik mcp configure.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "25k spans, 60-day data retention, up to 10 team members",
      "period": "month",
      "source_url": "https://www.comet.com/site/pricing/",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "authorization",
      "format": "authorization: <OPIK_API_KEY> (no Bearer prefix) + Comet-Workspace: <WORKSPACE>",
      "source_url": "https://www.comet.com/docs/opik/reference/rest-api/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://www.comet.com/opik/api/v1/private",
    "data_policy": {
      "summary": "Free cloud plan keeps data 60 days",
      "source_url": "https://www.comet.com/site/pricing/",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-observability"
    ],
    "no_auth": false,
    "call": {
      "operation": "list traces of a project",
      "method": "GET",
      "url": "https://www.comet.com/opik/api/v1/private/traces?project_name={name}",
      "example": "curl \"https://www.comet.com/opik/api/v1/private/traces?project_name=Default%20Project&size=10\" -H \"authorization: $OPIK_API_KEY\" -H \"Comet-Workspace: $OPIK_WORKSPACE\"",
      "response_fields": [
        "content[].id",
        "content[].name",
        "content[].input",
        "content[].output",
        "total"
      ],
      "async": null,
      "source_url": "https://www.comet.com/docs/opik/reference/rest-api/traces/get-traces-by-project.md",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Opik Cloud Pro: $19/mo incl. 100k spans, then $5 per extra 100k spans",
      "source_url": "https://www.comet.com/site/pricing/",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://www.comet.com/opik/api/v1/private",
        "probes": 1,
        "up": 1,
        "median_ms": 422,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://www.comet.com/opik/api/v1/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 354,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "deepseek-api",
    "name": "DeepSeek API",
    "category": "model-inference",
    "homepage": "https://api-docs.deepseek.com",
    "docs": "https://api-docs.deepseek.com/api/deepseek-api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <DEEPSEEK_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "paid only",
    "sdk": [],
    "openapi": null,
    "llms_txt": null,
    "desc_en": "Send chat and reasoning requests to DeepSeek models via an OpenAI- and Anthropic-compatible REST API.",
    "notes": "No native SDK: use the OpenAI SDK (base_url https://api.deepseek.com) or the Anthropic SDK (https://api.deepseek.com/anthropic). Off-peak is 50% off; peak is 01:00-04:00 and 06:00-10:00 UTC Mon-Fri. Fees come from a topped-up or granted balance.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://api-docs.deepseek.com/quick_start/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <DEEPSEEK_API_KEY>",
      "source_url": "https://api-docs.deepseek.com/",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.deepseek.com",
    "rate_limits": {
      "summary": "Account-level concurrency: deepseek-flash 2,500, deepseek-v4-pro 500 concurrent requests; 429 when exceeded",
      "source_url": "https://api-docs.deepseek.com/quick_start/rate_limit",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference"
    ],
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/DeepSeek/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.deepseek.com",
        "probes": 1,
        "up": 1,
        "median_ms": 536,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/deepseek-api.json"
  },
  {
    "id": "fal-ai",
    "name": "fal.ai",
    "category": "model-inference",
    "homepage": "https://fal.ai",
    "docs": "https://fal.ai/docs/model-apis",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Key <FAL_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.fal.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.fal.ai/mcp",
      "tools": [
        "search_models",
        "get_model_schema",
        "get_pricing",
        "recommend_model",
        "run_model",
        "submit_job",
        "check_job",
        "get_job_result",
        "cancel_job",
        "upload_file",
        "search_docs"
      ],
      "covers_full_api": true,
      "source_url": "https://fal.ai/docs/documentation/setting-up/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": false,
      "kind": "official",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.fal.ai/mcp",
        "headers": {
          "Authorization": "Bearer $FAL_KEY"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://fal.ai/docs/documentation/setting-up/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Paid only; prepaid credits, priced per model (e.g. FLUX.1 schnell $0.003/megapixel)",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://fal.ai/docs/llms.txt",
    "desc_en": "Generate images, video, audio and 3D with 1,000+ hosted models via queued REST or real-time WebSocket.",
    "notes": "REST auth header prefix is 'Key', not 'Bearer'; the MCP server takes 'Authorization: Bearer <FAL_KEY>' or OAuth. Long jobs use the queue API (submit, status, result).",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "none",
      "source_url": "https://fal.ai/docs/documentation/model-apis/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "format": "Authorization: Key <FAL_KEY>",
      "source_url": "https://fal.ai/docs/documentation/model-apis/inference/queue",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://queue.fal.run",
    "rate_limits": {
      "summary": "New accounts: 2 concurrent requests; limit rises with credit purchases (40+ via sales); excess requests wait in queue",
      "source_url": "https://fal.ai/docs/documentation/model-apis/concurrency-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST https://queue.fal.run/{model} returns request_id, status_url, response_url; poll status or use webhooks",
      "source_url": "https://fal.ai/docs/documentation/model-apis/inference/queue"
    },
    "data_policy": {
      "summary": "Request payloads stored 30 days by default (opt out with X-Fal-Store-IO: 0); generated media served as public CDN URLs",
      "source_url": "https://fal.ai/docs/documentation/model-apis/media-expiration",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "text-to-image",
      "text-to-video",
      "text-to-speech",
      "text-to-3d"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate an image from a text prompt via the queue (FLUX.1 schnell)",
      "method": "POST",
      "url": "https://queue.fal.run/{model_id}",
      "example": "curl -X POST https://queue.fal.run/fal-ai/flux/schnell -H \"Authorization: Key $FAL_KEY\" -H \"Content-Type: application/json\" -d '{\"prompt\": \"a sunset over mountains\"}'",
      "response_fields": [
        "request_id",
        "status_url",
        "response_url"
      ],
      "async": "poll GET https://queue.fal.run/{model_id}/requests/{request_id}/status until COMPLETED, then GET .../requests/{request_id} (images[0].url)",
      "source_url": "https://fal.ai/docs/documentation/model-apis/inference/queue",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "FLUX.1 [schnell]: $0.003 per megapixel (rounded up); price varies per model",
      "source_url": "https://fal.ai/models/fal-ai/flux/schnell",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://queue.fal.run",
        "probes": 1,
        "up": 1,
        "median_ms": 209,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.fal.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 183,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "fireworks-ai",
    "name": "Fireworks AI",
    "category": "model-inference",
    "homepage": "https://fireworks.ai",
    "docs": "https://docs.fireworks.ai",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <FIREWORKS_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://docs.fireworks.ai/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "trial credits: $1 on signup",
    "sdk": [
      "python"
    ],
    "openapi": "https://docs.fireworks.ai/merged.openapi.yaml",
    "llms_txt": "https://docs.fireworks.ai/llms.txt",
    "desc_en": "Run serverless or dedicated inference and fine-tuning for open models via OpenAI-compatible APIs.",
    "notes": "Vendor MCP at https://docs.fireworks.ai/mcp only searches the docs. The Responses API can call external MCP servers as tools.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "trial",
      "quota": "$1 in free credits",
      "period": "one_time",
      "source_url": "https://fireworks.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <FIREWORKS_API_KEY>",
      "source_url": "https://docs.fireworks.ai/api-reference/post-chatcompletions",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.fireworks.ai/inference/v1",
    "rate_limits": {
      "summary": "Adaptive serverless limits per account and model (TPM ceilings by model size); upper bound grows with spending tier; 429/503",
      "source_url": "https://docs.fireworks.ai/serverless/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API: create batch job, it waits in pending state, poll job status",
      "source_url": "https://docs.fireworks.ai/guides/batch-inference"
    },
    "data_policy": {
      "summary": "Does not log or store prompt or generation data for open models without explicit opt-in (zero data retention)",
      "source_url": "https://docs.fireworks.ai/guides/security_compliance/data_security",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "model-hosting"
    ],
    "no_auth": false,
    "call": {
      "operation": "chat completion",
      "method": "POST",
      "url": "https://api.fireworks.ai/inference/v1/chat/completions",
      "example": "curl https://api.fireworks.ai/inference/v1/chat/completions -H \"Content-Type: application/json\" -H \"Authorization: Bearer $FIREWORKS_API_KEY\" -d '{\"model\":\"accounts/fireworks/models/glm-5p3-flash\",\"messages\":[{\"role\":\"user\",\"content\":\"Say hello in Spanish\"}]}'",
      "response_fields": [
        "choices[0].message.content",
        "usage.prompt_tokens",
        "usage.completion_tokens"
      ],
      "async": null,
      "source_url": "https://docs.fireworks.ai/getting-started/quickstart",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Serverless per 1M tokens, e.g. GLM 5.3 Flash $0.15 input / $0.50 output; unlisted models over 16B params $0.90 per 1M tokens",
      "source_url": "https://docs.fireworks.ai/serverless/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.fireworks.ai/inference/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 181,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://docs.fireworks.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 404,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "google-gemini-api",
    "name": "Google Gemini API",
    "category": "model-inference",
    "homepage": "https://ai.google.dev",
    "docs": "https://ai.google.dev/api",
    "auth": "api_key",
    "auth_hint": "x-goog-api-key: <GEMINI_API_KEY> (or ?key= query param)",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://ai.google.dev/gemini-api/docs/coding-agents",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: rate-limited access to Flash/Pro models",
    "sdk": [
      "python",
      "typescript",
      "java",
      "go"
    ],
    "openapi": null,
    "llms_txt": "https://ai.google.dev/gemini-api/docs/llms.txt",
    "desc_en": "Generate text and images, analyze multimodal input (video, audio, PDFs), and run code execution with Gemini models.",
    "notes": "Vendor MCP at https://gemini-api-docs-mcp.dev only searches the docs. Free-tier content may be used to improve Google products. Unrestricted standard API keys are rejected in 2026; use a current key type. Google publishes a Discovery document, not OpenAPI. The quickstart now uses POST /v1beta/interactions (header Api-Revision: 2026-05-20) rather than generateContent",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "free input and output tokens on supported models, rate-limited per project",
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "x-goog-api-key",
      "format": "x-goog-api-key: <GEMINI_API_KEY>",
      "source_url": "https://ai.google.dev/gemini-api/docs/api-key",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://generativelanguage.googleapis.com/v1beta",
    "rate_limits": {
      "summary": "Per project (not per key): RPM, TPM, RPD by model and tier (Free, Tier 1-3); view active limits in AI Studio",
      "source_url": "https://ai.google.dev/gemini-api/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API at 50% cost: create batch job, poll job state until JOB_STATE_SUCCEEDED",
      "source_url": "https://ai.google.dev/gemini-api/docs/batch-api"
    },
    "data_policy": {
      "summary": "Free tier content used to improve Google products; paid tier content not used",
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "text-to-image",
      "image-understanding",
      "code-execution",
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "generate text",
      "method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/interactions",
      "example": "curl -X POST https://generativelanguage.googleapis.com/v1beta/interactions -H \"x-goog-api-key: $GEMINI_API_KEY\" -H \"Content-Type: application/json\" -H \"Api-Revision: 2026-05-20\" -d '{\"model\": \"gemini-3.5-flash\", \"input\": \"Explain how AI works in a few words\"}'",
      "response_fields": [
        "id",
        "status",
        "steps[].content[0].text (step type model_output)",
        "usage.total_tokens"
      ],
      "async": null,
      "source_url": "https://ai.google.dev/gemini-api/docs/quickstart",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "gemini-3.5-flash paid tier: $1.50 per 1M input tokens, $9.00 per 1M output tokens (free tier available)",
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://generativelanguage.googleapis.com/v1beta",
        "probes": 1,
        "up": 1,
        "median_ms": 131,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://gemini-api-docs-mcp.dev",
        "probes": 1,
        "up": 1,
        "median_ms": 388,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "groq-api",
    "name": "Groq API",
    "category": "model-inference",
    "homepage": "https://console.groq.com",
    "docs": "https://console.groq.com/docs/api-reference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <GROQ_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: rate-limited per model, no card",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": null,
    "llms_txt": "https://console.groq.com/llms.txt",
    "desc_en": "Run fast LLM chat, tool use and speech-to-text on hosted open models via an OpenAI-compatible API.",
    "notes": "Free-tier limits vary by model (e.g. 30 RPM / 1K RPD); see console.groq.com/settings/limits. Not to be confused with xAI Grok. Llama 3.x models (llama-3.3-70b-versatile, llama-3.1-8b-instant) are now contact-sales, not self-serve per-token",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "per-model limits, e.g. openai/gpt-oss-120b 30 RPM, 1K RPD, 8K TPM, 200K TPD",
      "period": "day",
      "source_url": "https://console.groq.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <GROQ_API_KEY>",
      "source_url": "https://console.groq.com/docs/api-reference",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.groq.com/openai/v1",
    "rate_limits": {
      "summary": "Per model RPM/RPD/TPM/TPD; Free plan e.g. gpt-oss-120b 30 RPM, 1K RPD; Developer plan higher",
      "source_url": "https://console.groq.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API (Developer plan): POST /openai/v1/batches, poll GET /openai/v1/batches/{batch_id}",
      "source_url": "https://console.groq.com/docs/batch"
    },
    "data_policy": {
      "summary": "Inference data not retained by default; retained up to 30 days only for batch/fine-tuning features or reliability needs",
      "source_url": "https://console.groq.com/docs/your-data",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "speech-to-text"
    ],
    "no_auth": false,
    "call": {
      "operation": "chat completion",
      "method": "POST",
      "url": "https://api.groq.com/openai/v1/chat/completions",
      "example": "curl https://api.groq.com/openai/v1/chat/completions -H \"Content-Type: application/json\" -H \"Authorization: Bearer $GROQ_API_KEY\" -d '{\"model\":\"openai/gpt-oss-120b\",\"messages\":[{\"role\":\"user\",\"content\":\"Explain the importance of fast language models\"}]}'",
      "response_fields": [
        "choices[0].message.content",
        "choices[0].finish_reason",
        "usage.total_tokens",
        "model"
      ],
      "async": null,
      "source_url": "https://console.groq.com/docs/api-reference",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "openai/gpt-oss-120b: $0.15 per 1M input tokens, $0.60 per 1M output tokens (Llama 3.x models now listed as contact sales)",
      "source_url": "https://console.groq.com/docs/models",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.groq.com/openai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 196,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "hugging-face-inference-providers",
    "name": "Hugging Face Inference Providers",
    "category": "model-inference",
    "homepage": "https://huggingface.co/docs/inference-providers",
    "docs": "https://huggingface.co/docs/inference-providers/index",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <HF_TOKEN>",
    "mcp": {
      "type": "official",
      "url": "https://huggingface.co/mcp",
      "maintainer": "vendor",
      "remote_url": "https://huggingface.co/mcp",
      "tools": [
        "hf_whoami",
        "hub_repo_search",
        "hub_repo_details",
        "hf_fs"
      ],
      "covers_full_api": false,
      "source_url": "https://huggingface.co/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://huggingface.co/mcp",
        "headers": {
          "Authorization": "Bearer $HF_TOKEN"
        },
        "oauth": true,
        "docs_only": false,
        "source_url": "https://github.com/huggingface/hf-mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "Free tier: $0.10/month in Inference Providers credits (PRO $2.00/month)",
    "sdk": [
      "python",
      "javascript"
    ],
    "openapi": null,
    "llms_txt": "https://huggingface.co/docs/inference-providers/llms.txt",
    "desc_en": "Call hundreds of open-weight chat, vision, image, video and audio models across many providers with one HF token.",
    "notes": "The OpenAI-compatible endpoint (router.huggingface.co/v1) handles chat only; use InferenceClient for other tasks. The token needs the 'Make calls to Inference Providers' scope. Pick a provider with a model suffix such as :fastest or :cheapest.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "quota": "$0.10 in credits for free users (PRO $2.00)",
      "period": "month",
      "source_url": "https://huggingface.co/docs/inference-providers/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <HF_TOKEN>",
      "source_url": "https://huggingface.co/docs/inference-providers/index",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://router.huggingface.co/v1",
    "data_policy": {
      "summary": "HF does not store request/response bodies or use data for training; debug logs kept up to 30 days without user data",
      "source_url": "https://huggingface.co/docs/inference-providers/security",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "text-to-image",
      "text-to-video",
      "text-to-speech",
      "image-understanding"
    ],
    "no_auth": false,
    "call": {
      "operation": "chat completion on an open model",
      "method": "POST",
      "url": "https://router.huggingface.co/v1/chat/completions",
      "example": "curl https://router.huggingface.co/v1/chat/completions -H \"Authorization: Bearer $HF_TOKEN\" -H 'Content-Type: application/json' -d '{\"model\":\"openai/gpt-oss-120b:fastest\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"stream\":false}'",
      "response_fields": [
        "choices[0].message.content",
        "usage"
      ],
      "async": null,
      "source_url": "https://huggingface.co/docs/inference-providers/index",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://router.huggingface.co/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 186,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://huggingface.co/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 202,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "mistral-ai-api",
    "name": "Mistral AI API",
    "category": "model-inference",
    "homepage": "https://docs.mistral.ai",
    "docs": "https://docs.mistral.ai/api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <MISTRAL_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://api.mistral.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://api.mistral.ai/mcp",
      "covers_full_api": false,
      "source_url": "https://docs.mistral.ai/resources/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://api.mistral.ai/mcp",
        "headers": {
          "Authorization": "Bearer $MISTRAL_API_KEY"
        },
        "oauth": false,
        "docs_only": false,
        "source_url": "https://docs.mistral.ai/resources/mcp",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free tier: Studio free mode, rate-limited",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://docs.mistral.ai/openapi.yaml",
    "llms_txt": "https://docs.mistral.ai/llms.txt",
    "desc_en": "Run chat completions, embeddings, OCR and document processing with Mistral models via REST.",
    "notes": "Official MCP (same API key) currently exposes only Studio Skills management tools, not chat inference; call the REST API for inference.",
    "verified": "2026-09-24",
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "included monthly usage within Free mode limits",
      "period": "month",
      "source_url": "https://docs.mistral.ai/getting-started/quickstarts/studio/activate-and-generate-api-key",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <MISTRAL_API_KEY>",
      "source_url": "https://docs.mistral.ai/getting-started/quickstarts/studio/activate-and-generate-api-key",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.mistral.ai/v1",
    "rate_limits": {
      "summary": "Per-model tokens-per-minute and other limits shown per organization in Admin Panel > API > Limits; Free mode has lower limits",
      "source_url": "https://docs.mistral.ai/admin/billing-usage/usage-limits",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Zero data retention available on paid plans for supported stateless API calls; training opt-out handled separately",
      "source_url": "https://docs.mistral.ai/admin/monitor-comply/zero-data-retention",
      "checked_at": "2026-09-24"
    },
    "operations": [
      "llm-inference",
      "ocr",
      "embeddings",
      "document-parsing"
    ],
    "no_auth": false,
    "call": {
      "operation": "create a chat completion",
      "method": "POST",
      "url": "https://api.mistral.ai/v1/chat/completions",
      "example": "curl https://api.mistral.ai/v1/chat/completions -H 'Content-Type: application/json' -H \"Authorization: Bearer $MISTRAL_API_KEY\" -d '{\"model\": \"mistral-large-latest\", \"messages\": [{\"role\": \"user\", \"content\": \"Who is the best French painter? Answer in one short sentence.\"}]}'",
      "response_fields": [
        "choices[0].message.content",
        "choices[0].finish_reason",
        "usage.total_tokens"
      ],
      "async": null,
      "source_url": "https://docs.mistral.ai/api/",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Mistral Large: $0.5 per 1M input tokens, $1.5 per 1M output tokens; Batch API 50% off",
      "source_url": "https://mistral.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/Mistral-AI/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.mistral.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 268,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://api.mistral.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 268,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/mistral-ai-api.json"
  },
  {
    "id": "openai-api",
    "name": "OpenAI API",
    "category": "model-inference",
    "homepage": "https://platform.openai.com",
    "docs": "https://developers.openai.com/api/reference/overview",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <OPENAI_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://developers.openai.com/mcp",
      "maintainer": "vendor",
      "remote_url": "https://developers.openai.com/mcp",
      "tools": [
        "search_openai_docs",
        "list_openai_docs",
        "fetch_openai_doc",
        "list_api_endpoints",
        "get_openapi_spec"
      ],
      "covers_full_api": false,
      "source_url": "https://developers.openai.com/learn/docs-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://developers.openai.com/mcp",
        "derived": true
      }
    },
    "free_tier": "paid only",
    "sdk": [
      "python",
      "typescript",
      "csharp",
      "java",
      "go",
      "ruby"
    ],
    "openapi": "https://raw.githubusercontent.com/openai/openai-openapi/master/openapi.yaml",
    "llms_txt": "https://developers.openai.com/llms.txt",
    "desc_en": "Generate text, images, audio and embeddings, and run tool-calling via the Responses and Chat Completions APIs.",
    "notes": "Docs moved from platform.openai.com to developers.openai.com (old URLs redirect). Usage-based billing with a payment method; rate limits scale with usage tier. The official MCP server is documentation-only and does not call the API.",
    "verified": "2026-09-24",
    "operations": [
      "llm-inference",
      "text-to-image",
      "text-to-speech",
      "speech-to-text",
      "embeddings"
    ],
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OPENAI_API_KEY>",
      "source_url": "https://developers.openai.com/api/reference/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.openai.com/v1",
    "rate_limits": {
      "summary": "RPM/RPD/TPM/TPD/IPM per model, set by usage tier (Free, Tier 1-5); 429 slow_down / rate_limit_error",
      "source_url": "https://developers.openai.com/api/docs/guides/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API: upload JSONL, create batch, poll batch status (completes within 24h)",
      "source_url": "https://developers.openai.com/api/docs/guides/batch"
    },
    "data_policy": {
      "summary": "API data not used for training unless you opt in; abuse-monitoring logs kept 30 days; ZDR available for approved customers",
      "source_url": "https://developers.openai.com/api/docs/guides/your-data",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 3,
        "url": "https://sourceforge.net/software/product/OpenAI/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.openai.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 252,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://developers.openai.com/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 266,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/openai-api.json"
  },
  {
    "id": "openrouter",
    "name": "OpenRouter",
    "category": "model-inference",
    "homepage": "https://openrouter.ai",
    "docs": "https://openrouter.ai/docs/api-reference/overview",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <OPENROUTER_API_KEY>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.openrouter.ai/mcp",
      "maintainer": "vendor",
      "remote_url": "https://mcp.openrouter.ai/mcp",
      "tools": [
        "send-message",
        "generate-image",
        "list-models",
        "get-model",
        "list-model-endpoints",
        "list-providers",
        "list-daily-model-rankings",
        "list-app-rankings",
        "get-credits",
        "get-generation",
        "list-benchmarks",
        "list-task-classifications",
        "search-docs",
        "send-feedback",
        "spawn-ori-eval",
        "install-ori-harness",
        "ping"
      ],
      "covers_full_api": false,
      "source_url": "https://openrouter.ai/docs/guides/overview/mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "streamable-http",
        "url": "https://mcp.openrouter.ai/mcp",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://openrouter.ai/docs/guides/overview/mcp-server",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "free models: 50 req/day (1,000/day after $10 purchase)",
    "sdk": [
      "typescript",
      "python"
    ],
    "openapi": "https://openrouter.ai/openapi.json",
    "llms_txt": "https://openrouter.ai/docs/llms.txt",
    "desc_en": "Route chat requests to hundreds of LLMs from many providers through one OpenAI-compatible endpoint with fallback.",
    "notes": "The official remote MCP server uses OAuth PKCE and mints a 7-day key with a $10 default spend limit. It includes send-message and generate-image tools. OAuth PKCE is also available for apps.",
    "verified": "2026-09-24",
    "operations": [
      "llm-inference",
      "text-to-image"
    ],
    "free_plan": {
      "kind": "free_tier",
      "requires_card": false,
      "quota": "free models: 50 requests/day (1,000/day once $10+ credits purchased), 20 RPM",
      "period": "day",
      "source_url": "https://openrouter.ai/docs/api_reference/limits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <OPENROUTER_API_KEY>",
      "source_url": "https://openrouter.ai/docs/api-reference/overview",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://openrouter.ai/api/v1",
    "rate_limits": {
      "summary": "Free models 20 RPM and 50 RPD (1,000 RPD with >= $10 credits); paid models limited by provider/DDoS protection; X-RateLimit-* headers",
      "source_url": "https://openrouter.ai/docs/api_reference/limits",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "OpenRouter does not store prompts or responses unless you opt in; provider training/logging policies documented per provider",
      "source_url": "https://openrouter.ai/docs/guides/privacy/data-collection",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "send a chat completion to a routed model",
      "method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "example": "curl https://openrouter.ai/api/v1/chat/completions -H \"Content-Type: application/json\" -H \"Authorization: Bearer $OPENROUTER_API_KEY\" -d '{\"model\":\"~openai/gpt-sol-latest\",\"messages\":[{\"role\":\"user\",\"content\":\"What is the meaning of life?\"}]}'",
      "response_fields": [
        "id",
        "model",
        "choices[0].message.content",
        "usage"
      ],
      "async": null,
      "source_url": "https://openrouter.ai/docs/quickstart",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Tokens billed at the provider's list price per model (no markup); 5.5% fee on credit purchases (Standard), 8% (Business)",
      "source_url": "https://openrouter.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": true,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "sourceforge",
        "rating": 5.0,
        "reviews": 1,
        "url": "https://sourceforge.net/software/product/OpenRouter/",
        "fetched_at": "2026-09-24T17:02Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://openrouter.ai/api/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 336,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.openrouter.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 183,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    },
    "reviews_url": "https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/openrouter.json"
  },
  {
    "id": "piapi",
    "name": "PiAPI",
    "category": "model-inference",
    "homepage": "https://piapi.ai",
    "docs": "https://piapi.ai/docs/overview",
    "auth": "api_key",
    "auth_hint": "X-API-Key: <key>",
    "mcp": {
      "type": "community",
      "url": "https://github.com/apinetwork/piapi-mcp-server",
      "maintainer": "community",
      "repo": "https://github.com/apinetwork/piapi-mcp-server",
      "covers_full_api": true,
      "source_url": "https://github.com/apinetwork/piapi-mcp-server",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "community",
      "config": {
        "transport": "stdio",
        "command": "node",
        "args": [
          "/path/to/piapi-mcp-server/dist/index.js"
        ],
        "env": [
          "PIAPI_API_KEY"
        ],
        "docs_only": false,
        "source_url": "https://github.com/apinetwork/piapi-mcp-server#connecting-to-claude-desktop",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "trial credits: $0.50 on signup",
    "sdk": [],
    "openapi": null,
    "llms_txt": "https://piapi.ai/llms.txt",
    "desc_en": "Generate images, video and music through one API proxying Midjourney, Flux, Kling and other models.",
    "notes": "Third-party reseller, not the model owner. The Midjourney access is unofficial, so it can break or violate Midjourney's terms of service. Tasks are async (create task, then poll or webhook).",
    "verified": "2026-09-24",
    "operations": [
      "text-to-image",
      "text-to-video",
      "music-generation"
    ],
    "free_plan": {
      "kind": "trial",
      "quota": "$0.50 in free credits",
      "period": "one_time",
      "source_url": "https://piapi.ai/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "format": "X-API-Key: <PIAPI_KEY>",
      "source_url": "https://piapi.ai/docs/quickstart",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.piapi.ai",
    "async_jobs": {
      "value": true,
      "how": "POST https://api.piapi.ai/api/v1/task creates a task; get task endpoint for results, or webhook notifications",
      "source_url": "https://piapi.ai/docs/overview"
    },
    "no_auth": false,
    "call": {
      "operation": "generate an image from text (Flux)",
      "method": "POST",
      "url": "https://api.piapi.ai/api/v1/task",
      "example": "curl -X POST https://api.piapi.ai/api/v1/task -H \"X-API-Key: $PIAPI_KEY\" -H \"Content-Type: application/json\" -d '{\"model\":\"Qubico/flux1-schnell\",\"task_type\":\"txt2img\",\"input\":{\"prompt\":\"a little cat\",\"width\":1024,\"height\":1024}}'",
      "response_fields": [
        "data.task_id",
        "data.status",
        "data.output.image_url"
      ],
      "async": "poll GET https://api.piapi.ai/api/v1/task/{task_id} until data.status is completed",
      "source_url": "https://piapi.ai/docs/flux-api/text-to-image",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "Flux: flux1-schnell $0.0015 per image, flux1-dev $0.015 per image, flux1-dev-advanced $0.02 per image",
      "source_url": "https://piapi.ai/flux-api/llms.txt",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": true,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "llms_txt": "ok"
    },
    "ratings": [
      {
        "source": "github",
        "repo": "apinetwork/piapi-mcp-server",
        "stars": 75,
        "forks": 22,
        "pushed_at": "2026-09-17",
        "archived": false,
        "url": "https://github.com/apinetwork/piapi-mcp-server",
        "fetched_at": "2026-09-24T16:54Z"
      }
    ],
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.piapi.ai",
        "probes": 1,
        "up": 1,
        "median_ms": 435,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "replicate",
    "name": "Replicate",
    "category": "model-inference",
    "homepage": "https://replicate.com",
    "docs": "https://replicate.com/docs/reference/http",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <REPLICATE_API_TOKEN>",
    "mcp": {
      "type": "official",
      "url": "https://mcp.replicate.com/sse",
      "maintainer": "vendor",
      "remote_url": "https://mcp.replicate.com/sse",
      "repo": "https://www.npmjs.com/package/replicate-mcp",
      "source_url": "https://replicate.com/docs/reference/mcp",
      "checked_at": "2026-09-24",
      "domain_verified": true,
      "kind": "vendor-hosted",
      "config": {
        "transport": "sse",
        "url": "https://mcp.replicate.com/sse",
        "headers": null,
        "oauth": true,
        "docs_only": false,
        "source_url": "https://mcp.replicate.com",
        "checked_at": "2026-09-24"
      }
    },
    "free_tier": "paid only",
    "sdk": [
      "python",
      "javascript",
      "swift",
      "go"
    ],
    "openapi": "https://api.replicate.com/openapi.json",
    "llms_txt": "https://replicate.com/llms.txt",
    "desc_en": "Run thousands of hosted image, video, audio and text models via HTTP predictions; also fine-tune and deploy.",
    "notes": "Billed per second of compute or per output. The MCP server is also available locally via npx replicate-mcp.",
    "verified": "2026-09-24",
    "operations": [
      "text-to-image",
      "text-to-video",
      "text-to-speech",
      "llm-inference",
      "model-hosting"
    ],
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <REPLICATE_API_TOKEN>",
      "source_url": "https://replicate.com/docs/reference/http",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.replicate.com/v1",
    "rate_limits": {
      "summary": "Create prediction 600 req/min; other endpoints 3,000 req/min; accounts with granted credit but no payment method: 6 req/min",
      "source_url": "https://replicate.com/docs/topics/predictions/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "POST /v1/predictions returns a prediction to poll (GET /v1/predictions/{id}) or use webhooks; 'Prefer: wait' blocks up to 60s",
      "source_url": "https://replicate.com/docs/reference/http"
    },
    "data_policy": {
      "summary": "API prediction inputs, outputs, files and logs deleted automatically after one hour by default",
      "source_url": "https://replicate.com/docs/topics/predictions/data-retention",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "run an official model and wait for the output (FLUX schnell text-to-image)",
      "method": "POST",
      "url": "https://api.replicate.com/v1/models/{owner}/{name}/predictions",
      "example": "curl -s -X POST https://api.replicate.com/v1/models/black-forest-labs/flux-schnell/predictions -H \"Authorization: Bearer $REPLICATE_API_TOKEN\" -H 'Content-Type: application/json' -H 'Prefer: wait' -d '{\"input\": {\"prompt\": \"a sunset over mountains\"}}'",
      "response_fields": [
        "id",
        "status",
        "output",
        "error",
        "urls.get"
      ],
      "async": "if status is not succeeded after the 60 s wait, poll GET https://api.replicate.com/v1/predictions/{id}",
      "source_url": "https://replicate.com/docs/reference/http",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "black-forest-labs/flux-schnell: $3.00 per 1,000 output images ($0.003/image); other models billed per output or per second of compute",
      "source_url": "https://replicate.com/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.replicate.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 259,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      },
      "mcp_remote": {
        "url": "https://mcp.replicate.com/sse",
        "probes": 1,
        "up": 1,
        "median_ms": 279,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "together-ai",
    "name": "Together AI",
    "category": "model-inference",
    "homepage": "https://www.together.ai",
    "docs": "https://docs.together.ai",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <TOGETHER_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://docs.together.ai/docs/agent-skills.md",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "Paid only: no free trial; minimum $5 prepaid credit purchase",
    "sdk": [
      "python",
      "typescript"
    ],
    "openapi": "https://docs.together.ai/openapi.yaml",
    "llms_txt": "https://docs.together.ai/llms.txt",
    "desc_en": "Run serverless inference, batch jobs, fine-tuning and dedicated GPU endpoints for open-source models.",
    "notes": "Vendor MCP at https://docs.together.ai/mcp only searches the docs. The API is OpenAI-compatible.",
    "verified": "2026-09-24",
    "operations": [
      "llm-inference",
      "model-hosting"
    ],
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.together.ai/docs/billing-credits",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <TOGETHER_API_KEY>",
      "source_url": "https://docs.together.ai/docs/api-keys-authentication",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.together.ai/v1",
    "rate_limits": {
      "summary": "Dynamic per-model limits that scale with sustained traffic; 429 includes x-ratelimit-reset",
      "source_url": "https://docs.together.ai/docs/serverless/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API: upload JSONL, start batch job, poll until finished, retrieve results (up to 50% cheaper)",
      "source_url": "https://docs.together.ai/docs/inference/batch/tutorial"
    },
    "data_policy": {
      "summary": "By default stores prompts/responses and may use them for product improvement (admins can disable); training on org data is opt-in",
      "source_url": "https://docs.together.ai/docs/privacy-and-security",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "ok",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.together.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 453,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://docs.together.ai/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 591,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  },
  {
    "id": "vercel-ai-gateway",
    "name": "Vercel AI Gateway",
    "category": "model-inference",
    "homepage": "https://vercel.com/ai-gateway",
    "docs": "https://vercel.com/docs/ai-gateway/sdks-and-apis",
    "auth": "api_key+oauth2",
    "auth_hint": "Authorization: Bearer <AI_GATEWAY_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://vercel.com/docs/agent-resources/vercel-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: monthly credits on subset of models",
    "sdk": [
      "typescript",
      "python"
    ],
    "openapi": null,
    "llms_txt": "https://vercel.com/llms.txt",
    "desc_en": "Send chat, image, embedding and rerank requests to 100+ models through one gateway with failover and spend tracking.",
    "notes": "The base URL https://ai-gateway.vercel.sh works with OpenAI and Anthropic SDKs. Vercel's platform MCP (mcp.vercel.com) does not call the gateway, only buys its credits. Tokens have no markup. BYOK requires the paid tier. Free-tier overage returns 429. On Vercel, OIDC tokens can replace the API key.",
    "verified": "2026-09-24",
    "operations": [
      "llm-inference",
      "text-to-image",
      "embeddings",
      "reranking"
    ],
    "free_plan": {
      "kind": "free_tier",
      "quota": "free AI Gateway credits on a subset of models, rate-limited per model",
      "source_url": "https://vercel.com/docs/ai-gateway/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <AI_GATEWAY_API_KEY> (or Vercel OIDC token)",
      "source_url": "https://vercel.com/docs/ai-gateway/sdks-and-apis",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://ai-gateway.vercel.sh/v1",
    "rate_limits": {
      "summary": "Free tier: lower per-model limits (429); paid tier: no AI Gateway limits, only upstream provider limits",
      "source_url": "https://vercel.com/docs/ai-gateway/rate-limits",
      "checked_at": "2026-09-24"
    },
    "data_policy": {
      "summary": "Per-request Zero Data Retention routing to providers that do not retain or train on prompts (Pro and Enterprise)",
      "source_url": "https://vercel.com/docs/ai-gateway/pricing",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "create a chat completion",
      "method": "POST",
      "url": "https://ai-gateway.vercel.sh/v1/chat/completions",
      "example": "curl -X POST https://ai-gateway.vercel.sh/v1/chat/completions -H \"Authorization: Bearer $AI_GATEWAY_API_KEY\" -H \"Content-Type: application/json\" -d '{\"model\": \"anthropic/claude-opus-5\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'",
      "response_fields": [
        "choices[0].message.content",
        "choices[0].finish_reason",
        "usage.total_tokens",
        "model"
      ],
      "source_url": "https://vercel.com/docs/ai-gateway/sdks-and-apis/openai-chat-completions/chat-completions",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://ai-gateway.vercel.sh/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 447,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://mcp.vercel.com",
        "probes": 1,
        "up": 1,
        "median_ms": 238,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 401
        }
      }
    }
  },
  {
    "id": "voyage-ai-embeddings-rerank",
    "name": "Voyage AI (embeddings/rerank)",
    "category": "model-inference",
    "homepage": "https://www.voyageai.com",
    "docs": "https://docs.voyageai.com/reference/embeddings-api",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <VOYAGE_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "free tier: 200M tokens on current models",
    "sdk": [
      "python"
    ],
    "openapi": null,
    "llms_txt": "https://docs.voyageai.com/llms.txt",
    "desc_en": "Generate text, code and multimodal embeddings and rerank documents for RAG and semantic search.",
    "notes": "Owned by MongoDB, but the standalone API at api.voyageai.com is still self-serve. Free tokens do not apply to the Batch API.",
    "verified": "2026-09-24",
    "operations": [
      "embeddings",
      "reranking"
    ],
    "free_plan": {
      "kind": "free_tier",
      "quota": "first 200 million tokens per account on current models (e.g. voyage-4, voyage-4-large)",
      "period": "one_time",
      "source_url": "https://docs.voyageai.com/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <VOYAGE_API_KEY>",
      "source_url": "https://docs.voyageai.com/reference/embeddings-api",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.voyageai.com/v1",
    "rate_limits": {
      "summary": "Per model RPM/TPM by usage tier (Tier 1 = payment method added), e.g. voyage-3.5 2,000 RPM / 8M TPM; Tier 2 2x, Tier 3 3x",
      "source_url": "https://docs.voyageai.com/docs/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API: upload .jsonl file, create batch, poll GET retrieve batch",
      "source_url": "https://docs.voyageai.com/docs/batch-inference"
    },
    "data_policy": {
      "summary": "Voyage may store and use API data for training unless an org admin with a payment method opts out (then zero-day retention)",
      "source_url": "https://docs.voyageai.com/docs/faq",
      "checked_at": "2026-09-24"
    },
    "no_auth": false,
    "call": {
      "operation": "embed texts",
      "method": "POST",
      "url": "https://api.voyageai.com/v1/embeddings",
      "example": "curl -X POST https://api.voyageai.com/v1/embeddings -H \"Authorization: Bearer $VOYAGE_API_KEY\" -H \"content-type: application/json\" -d '{\"input\":[\"Sample text 1\",\"Sample text 2\"],\"model\":\"voyage-4\"}'",
      "response_fields": [
        "data[].embedding",
        "data[].index",
        "model",
        "usage.total_tokens"
      ],
      "async": null,
      "source_url": "https://docs.voyageai.com/reference/embeddings-api",
      "checked_at": "2026-09-24"
    },
    "unit_price": {
      "summary": "voyage-4: $0.06 per 1M tokens (voyage-4-lite $0.02, voyage-4-large $0.12); first 200M tokens free",
      "source_url": "https://docs.voyageai.com/docs/pricing",
      "checked_at": "2026-09-24"
    },
    "has_free_tier": true,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.voyageai.com/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 212,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      }
    }
  },
  {
    "id": "xai-grok-api",
    "name": "xAI Grok API",
    "category": "model-inference",
    "homepage": "https://docs.x.ai",
    "docs": "https://docs.x.ai/developers/rest-api-reference/inference",
    "auth": "api_key",
    "auth_hint": "Authorization: Bearer <XAI_API_KEY>",
    "mcp": {
      "type": "none",
      "url": null,
      "maintainer": "none",
      "source_url": "https://docs.x.ai/developers/docs-mcp",
      "checked_at": "2026-09-24",
      "domain_verified": null,
      "kind": "none",
      "config": null
    },
    "free_tier": "paid only (prepaid credits)",
    "sdk": [
      "python"
    ],
    "openapi": "https://docs.x.ai/openapi.json",
    "llms_txt": "https://docs.x.ai/llms.txt",
    "desc_en": "Generate text, images, video and voice with Grok models, with built-in web search and code tools.",
    "notes": "The account must have prepaid credits (console.x.ai). The API is OpenAI-compatible (/v1/responses, /v1/chat/completions). Vendor MCP at https://docs.x.ai/api/mcp only searches the docs.",
    "verified": "2026-09-24",
    "operations": [
      "llm-inference",
      "text-to-image",
      "text-to-video",
      "text-to-speech",
      "web-search"
    ],
    "free_plan": {
      "kind": "none",
      "source_url": "https://docs.x.ai/developers/quickstart",
      "checked_at": "2026-09-24"
    },
    "auth_scheme": {
      "type": "http",
      "scheme": "bearer",
      "format": "Authorization: Bearer <XAI_API_KEY>",
      "source_url": "https://docs.x.ai/developers/quickstart",
      "checked_at": "2026-09-24"
    },
    "base_url": "https://api.x.ai/v1",
    "rate_limits": {
      "summary": "Per-model RPS (RPM/60) and TPM by tier; tier based on cumulative spend since 2026-01-01 (Tier 0 $0, Tier 1 $50, Tier 2 $250...)",
      "source_url": "https://docs.x.ai/developers/rate-limits",
      "checked_at": "2026-09-24"
    },
    "async_jobs": {
      "value": true,
      "how": "Batch API: create batch, add requests, poll batch status until num_pending is 0",
      "source_url": "https://docs.x.ai/developers/advanced-api-usage/batch-api"
    },
    "no_auth": false,
    "has_free_tier": false,
    "has_trial": false,
    "no_card": false,
    "stale": false,
    "link_check": {
      "checked_at": "2026-09-24",
      "docs": "ok",
      "mcp": "reachable",
      "openapi": "ok",
      "llms_txt": "ok"
    },
    "uptime": {
      "window_days": 30,
      "api": {
        "url": "https://api.x.ai/v1",
        "probes": 1,
        "up": 1,
        "median_ms": 259,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 404
        }
      },
      "mcp_remote": {
        "url": "https://docs.x.ai/api/mcp",
        "probes": 1,
        "up": 1,
        "median_ms": 224,
        "last": {
          "at": "2026-09-24T18:26Z",
          "up": true,
          "detail": 200
        }
      }
    }
  }
]
