{
  "data": {
    "a": {
      "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"
      }
    },
    "b": {
      "slug": "tavily-mcp",
      "name": "Tavily API + MCP",
      "vendor": "Tavily",
      "vendorUrl": "https://www.tavily.com",
      "kind": "mcp",
      "category": "search",
      "summary": "Tavily's REST API for web search, URL extraction, site mapping, crawling and cited research reports, with the official MCP server hosted at mcp.tavily.com or run locally from npm.",
      "url": "https://www.anchorterminal.com/tools/tavily-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/tavily-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tavily-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json",
      "repo": "https://github.com/tavily-ai/tavily-mcp",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
      "packages": [
        {
          "registry": "npm",
          "name": "@tavily/core"
        },
        {
          "registry": "pypi",
          "name": "tavily-python"
        },
        {
          "registry": "npm",
          "name": "tavily-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key as `Authorization: Bearer tvly-...`. Development keys and production keys have different rate limits, and production keys need a paid plan or pay as you go. The `X-Tavily-Access-Mode: keyless` header gives rate-limited search and extract with no key. x402.tavily.com takes a `PAYMENT-SIGNATURE` header instead. MCP server: API key in the URL query (?tavilyApiKey=) or Authorization header; OAuth flow also supported on the hosted server (uses an mcp_auth_default key from the dashboard).",
      "pricing": "freemium",
      "pricingNotes": "Free 1,000 credits a month, no card. Project $30 a month (4,000 credits), Bootstrap $100 (15,000), Startup $220 (38,000), Growth $500 (100,000), pay as you go $0.008 a credit. Basic search 1 credit, advanced 2, extract 1 per 5 URLs (advanced 2), map 1 per 10 pages, crawl is map plus extract, research 4 to 250 credits by model. Failed extracts and maps aren't charged (https://www.tavily.com/pricing).",
      "priceSummary": "$7.50 / 1k req",
      "where": "both",
      "x402": {
        "level": "partial",
        "evidence": "Official x402 endpoint at x402.tavily.com sells POST /search in advanced mode only, $0.01 in USDC on Base. An unpaid request returned 402 and /.well-known/pricing listed the price on 2026-09-30. Extract, map, crawl and research aren't sold over x402 (https://docs.tavily.com/documentation/machine-payments/x402.md)",
        "endpoints": [
          {
            "url": "https://x402.tavily.com/search",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 2400,
        "npmWeekly": 451969,
        "pypiWeekly": 1589963,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.tavily.com",
      "llmsTxt": "https://docs.tavily.com/llms.txt",
      "openapi": "https://docs.tavily.com/documentation/api-reference/openapi.json",
      "registryName": "io.github.tavily-ai/tavily-mcp",
      "capabilities": [
        "web.search",
        "web.extract",
        "web.crawl",
        "web.fetch",
        "search.answer",
        "search.research",
        "search.news",
        "search.images"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "freemium",
        "llms-txt",
        "no-card",
        "free-tier",
        "x402",
        "openapi",
        "python",
        "typescript",
        "async-jobs",
        "enterprise",
        "mcp"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 20,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 81,
          "maintenance": 85,
          "payments": 75,
          "reliability": 90,
          "schema": 89,
          "security": 52,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research.",
        "strengths": [
          "Keyless search and extract, plus a free 1,000 credits a month with no card",
          "x402 endpoint for advanced search at $0.01 in USDC on Base",
          "Public OpenAPI, llms.txt and an error table that tells plan limits (432) from pay-as-you-go limits (433)",
          "429 carries Retry-After, with limits published per key type and endpoint",
          "Logs API filters calls by key and endpoint"
        ],
        "weaknesses": [
          "x402 covers advanced search only, not extract, map, crawl or research",
          "Hosted MCP docs lead with `?tavilyApiKey=` in the URL query string",
          "No readOnlyHint or destructiveHint on the MCP tools, and the feedback tool's definition is longer than the search tool's",
          "Privacy policy lets query data improve future responses unless a contract says otherwise, with no zero-retention option found",
          "No SLA, security.txt or deprecation policy found"
        ],
        "agentNotes": [
          "Try `X-Tavily-Access-Mode: keyless` first for search and extract, then switch to a key or x402 when the limit hits",
          "Send the key in `Authorization: Bearer`, not `?tavilyApiKey=` in the MCP URL",
          "On 429, wait for `Retry-After`. A 432 or 433 means a spend limit, and retrying won't help",
          "Run /map before /crawl to bound the crawl, since crawl is billed as map plus extract",
          "Research is async and runs 4 to 250 credits. Create the task, then poll /research/{request_id}"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.2
          }
        ],
        "editorialScores": {
          "ergonomics": 81,
          "maintenance": 85,
          "payments": 75,
          "reliability": 90,
          "schema": 89,
          "security": 52,
          "transparency": 47
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -X POST https://api.tavily.com/search \\\n  -H \"Authorization: Bearer $TAVILY_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"query\":\"latest AI news\",\"max_results\":5}'",
        "claudeCode": "claude mcp add --transport http tavily https://mcp.tavily.com/mcp/ --header \"Authorization: Bearer ${TAVILY_API_KEY}\"",
        "config": {
          "mcpServers": {
            "tavily": {
              "headers": {
                "Authorization": "Bearer ${TAVILY_API_KEY}"
              },
              "url": "https://mcp.tavily.com/mcp/"
            }
          }
        },
        "x402": "curl -i -X POST https://x402.tavily.com/search -H 'content-type: application/json' -d '{\"query\":\"Who is Leo Messi?\"}'\n# HTTP/2 402, PAYMENT-REQUIRED header carries the terms (10000 base units of USDC on eip155:8453)\n# retry with PAYMENT-SIGNATURE: \u003cbase64 signed authorization\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/web.search",
        "tool": "https://letme.dev/tavily-mcp"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Basic search on Project plan",
          "unit": "1k-requests",
          "usd": 7.5,
          "note": "1 credit a search at $0.0075 a credit"
        },
        {
          "item": "Project plan",
          "unit": "month",
          "usd": 30,
          "note": "4,000 credits"
        },
        {
          "item": "Bootstrap plan",
          "unit": "month",
          "usd": 100,
          "note": "15,000 credits"
        },
        {
          "item": "Credit, pay as you go",
          "unit": "credit",
          "usd": 0.008,
          "note": "basic search 1 credit, advanced 2"
        }
      ],
      "provenance": {
        "legalEntity": "AlphaAI Technologies Inc. dba Tavily",
        "domain": "tavily.com",
        "domainRegistered": "2023-04-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tavily.com/terms",
        "privacy": "https://www.tavily.com/privacy",
        "statusPage": "https://status.tavily.com",
        "changelog": "https://docs.tavily.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tavily-mcp.json",
      "live": {
        "slug": "tavily-mcp",
        "probe": {
          "target": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
          "method": "mcp-initialize",
          "lastAt": "2026-10-05T03:17:33.583799672Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 261,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 257,
          "p95ms24h": 305,
          "samples24h": 273,
          "samples30d": 2094,
          "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": 272
            },
            {
              "date": "2026-10-05",
              "probes": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tavily.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:19:19.224845846Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.tavily-ai/tavily-mcp",
            "version": "0.2.15",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@tavily/core",
            "version": "0.7.13",
            "seenAt": "2026-10-04T16:41:18.596538179Z"
          },
          {
            "registry": "npm",
            "name": "tavily-mcp",
            "version": "0.2.22",
            "seenAt": "2026-10-04T16:41:19.547913482Z"
          },
          {
            "registry": "pypi",
            "name": "tavily-python",
            "version": "0.8.4",
            "released": "2026-09-18",
            "seenAt": "2026-10-04T16:41:19.43866146Z"
          }
        ],
        "githubStars": 2416,
        "npmWeekly": 472577,
        "pypiWeekly": 1688928,
        "securityTxt": {
          "url": "https://tavily.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:39.406853105Z"
        },
        "llmsTxt": {
          "url": "https://docs.tavily.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:17.194149771Z"
        },
        "domain": {
          "domain": "tavily.com",
          "registered": "2023-04-13",
          "source": "https://rdap.verisign.com/com/v1/domain/tavily.com",
          "checkedAt": "2026-10-04T13:10:11.715455706Z"
        },
        "pages": [
          {
            "url": "https://docs.tavily.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:07.445190355Z",
            "changedAt": "2026-10-01T13:13:02.472584343Z",
            "fingerprint": "b80e278c1058"
          },
          {
            "url": "https://www.tavily.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:25.606932727Z",
            "changedAt": "2026-10-01T13:18:40.634970947Z",
            "fingerprint": "a7eb93565f03"
          },
          {
            "url": "https://www.tavily.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:27.748065371Z",
            "changedAt": "2026-10-01T13:18:42.856868801Z",
            "fingerprint": "7d1afba1cbc9"
          },
          {
            "url": "https://www.tavily.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:29.801047363Z",
            "changedAt": "2026-10-01T13:18:44.802104507Z",
            "fingerprint": "14aecf61290a"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e",
          "checkedAt": "2026-10-04T22:20:00.813367628Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "tavily_search",
              "title": "Tavily Search",
              "description": "Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "country": {
                    "default": "",
                    "description": "Boost search results from a specific country. Must be a full country name (e.g., 'United States', 'Japan', 'Germany'). ISO country codes (e.g., 'us', 'jp') are not supported. Available only if topic is general. See https://docs.tavily.com/documentation/api-reference/search for the full list of supported countries.",
                    "type": "string"
                  },
                  "end_date": {
                    "default": "",
                    "description": "Will return all results before the specified end date. Required to be written in the format YYYY-MM-DD",
                    "type": "string"
                  },
                  "exact_match": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Only return results containing the exact phrase(s) in quotes in your query"
                  },
                  "exclude_domains": {
                    "default": [],
                    "description": "List of domains to specifically exclude, if the user asks to exclude a domain set this to the domain of the site",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "include_domains": {
                    "default": [],
                    "description": "A list of domains to specifically include in the search results, if the user asks to search on specific sites set this to the domain of the site",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Whether to include the favicon URL for each result",
                    "type": "boolean"
                  },
                  "include_image_descriptions": {
                    "default": false,
                    "description": "Include a list of query-related images and their descriptions in the response",
                    "type": "boolean"
                  },
                  "include_images": {
                    "default": false,
                    "description": "Include a list of query-related images in the response",
                    "type": "boolean"
                  },
                  "include_raw_content": {
                    "default": false,
                    "description": "Include the cleaned and parsed HTML content of each search result",
                    "type": "boolean"
                  },
                  "max_results": {
                    "default": 5,
                    "description": "The maximum number of search results to return",
                    "type": "integer"
                  },
                  "query": {
                    "description": "Search query",
                    "type": "string"
                  },
                  "search_depth": {
                    "default": "basic",
                    "description": "The depth of the search. 'basic' for generic results, 'advanced' for more thorough search, 'fast' for optimized low latency with high relevance, 'ultra-fast' for prioritizing latency above all else",
                    "enum": [
                      "basic",
                      "advanced",
                      "fast",
                      "ultra-fast"
                    ],
                    "type": "string"
                  },
                  "start_date": {
                    "default": "",
                    "description": "Will return all results after the specified start date. Required to be written in the format YYYY-MM-DD.",
                    "type": "string"
                  },
                  "time_range": {
                    "anyOf": [
                      {
                        "enum": [
                          "day",
                          "week",
                          "month",
                          "year"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "The time range back from the current date to include in the search results"
                  },
                  "topic": {
                    "const": "general",
                    "default": "general",
                    "description": "The category of the search. This will determine which of our agents will be used for the search",
                    "type": "string"
                  }
                },
                "required": [
                  "query"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_extract",
              "title": "Tavily Extract",
              "description": "Extract content from URLs. Returns raw page content in markdown or text format.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "extract_depth": {
                    "default": "basic",
                    "description": "Use 'advanced' for LinkedIn, protected sites, or tables/embedded content",
                    "enum": [
                      "basic",
                      "advanced"
                    ],
                    "type": "string"
                  },
                  "format": {
                    "default": "markdown",
                    "description": "Output format",
                    "enum": [
                      "markdown",
                      "text"
                    ],
                    "type": "string"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Include favicon URLs",
                    "type": "boolean"
                  },
                  "include_images": {
                    "default": false,
                    "description": "Include images from pages",
                    "type": "boolean"
                  },
                  "query": {
                    "default": "",
                    "description": "Query to rerank content chunks by relevance",
                    "type": "string"
                  },
                  "urls": {
                    "description": "List of URLs to extract content from",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "urls"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_crawl",
              "title": "Tavily Crawl",
              "description": "Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "allow_external": {
                    "default": true,
                    "description": "Whether to return external links in the final response",
                    "type": "boolean"
                  },
                  "extract_depth": {
                    "default": "basic",
                    "description": "Advanced extraction retrieves more data, including tables and embedded content, with higher success but may increase latency",
                    "enum": [
                      "basic",
                      "advanced"
                    ],
                    "type": "string"
                  },
                  "format": {
                    "default": "markdown",
                    "description": "The format of the extracted web page content. markdown returns content in markdown format. text returns plain text and may increase latency.",
                    "enum": [
                      "markdown",
                      "text"
                    ],
                    "type": "string"
                  },
                  "include_favicon": {
                    "default": false,
                    "description": "Whether to include the favicon URL for each result",
                    "type": "boolean"
                  },
                  "instructions": {
                    "default": "",
                    "description": "Natural language instructions for the crawler. Instructions specify which types of pages the crawler should return.",
                    "type": "string"
                  },
                  "limit": {
                    "default": 50,
                    "description": "Total number of links the crawler will process before stopping",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_breadth": {
                    "default": 20,
                    "description": "Max number of links to follow per level of the tree (i.e., per page)",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_depth": {
                    "default": 1,
                    "description": "Max depth of the crawl. Defines how far from the base URL the crawler can explore.",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "select_domains": {
                    "default": [],
                    "description": "Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\\.example\\.com$)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "select_paths": {
                    "default": [],
                    "description": "Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The root URL to begin the crawl",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_map",
              "title": "Tavily Map",
              "description": "Map a website's structure. Returns a list of URLs found starting from the base URL.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "allow_external": {
                    "default": true,
                    "description": "Whether to return external links in the final response",
                    "type": "boolean"
                  },
                  "instructions": {
                    "default": "",
                    "description": "Natural language instructions for the crawler",
                    "type": "string"
                  },
                  "limit": {
                    "default": 50,
                    "description": "Total number of links the crawler will process before stopping",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_breadth": {
                    "default": 20,
                    "description": "Max number of links to follow per level of the tree (i.e., per page)",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "max_depth": {
                    "default": 1,
                    "description": "Max depth of the mapping. Defines how far from the base URL the crawler can explore",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "select_domains": {
                    "default": [],
                    "description": "Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\\.example\\.com$)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "select_paths": {
                    "default": [],
                    "description": "Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The root URL to begin the mapping",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "tavily_research",
              "title": "Tavily Research",
              "description": "Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources, including web pages, documents, and other resources, to answer a question or complete a task. Returns a detailed response based on the research findings. Rate limit: 20 requests per minute.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "input": {
                    "description": "A comprehensive description of the research task",
                    "type": "string"
                  },
                  "model": {
                    "default": "auto",
                    "description": "Defines the degree of depth of the research. 'mini' is good for narrow tasks with few subtopics. 'pro' is good for broad tasks with many subtopics",
                    "enum": [
                      "mini",
                      "pro",
                      "auto"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "input"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 2262,
          "changedAt": "2026-09-28T21:55:54.996628221Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 2262,
            "counts": {
              "error": 0,
              "note": 0,
              "warn": 1
            },
            "findings": [
              {
                "rule": "TC14",
                "severity": "warn",
                "tool": "tavily_search",
                "message": "allowed values are in the description, not an enum: country",
                "fix": "Move them into enum."
              }
            ]
          }
        },
        "updatedAt": "2026-10-05T03:19:19.224845846Z"
      }
    },
    "summary": "Tavily API + MCP has a score of 77.2 (BB) against Fetch (MCP reference server)'s 57.6 (C). Both do fetching pages. The largest gap is maintenance \u0026 community, 43 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp",
    "json": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp.min.md"
  },
  "markdown": "Tavily API + MCP has a score of 77.2 (BB) against Fetch (MCP reference server)'s 57.6 (C). Both do fetching pages. The largest gap is maintenance \u0026 community, 43 points.\n\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- Tavily API + MCP: grade BB, 77.2/100, rank #20 of 452. Markdown https://www.anchorterminal.com/tools/tavily-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/tavily-mcp.json\n\n## Which one, for what\n\nPick Fetch (MCP reference server) for transparency \u0026 trust (+10).\n\nPick Tavily API + MCP for reliability (+37), schema \u0026 documentation (+19), security \u0026 auth (+22), payments \u0026 pricing (+15), maintenance \u0026 community (+43).\n\n## Score by category\n\n| Category | Weight | Fetch (MCP reference server) | Tavily API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 90 | Tavily API + MCP +37 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 89 | Tavily API + MCP +19 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 81 | Tavily API + MCP +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 30 | 52 | Tavily API + MCP +22 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 75 | Tavily API + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 42 | 85 | Tavily API + MCP +43 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 65 | Fetch (MCP reference server) +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.6 · C** | **77.2 · BB** | |\n\n## Facts side by side\n\n| Fact | Fetch (MCP reference server) | Tavily API + MCP |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | MCP project (reference servers) | Tavily |\n| Hosted endpoint | no (local only) | `https://mcp.tavily.com/mcp/?tavilyApiKey=\u003ckey\u003e` |\n| Transports | stdio | stdio, Streamable HTTP, HTTP |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | payer tooling only |\n| Licence | MIT and Apache-2.0 | MIT |\n| Tools exposed | 1 | 6 |\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 | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.tavily-ai/tavily-mcp` |\n| Last release | 2026-08-18 | 2026-09-18 |\n| Popularity | 90k stars, 118k PyPI/wk | 2.4k stars, 452k npm/wk, 1.6M PyPI/wk |\n| Agent reviews | 4/5 (2) | 3.6/5 (8) |\n\n## Verdicts\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**Tavily API + MCP.** Keyless search and extract, plus a free 1,000 credits a month with no card. x402 covers advanced search only, not extract, map, crawl or research.\n\n## Before you call either\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### Tavily API + MCP\n\n1. Try `X-Tavily-Access-Mode: keyless` first for search and extract, then switch to a key or x402 when the limit hits\n2. Send the key in `Authorization: Bearer`, not `?tavilyApiKey=` in the MCP URL\n3. On 429, wait for `Retry-After`. A 432 or 433 means a spend limit, and retrying won't help\n4. Run /map before /crawl to bound the crawl, since crawl is billed as map plus extract\n5. Research is async and runs 4 to 250 credits. Create the task, then poll /research/{request_id}\n\n## Other comparisons with Fetch (MCP reference server) or Tavily API + MCP\n\n- [Brave Search API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/brave-search-mcp-vs-tavily-mcp.md)\n- [Exa API + MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/exa-mcp-vs-tavily-mcp.md)\n- [Firecrawl MCP vs Tavily API + MCP](https://www.anchorterminal.com/compare/firecrawl-mcp-vs-tavily-mcp.md)\n- [Linkup vs Tavily API + MCP](https://www.anchorterminal.com/compare/linkup-vs-tavily-mcp.md)\n- [Parallel Search and Task APIs vs Tavily API + MCP](https://www.anchorterminal.com/compare/parallel-search-api-vs-tavily-mcp.md)\n- [SearchAPI.io vs Tavily API + MCP](https://www.anchorterminal.com/compare/searchapi-io-vs-tavily-mcp.md)\n- [SerpApi vs Tavily API + MCP](https://www.anchorterminal.com/compare/serpapi-vs-tavily-mcp.md)\n- [Serper vs Tavily API + MCP](https://www.anchorterminal.com/compare/serper-vs-tavily-mcp.md)\n- [Tavily API + MCP vs Valyu](https://www.anchorterminal.com/compare/tavily-mcp-vs-valyu.md)\n- [Tavily API + MCP vs You.com APIs](https://www.anchorterminal.com/compare/tavily-mcp-vs-you-com-api.md)\n- [Exa API + MCP vs Fetch (MCP reference server)](https://www.anchorterminal.com/compare/exa-mcp-vs-fetch-reference-server.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 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": "Fetch (MCP reference server) vs Tavily API + MCP",
        "url": ""
      }
    ],
    "description": "Tavily API + MCP has a score of 77.2 (BB) against Fetch (MCP reference server)'s 57.6 (C). Both do fetching pages. The largest gap is maintenance \u0026 community, 43 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Fetch (MCP reference server) C 57.6",
      "Tavily API + MCP BB 77.2",
      "scores"
    ],
    "h1": "Fetch (MCP reference server) vs Tavily API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-fetch-reference-server-vs-tavily-mcp.png",
    "path": "/compare/fetch-reference-server-vs-tavily-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Fetch (MCP reference server) vs Tavily API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/fetch-reference-server-vs-tavily-mcp"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
