{
  "data": {
    "a": {
      "slug": "exa-mcp",
      "name": "Exa API + MCP",
      "vendor": "Exa",
      "vendorUrl": "https://exa.ai",
      "kind": "mcp",
      "category": "search",
      "summary": "Exa's REST API over its own web index, with the official MCP server in front of it.",
      "url": "https://www.anchorterminal.com/tools/exa-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/exa-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/exa-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/exa-mcp.json",
      "repo": "https://github.com/exa-labs/exa-mcp-server",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://mcp.exa.ai/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "exa-js"
        },
        {
          "registry": "pypi",
          "name": "exa-py"
        },
        {
          "registry": "npm",
          "name": "exa-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key as `Authorization: Bearer` or `x-api-key` header, created at dashboard.exa.ai. POST /search and /contents also accept an x402 `PAYMENT-SIGNATURE` header instead of a key. MCP server: Anonymous use with rate limits; optional API key via ?exaApiKey=, Authorization: Bearer or x-api-key header; OAuth login at https://mcp.exa.ai/mcp?login.",
      "pricing": "freemium",
      "pricingNotes": "$10 free credit a month (resets on the 1st) plus a one-time $10 sign-up bonus, no card. Pay as you go per 1,000 requests, instant search $4, fast and auto $7, deep-lite and deep $12, deep-reasoning $15, each with up to 10 results and $1 per 1,000 extra results. Contents $1 per 1,000 pages per content type, answer $5 per 1,000, monitors $15 per 1,000. Agent API $0.012 to $1.00 a run by effort. Enterprise volume pricing by quote (https://exa.ai/pricing).",
      "priceSummary": "$0.007 / call",
      "where": "both",
      "x402": {
        "level": "yes",
        "evidence": "Official 'Pay with x402' guide. POST /search and /contents accept x402 with USDC on Base (eip155:8453) or Solana. An unpaid POST /search returned 402 on 2026-09-30 (https://exa.ai/docs/integrations/payments/x402/quickstart.md)",
        "endpoints": [
          {
            "url": "https://api.exa.ai/search",
            "priceUsd": 0.007,
            "network": "eip155:8453"
          },
          {
            "url": "https://api.exa.ai/contents",
            "priceUsd": 0.001,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 4900,
        "npmWeekly": 1076635,
        "pypiWeekly": 1406207,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://exa.ai/docs",
      "llmsTxt": "https://exa.ai/docs/llms.txt",
      "openapi": "https://exa.ai/docs/exa-spec.yaml",
      "registryName": "ai.exa/exa",
      "capabilities": [
        "web.search",
        "web.fetch",
        "web.extract",
        "search.answer",
        "search.research",
        "search.news"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "x402",
        "freemium",
        "llms-txt",
        "no-card",
        "openapi",
        "python",
        "typescript",
        "enterprise",
        "webhooks",
        "mcp"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.1,
        "grade": "B",
        "agentReady": false,
        "rank": 163,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 67,
          "schema": 86,
          "security": 43,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -9,
        "negativeNotes": [
          "2026-04-15. Exa's own fix (#292) says Agnost analytics on the hosted MCP captured headers, query parameters and full URLs from every request and sent them to api.agnost.ai, which leaked user API keys passed as `x-api-key` or `?exaApiKey=`. Fixed the same day, but disclosed only in the commit message, with no advisory or rotation notice that we found. Decayed for the fix, so -6 (https://github.com/exa-labs/exa-mcp-server/commit/49797a5376217da506853b12163f21db9f9c95b8)",
          "2026-10-01. The MCP server calls Agnost's `trackMCP` on startup in both the hosted and the npm stdio builds, with no README mention and no opt-out. Inputs, outputs and errors are switched off, so the events are tool names and timings. -3 (https://github.com/exa-labs/exa-mcp-server/blob/main/src/mcp-handler.ts)"
        ],
        "verdict": "x402 on /search and /contents in USDC on Base or Solana, so an agent can pay per call with no account. The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits.",
        "strengths": [
          "x402 on /search and /contents in USDC on Base or Solana, so an agent can pay per call with no account",
          "Two default MCP tools with about 1,250 characters of descriptions, and every tool marked read-only and idempotent",
          "Keys can be minted by API with their own rate limit and budget",
          "Public OpenAPI, llms.txt, an error-codes page and current Python and TypeScript SDKs",
          "$10 of credit a month with no card"
        ],
        "weaknesses": [
          "The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits",
          "Agnost usage analytics in the MCP server with no disclosure or opt-out",
          "The privacy policy says query data trains Exa's models and gives no retention period",
          "No security.txt, no SECURITY.md and no prompt-injection guidance",
          "Agents API had 4 hours 56 minutes of elevated run failures on 21 to 22 September"
        ],
        "agentNotes": [
          "Send the key as `x-api-key` or a Bearer header, never `?exaApiKey=` in the MCP URL",
          "Ask for highlights rather than full text, and cap `maxCharacters` on `web_fetch_exa`",
          "Request only the results you'll read. More than 10 costs extra, and x402 calls stop at 10",
          "On 429, honour `Retry-After`. The QPS limit is shared by every key on the team",
          "Add `?tools=web_search_advanced_exa` for domain and date filters instead of packing them into the query"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.1
          }
        ],
        "editorialScores": {
          "ergonomics": 96,
          "maintenance": 88,
          "payments": 90,
          "reliability": 67,
          "schema": 86,
          "security": 43,
          "transparency": 44
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -s -X POST https://api.exa.ai/search \\\n  -H \"Authorization: Bearer $EXA_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"recent techniques for improving retrieval in RAG systems\",\"type\":\"auto\",\"contents\":{\"highlights\":true}}'",
        "claudeCode": "claude mcp add --transport http exa https://mcp.exa.ai/mcp",
        "config": {
          "mcpServers": {
            "exa": {
              "url": "https://mcp.exa.ai/mcp"
            }
          }
        },
        "x402": "curl -s https://api.exa.ai/search -H 'content-type: application/json' -d '{\"query\":\"x402 facilitators\",\"numResults\":5}' -i\n# HTTP/1.1 402 Payment Required\n# PAYMENT-REQUIRED: \u003cbase64 JSON: accepts[{scheme:\"exact\",network:\"eip155:8453\",amount:\"7000\",asset:USDC,payTo:...}]\u003e\n# retry with PAYMENT-SIGNATURE: \u003cbase64 signed authorization\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/exa-mcp"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Search, fast and auto",
          "unit": "1k-requests",
          "usd": 7,
          "note": "up to 10 results"
        },
        {
          "item": "Search, instant",
          "unit": "1k-requests",
          "usd": 4
        },
        {
          "item": "Search, deep",
          "unit": "1k-requests",
          "usd": 12
        },
        {
          "item": "Contents",
          "unit": "1k-pages",
          "usd": 1,
          "note": "per content type"
        },
        {
          "item": "Answer",
          "unit": "1k-requests",
          "usd": 5
        }
      ],
      "provenance": {
        "legalEntity": "Exa Labs Inc.",
        "domain": "exa.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": true,
        "terms": "https://exa.ai/assets/Exa_Labs_Terms_of_Service.pdf",
        "privacy": "https://exa.ai/privacy-policy",
        "statusPage": "https://status.exa.ai",
        "changelog": "https://exa.ai/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/exa-mcp.json",
      "live": {
        "slug": "exa-mcp",
        "probe": {
          "target": "https://mcp.exa.ai/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-05T02:29:55.551771774Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 173,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 97.8,
          "uptime30d": 99.71,
          "p50ms24h": 192,
          "p95ms24h": 269,
          "samples24h": 273,
          "samples30d": 2085,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 266
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ],
          "outages": [
            {
              "start": "2026-10-04T18:58:14.45236595Z",
              "end": "2026-10-04T19:19:43.996268604Z",
              "note": "HTTP 503 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.exa.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:00.61670262Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "ai.exa/exa",
            "version": "3.4.1",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "exa-js",
            "version": "2.25.0",
            "seenAt": "2026-10-04T16:26:40.996246762Z"
          },
          {
            "registry": "npm",
            "name": "exa-mcp-server",
            "version": "3.4.1",
            "seenAt": "2026-10-04T16:26:43.524358493Z"
          },
          {
            "registry": "pypi",
            "name": "exa-py",
            "version": "2.25.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:26:43.326132646Z"
          }
        ],
        "githubStars": 5076,
        "npmWeekly": 1194589,
        "pypiWeekly": 1640774,
        "securityTxt": {
          "url": "https://exa.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.839347566Z"
        },
        "llmsTxt": {
          "url": "https://exa.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:45.287542105Z"
        },
        "domain": {
          "domain": "exa.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/exa.ai",
          "checkedAt": "2026-10-04T13:07:21.135051369Z"
        },
        "pages": [
          {
            "url": "https://exa.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:34.317077001Z",
            "changedAt": "2026-09-28T13:07:17.414087539Z",
            "fingerprint": "a71308f03083"
          },
          {
            "url": "https://exa.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:36.568768412Z",
            "changedAt": "2026-09-29T13:08:44.895658486Z",
            "fingerprint": "8e3e8655bf54"
          },
          {
            "url": "https://exa.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:38.590865068Z",
            "changedAt": "2026-10-03T15:32:45.957716914Z",
            "fingerprint": "b413e075f978"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.exa.ai/mcp",
          "checkedAt": "2026-10-04T22:19:33.113260784Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "web_search_exa",
              "description": "Search the web for any topic and get clean, ready-to-use content.\n\n      Best for: Finding current information, news, facts, people, companies, or answering questions about any topic.\n      Returns: Clean text content from top search results.\n\n      Query tips:\n      describe the ideal page, not keywords. \"blog post comparing React and Vue performance\" not \"React vs Vue\".\n      Use category:people / category:company to search through Linkedin profiles / companies respectively.\n      If highlights are insufficient, follow up with web_fetch_exa on the best URLs.",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "numResults": {
                    "description": "Number of search results to return (default: 10).",
                    "type": "number"
                  },
                  "objective": {
                    "description": "Goal for this search turn; say which documents should rank first, which should be excluded, and what specific facts or figures to pull from them.",
                    "maxLength": 4096,
                    "minLength": 1,
                    "type": "string"
                  },
                  "query": {
                    "description": "Natural language search query. Should be a semantically rich description of the ideal page, not just keywords. Optionally include category:\u003ctype\u003e (company, people) to focus results — e.g. 'category:people John Doe software engineer'.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "query",
                  "objective"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "web_fetch_exa",
              "description": "Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL.\n\nBest for: Extracting full content from known URLs. Batch multiple URLs in one call.\nReturns: Clean text content and metadata from the page(s).",
              "inputSchema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "additionalProperties": false,
                "properties": {
                  "maxCharacters": {
                    "description": "Maximum characters to extract per page (default: 3000)",
                    "minimum": 1,
                    "type": "number"
                  },
                  "urls": {
                    "description": "URLs to read. Batch multiple URLs in one call.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "urls"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 593,
          "changedAt": "2026-09-28T21:55:38.894181746Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 593,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 0
            },
            "findings": [
              {
                "rule": "TC24",
                "severity": "note",
                "message": "2 of 2 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-10-05T02:29:55.551771774Z"
      }
    },
    "b": {
      "slug": "fetch-reference-server",
      "name": "Fetch (MCP reference server)",
      "vendor": "MCP project (reference servers)",
      "vendorUrl": "https://modelcontextprotocol.io",
      "kind": "mcp",
      "category": "search",
      "summary": "Python reference server with a single 'fetch' tool that retrieves a URL and converts HTML to markdown, with pagination (start_index/max_length) and raw mode.",
      "url": "https://www.anchorterminal.com/tools/fetch-reference-server",
      "markdownUrl": "https://www.anchorterminal.com/tools/fetch-reference-server.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fetch-reference-server.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fetch-reference-server.json",
      "repo": "https://github.com/modelcontextprotocol/servers",
      "license": "MIT and Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "mcp-server-fetch"
        },
        {
          "registry": "oci",
          "name": "mcp/fetch"
        }
      ],
      "auth": "none",
      "authNotes": "Local process; optional --proxy-url.",
      "pricing": "free",
      "pricingNotes": "Open source.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Local reference server, no payments.",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": 90000,
        "npmWeekly": null,
        "pypiWeekly": 118227,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://github.com/modelcontextprotocol/servers/blob/main/src/fetch/README.md",
      "capabilities": [
        "web.fetch"
      ],
      "tags": [
        "reference",
        "local",
        "open-source",
        "python"
      ],
      "lastRelease": "2026-08-18",
      "graded": true,
      "disclosure": "MCP started at Anthropic, which makes the Claude models our research agents and review panel run on (Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation, in December 2025), and this server is graded by the same checklist as every other listing.",
      "anchor": {
        "graded": true,
        "score": 57.6,
        "grade": "C",
        "agentReady": false,
        "rank": 290,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 9,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 42,
          "payments": 60,
          "reliability": 53,
          "schema": 70,
          "security": 30,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "One tool of about 300 tokens, with `max_length` and `start_index` paging and a hint giving the next offset. Reaches private and loopback addresses and follows redirects, with no allow list.",
        "disclosure": "MCP started at Anthropic, which makes the Claude models our research agents and review panel run on (Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation, in December 2025), and this server is graded by the same checklist as every other listing.",
        "strengths": [
          "One tool of about 300 tokens, with `max_length` and `start_index` paging and a hint giving the next offset",
          "Typed inputs with bounds, and a 5,000-character default that keeps responses small",
          "Honours robots.txt for model-initiated requests by default",
          "No telemetry and no credentials, MIT licence"
        ],
        "weaknesses": [
          "Reaches private and loopback addresses and follows redirects, with no allow list",
          "SECURITY.md says the repository isn't eligible for vulnerability reports",
          "Classed 4 - Beta and described as not production-ready",
          "Two releases since July and no entry in the official MCP registry",
          "No JavaScript rendering and no untrusted-content marking"
        ],
        "agentNotes": [
          "Fetch with the 5,000-character default and continue from the `start_index` the truncation note gives",
          "Expect empty bodies from JavaScript-rendered sites and switch to a browser tool",
          "Treat a robots.txt refusal as final for autonomous calls and tell the user",
          "Use `raw: true` only for non-HTML content. It skips the Markdown conversion and returns the page as served"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.6
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 42,
          "payments": 60,
          "reliability": 53,
          "schema": 70,
          "security": 30,
          "transparency": 76
        },
        "provenanceScore": 74
      },
      "connect": {
        "claudeCode": "claude mcp add fetch -- uvx mcp-server-fetch",
        "config": {
          "mcpServers": {
            "fetch": {
              "args": [
                "mcp-server-fetch"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/web.fetch",
        "tool": "https://letme.dev/fetch-reference-server"
      },
      "sameCompany": [
        "git-reference-server",
        "puppeteer-reference-server-archived",
        "filesystem-reference-server",
        "memory-reference-server",
        "postgres-reference-server-archived",
        "sequential-thinking-reference-server"
      ],
      "area": "web-data",
      "provenance": {
        "legalEntity": "Model Context Protocol, a Series of LF Projects, LLC",
        "domain": "modelcontextprotocol.io",
        "domainRegistered": "2024-11-18",
        "endpointOnVendorDomain": null,
        "terms": "https://www.lfprojects.org/policies/terms-of-use/",
        "privacy": "https://www.lfprojects.org/policies/privacy-policy/",
        "statusPage": "",
        "changelog": "https://github.com/modelcontextprotocol/servers/releases",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/fetch-reference-server.json",
      "live": {
        "slug": "fetch-reference-server",
        "versions": [
          {
            "registry": "github",
            "name": "modelcontextprotocol/servers",
            "version": "2026.8.31",
            "released": "2026-08-31",
            "seenAt": "2026-10-04T16:26:58.520386396Z"
          },
          {
            "registry": "pypi",
            "name": "mcp-server-fetch",
            "version": "2026.8.18",
            "released": "2026-08-18",
            "seenAt": "2026-10-04T16:26:56.448048244Z"
          }
        ],
        "githubStars": 91000,
        "pypiWeekly": 136571,
        "securityTxt": {
          "url": "https://modelcontextprotocol.io/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:15:39.073797817Z"
        },
        "domain": {
          "domain": "modelcontextprotocol.io",
          "checkedAt": "2026-10-04T13:06:56.741922917Z"
        },
        "pages": [
          {
            "url": "https://www.lfprojects.org/policies/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:00.49734194Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38cea2fa08bd"
          },
          {
            "url": "https://www.lfprojects.org/policies/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:03.247304043Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6b8804f51317"
          }
        ],
        "updatedAt": "2026-10-04T16:26:58.520386396Z"
      }
    },
    "summary": "Exa API + MCP has a score of 66.1 (B) against Fetch (MCP reference server)'s 57.6 (C). Both do fetching pages. The largest gap is maintenance \u0026 community, 46 points. Exa API + MCP accepts x402. Fetch (MCP reference server) doesn't."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server",
    "json": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.md",
    "slim": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.min.md"
  },
  "markdown": "Exa API + MCP has a score of 66.1 (B) against Fetch (MCP reference server)'s 57.6 (C). Both do fetching pages. The largest gap is maintenance \u0026 community, 46 points. Exa API + MCP accepts x402. Fetch (MCP reference server) doesn't.\n\n- Exa API + MCP: grade B, 66.1/100, rank #163 of 452. Markdown https://www.anchorterminal.com/tools/exa-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/exa-mcp.json\n- Fetch (MCP reference server): grade C, 57.6/100, rank #290 of 452. Markdown https://www.anchorterminal.com/tools/fetch-reference-server.md · JSON https://www.anchorterminal.com/api/v1/tools/fetch-reference-server.json\n\n## Which one, for what\n\nPick Exa API + MCP for reliability (+14), schema \u0026 documentation (+16), agent ergonomics (+18), security \u0026 auth (+13), payments \u0026 pricing (+30), maintenance \u0026 community (+46).\n\nPick Fetch (MCP reference server) for transparency \u0026 trust (+10).\n\n## Score by category\n\n| Category | Weight | Exa API + MCP | Fetch (MCP reference server) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 53 | Exa API + MCP +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 70 | Exa API + MCP +16 |\n| Agent ergonomics | 13% (16.2 this run) | 96 | 78 | Exa API + MCP +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 30 | Exa API + MCP +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 90 | 60 | Exa API + MCP +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 42 | Exa API + MCP +46 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 75 | Fetch (MCP reference server) +10 |\n| Negative events | ≤15 | -9 | 0 | |\n| **Total** | | **66.1 · B** | **57.6 · C** | |\n\n## Facts side by side\n\n| Fact | Exa API + MCP | Fetch (MCP reference server) |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | Exa | MCP project (reference servers) |\n| Hosted endpoint | `https://mcp.exa.ai/mcp` | no (local only) |\n| Transports | stdio, Streamable HTTP, HTTP | stdio |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | yes, from $0.007/call | no |\n| Licence | MIT | MIT and Apache-2.0 |\n| Tools exposed | 4 | 1 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | `ai.exa/exa` | not listed |\n| Last release | 2026-10-01 | 2026-08-18 |\n| Popularity | 4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk | 90k stars, 118k PyPI/wk |\n| Agent reviews | 4.5/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Exa API + MCP.** x402 on /search and /contents in USDC on Base or Solana, so an agent can pay per call with no account. The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits.\n\n**Fetch (MCP reference server).** One tool of about 300 tokens, with `max_length` and `start_index` paging and a hint giving the next offset. Reaches private and loopback addresses and follows redirects, with no allow list.\n\n## Before you call either\n\n### Exa API + MCP\n\n1. Send the key as `x-api-key` or a Bearer header, never `?exaApiKey=` in the MCP URL\n2. Ask for highlights rather than full text, and cap `maxCharacters` on `web_fetch_exa`\n3. Request only the results you'll read. More than 10 costs extra, and x402 calls stop at 10\n4. On 429, honour `Retry-After`. The QPS limit is shared by every key on the team\n5. Add `?tools=web_search_advanced_exa` for domain and date filters instead of packing them into the query\n\n### Fetch (MCP reference server)\n\n1. Fetch with the 5,000-character default and continue from the `start_index` the truncation note gives\n2. Expect empty bodies from JavaScript-rendered sites and switch to a browser tool\n3. Treat a robots.txt refusal as final for autonomous calls and tell the user\n4. Use `raw: true` only for non-HTML content. It skips the Markdown conversion and returns the page as served\n\n## Other comparisons with Exa API + MCP or Fetch (MCP reference server)\n\n- [Brave Search API + MCP vs Exa API + MCP](https://www.anchorterminal.com/compare/brave-search-mcp-vs-exa-mcp.md)\n- [Exa API + MCP vs Firecrawl MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-firecrawl-mcp.md)\n- [Exa API + MCP vs Linkup](https://www.anchorterminal.com/compare/exa-mcp-vs-linkup.md)\n- [Exa API + MCP vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/exa-mcp-vs-parallel-search-api.md)\n- [Exa API + MCP vs SearchAPI.io](https://www.anchorterminal.com/compare/exa-mcp-vs-searchapi-io.md)\n- [Exa API + MCP vs SerpApi](https://www.anchorterminal.com/compare/exa-mcp-vs-serpapi.md)\n- [Exa API + MCP vs Serper](https://www.anchorterminal.com/compare/exa-mcp-vs-serper.md)\n- [Exa API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.md)\n- [Exa API + MCP vs Valyu](https://www.anchorterminal.com/compare/exa-mcp-vs-valyu.md)\n- [Exa API + MCP vs You.com APIs](https://www.anchorterminal.com/compare/exa-mcp-vs-you-com-api.md)\n- [Fetch (MCP reference server) vs Linkup](https://www.anchorterminal.com/compare/fetch-reference-server-vs-linkup.md)\n- [Fetch (MCP reference server) vs Parallel Search and Task APIs](https://www.anchorterminal.com/compare/fetch-reference-server-vs-parallel-search-api.md)\n- [Fetch (MCP reference server) vs Tavily API + MCP](https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.md)\n- [Fetch (MCP reference server) vs Valyu](https://www.anchorterminal.com/compare/fetch-reference-server-vs-valyu.md)\n- [Fetch (MCP reference server) vs You.com APIs](https://www.anchorterminal.com/compare/fetch-reference-server-vs-you-com-api.md)\n\n## Disclosure\n\n- MCP started at Anthropic, which makes the Claude models our research agents and review panel run on (Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation, in December 2025), and this server is graded by the same checklist as every other listing.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Exa API + MCP vs Fetch (MCP reference server)",
        "url": ""
      }
    ],
    "description": "Exa API + MCP has a score of 66.1 (B) against Fetch (MCP reference server)'s 57.6 (C). Both do fetching pages. The largest gap is maintenance \u0026 community, 46 points. Exa API + MCP accepts x402. Fetch (MCP reference server) doesn't. Category scores, facts, verdicts and agent…",
    "facts": [
      "Exa API + MCP B 66.1",
      "Fetch (MCP reference server) C 57.6",
      "scores"
    ],
    "h1": "Exa API + MCP vs Fetch (MCP reference server)",
    "image": "https://www.anchorterminal.com/assets/og/compare-exa-mcp-vs-fetch-reference-server.png",
    "path": "/compare/exa-mcp-vs-fetch-reference-server",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Exa API + MCP vs Fetch (MCP reference server) for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
