{
  "data": {
    "a": {
      "slug": "context7",
      "name": "Context7",
      "vendor": "Upstash",
      "vendorUrl": "https://context7.com",
      "kind": "mcp",
      "category": "code",
      "summary": "Serves up-to-date, version-specific library documentation and code examples into agent prompts via two tools (resolve-library-id, query-docs).",
      "url": "https://www.anchorterminal.com/tools/context7",
      "markdownUrl": "https://www.anchorterminal.com/tools/context7.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/context7.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/context7.json",
      "repo": "https://github.com/upstash/context7",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.context7.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@upstash/context7-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key is optional; anonymous access works at low rate limits. Pass 'Authorization: Bearer \u003ckey\u003e' (or X-Context7-API-Key; CONTEXT7_API_KEY or --api-key for the local server) for higher limits and private repos. OAuth via Clerk at https://mcp.context7.com/mcp/oauth. 'npx ctx7 setup' does a device-login flow. 4.0.5 (2026-09-04) required a key for the Claude Code plugin; 4.0.7 (2026-09-09) allows anonymous plugin use again when the key header is empty.",
      "pricing": "freemium",
      "pricingNotes": "Free: 1,000 API calls/month (blocked after the limit, +20 bonus calls/day while blocked), no card. Pro: $10/seat/month incl. 2,000 calls/seat, overage $5 per 1,000 calls, private-repo parsing $5 per 1M tokens. Enterprise: custom, from $30/user/month, SSO, SLA, self-hosting (https://context7.com/plans).",
      "priceSummary": "$5 / 1k calls",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in README, docs or pricing pages (checked 2026-09-25).",
        "endpoints": []
      },
      "toolCount": 2,
      "popularity": {
        "githubStars": 62400,
        "npmWeekly": 619257,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://context7.com/docs",
      "llmsTxt": "https://context7.com/llms.txt",
      "registryName": "io.github.upstash/context7",
      "capabilities": [
        "code.docs"
      ],
      "tags": [
        "official",
        "hosted",
        "local",
        "open-source",
        "docs",
        "freemium"
      ],
      "lastRelease": "2026-09-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73,
        "grade": "BB",
        "agentReady": true,
        "rank": 81,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 95,
          "payments": 60,
          "reliability": 68,
          "schema": 86,
          "security": 69,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Two tools, both annotated `readOnlyHint: true` and `idempotentHint: true`. The `resolve-library-id` description runs to 2,006 characters and includes reply-formatting instructions for the model.",
        "bestFor": "Coding agents that need current library or framework docs and examples on demand, at little or no cost.",
        "strengths": [
          "Two tools, both annotated `readOnlyHint: true` and `idempotentHint: true`",
          "Anonymous calls work on https://mcp.context7.com/mcp, and the free plan allows 1,000 calls a month with no card",
          "429s carry `Retry-After` and `RateLimit-*` headers, documented with backoff guidance",
          "Thirteen MCP releases since 3 July 2026 with a changelog that explains each fix",
          "Data-privacy page names what is sent, the reranking model providers and a 30-day log retention"
        ],
        "weaknesses": [
          "The `resolve-library-id` description runs to 2,006 characters and includes reply-formatting instructions for the model",
          "No page, limit or token parameter since 2.0.0, so response size depends on how narrow the query is",
          "The 11 August 2026 mcp.context7.com outage (503s from a stream leak in 4.0.0) appears in the changelog but not on status.upstash.com",
          "Errors return as plain text without `isError`, so a client can't tell a 429 from a result",
          "SECURITY.md still lists only 1.0.x as supported while 4.1.1 ships"
        ],
        "agentNotes": [
          "Call `resolve-library-id` first unless you already have an id like `/vercel/next.js`; `query-docs` answers a bare name with a not-found message",
          "Ask one concept per `query-docs` call; there's no size parameter, so a broad query returns a large chunk",
          "Read the text of every result, because a 429 or 404 comes back as normal content, not an error",
          "Send `Authorization: Bearer \u003cctx7sk key\u003e` before looping; anonymous limits are low and unpublished",
          "Keep secrets and proprietary code out of `query`; queries are stored and sent to third-party models for reranking"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 95,
          "payments": 60,
          "reliability": 68,
          "schema": 86,
          "security": 69,
          "transparency": 65
        },
        "provenanceScore": 78
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http context7 https://mcp.context7.com/mcp",
        "config": {
          "mcpServers": {
            "context7": {
              "headers": {
                "Authorization": "Bearer ${CONTEXT7_API_KEY}"
              },
              "url": "https://mcp.context7.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/code.docs",
        "tool": "https://letme.dev/context7"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Calls over the plan allowance",
          "unit": "1k-calls",
          "usd": 5
        }
      ],
      "provenance": {
        "legalEntity": "Upstash",
        "domain": "context7.com",
        "domainRegistered": "2025-01-23",
        "domainNote": "Context7 is run by Upstash. The terms are Upstash's. The status page has a Context7 component.",
        "endpointOnVendorDomain": true,
        "terms": "https://upstash.com/trust/terms.pdf",
        "privacy": "https://upstash.com/trust/privacy.pdf",
        "statusPage": "https://status.upstash.com",
        "changelog": "https://github.com/upstash/context7/blob/master/packages/mcp/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/context7.json",
      "live": {
        "slug": "context7",
        "probe": {
          "target": "https://mcp.context7.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-08T21:12:08.044971801Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 256,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 263,
          "p95ms24h": 309,
          "samples24h": 271,
          "samples30d": 3111,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.upstash.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:05:57.750210412Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "upstash/context7",
            "version": "ctx7@0.5.15",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:06:56.707389728Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.upstash/context7",
            "version": "4.2.0",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "@upstash/context7-mcp",
            "version": "4.2.0",
            "seenAt": "2026-10-08T16:06:54.308822379Z"
          }
        ],
        "githubStars": 62801,
        "npmWeekly": 485755,
        "securityTxt": {
          "url": "https://context7.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:41.163971589Z"
        },
        "llmsTxt": {
          "url": "https://context7.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:16.35008437Z"
        },
        "domain": {
          "domain": "context7.com",
          "registered": "2025-01-23",
          "source": "https://rdap.verisign.com/com/v1/domain/context7.com",
          "checkedAt": "2026-10-04T13:10:09.934866464Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/upstash/context7/master/packages/mcp/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-08T18:24:45.7082573Z",
            "changedAt": "2026-10-07T18:09:26.604281029Z",
            "fingerprint": "ecb63582afe8"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.context7.com/mcp",
          "checkedAt": "2026-10-07T21:26:27.726376063Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "resolve-library-id",
              "title": "Resolve Context7 Library ID",
              "description": "Resolves a package/product name to a Context7-compatible library ID and returns matching libraries.\n\nYou MUST call this function before 'Query Documentation' tool to obtain a valid Context7-compatible library ID UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query.\n\nEach result includes:\n- Library ID: Context7-compatible identifier (format: /org/project)\n- Name: Library or package name\n- Description: Short summary\n- Code Snippets: Number of available code examples\n- Source Reputation: Authority indicator (High, Medium, Low, or Unknown)\n- Benchmark Score: Quality indicator (100 is the highest score)\n- Versions: List of versions if available. Use one of those versions if the user provides a version in their query. The format of the version is /org/project/version.\n\nFor best results, select libraries based on name match, source reputation, snippet coverage, benchmark score, and relevance to your use case.\n\nSelection Process:\n1. Analyze the query to understand what library/package the user is looking for\n2. Return the most relevant match based on:\n- Name similarity to the query (exact matches prioritized)\n- Description relevance to the query's intent\n- Documentation coverage (prioritize libraries with higher Code Snippet counts)\n- Source reputation (consider libraries with High or Medium reputation more authoritative)\n- Benchmark Score: Quality indicator (100 is the highest score)\n\nResponse Format:\n- Return the selected library ID in a clearly marked section\n- Provide a brief explanation for why this library was chosen\n- If multiple good matches exist, acknowledge this but proceed with the most relevant one\n- If no good matches exist, clearly state this and suggest query refinements\n\nFor ambiguous queries, request clarification before proceeding with a best-guess match.\n\nIMPORTANT: Do not call this tool more than 3 times per question. If you cannot find what you need after 3 calls, use the best result you have.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "libraryName": {
                    "description": "Library name to search for and retrieve a Context7-compatible library ID. Use the official library name with proper punctuation — e.g., 'Next.js' instead of 'nextjs', 'Customer.io' instead of 'customerio', 'Three.js' instead of 'threejs'.",
                    "type": "string"
                  },
                  "query": {
                    "description": "What to look up in the library's documentation. This is used to rank library results by relevance to what the user is trying to accomplish. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.",
                    "type": "string"
                  }
                },
                "required": [
                  "query",
                  "libraryName"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            },
            {
              "name": "query-docs",
              "title": "Query Documentation",
              "description": "Retrieves and queries up-to-date documentation and code examples from Context7 for any programming library or framework.\n\nYou must call 'Resolve Context7 Library ID' tool first to obtain the exact Context7-compatible library ID required to use this tool, UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query.\n\nDo not call this tool more than 3 times per question.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "libraryId": {
                    "description": "Exact Context7-compatible library ID (e.g., '/mongodb/docs', '/vercel/next.js', '/supabase/supabase', '/vercel/next.js/v14.3.0-canary.87') retrieved from 'resolve-library-id' or directly from user query in the format '/org/project' or '/org/project/version'.",
                    "type": "string"
                  },
                  "query": {
                    "description": "What to look up in the library's documentation, scoped to a single concept. Be specific and include relevant details, but keep each query to one topic — if the user's question spans multiple distinct concepts, make a separate call per concept instead of combining them, unless the question is about how the concepts interact. Good: 'How to set up authentication with JWT in Express.js' or 'React useEffect cleanup function examples'. Bad (too vague): 'auth' or 'hooks'. Bad (too broad): 'routing and auth and caching in Next.js'. The query is sent to the Context7 API for processing. Do not include any sensitive or confidential information such as API keys, passwords, credentials, personal data, or proprietary code in your query.",
                    "type": "string"
                  }
                },
                "required": [
                  "libraryId",
                  "query"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 1216,
          "changedAt": "2026-09-28T21:55:38.368635118Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 1216,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 1
            },
            "findings": [
              {
                "rule": "TC07",
                "severity": "warn",
                "tool": "resolve-library-id",
                "message": "the description is about 502 tokens",
                "fix": "Keep the description to what a model needs to choose and call the tool; move the manual to a resource or the docs."
              },
              {
                "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-08T21:12:08.044971801Z"
      }
    },
    "answer": "Context7 scores 73 (BB) on agent readiness against Ref's 59.4 (C), and leads in every scored category.",
    "b": {
      "slug": "ref",
      "name": "Ref",
      "vendor": "Ref Software, Inc",
      "vendorUrl": "https://ref.tools",
      "kind": "mcp",
      "category": "code",
      "summary": "Ref Context is a hosted MCP server from Ref Software, Inc. Its two tools search public documentation and a user's private repositories and PDFs, then read a page as Markdown trimmed to the relevant sections.",
      "url": "https://www.anchorterminal.com/tools/ref",
      "markdownUrl": "https://www.anchorterminal.com/tools/ref.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ref.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ref.json",
      "repo": "https://github.com/ref-tools/ref-tools-mcp",
      "license": "Proprietary hosted service under Ref's terms of service. The stdio MCP server in ref-tools/ref-tools-mcp is MIT",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.ref.tools/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "ref-tools-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "An account is required. The hosted endpoint takes an API key in the `x-ref-api-key` header, the same key as an `?apiKey=` query parameter, or OAuth when neither is sent. OAuth runs through Scalekit, and `/.well-known/oauth-protected-resource/mcp` lists the scopes `public_docs:read` and `private_docs:read`. Keys come from ref.tools/keys after a browser sign-up with Google, GitHub or email. Teams have Admin, Writer and Reader roles, and SAML or OIDC single sign-on is a $200 a month add-on. The stdio package reads `REF_API_KEY`.",
      "pricing": "freemium",
      "pricingNotes": "Free: 200 one-time credits that never expire. Each `ref_search_documentation` or `ref_read_url` call costs one credit. Pro is $50 a month with 6,000 credits, Max $200 a month with 30,000, and extra credits cost $10 per 1,000 on Pro and above. Credits are shared with Ref Plans. The docs do not say whether sign-up needs a card (https://docs.ref.tools/usage/pricing, checked 2026-10-08).",
      "priceSummary": "$10 / 1k calls",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the MCP server source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 2,
      "popularity": {
        "githubStars": 1179,
        "npmWeekly": 596,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.ref.tools",
      "llmsTxt": "https://docs.ref.tools/llms.txt",
      "registryName": "tools.ref/ref-tools-mcp",
      "capabilities": [
        "code.docs",
        "web.fetch"
      ],
      "tags": [
        "official",
        "mcp",
        "hosted",
        "local",
        "docs",
        "freemium",
        "oauth",
        "read-only",
        "llms-txt",
        "status-page"
      ],
      "lastRelease": "2025-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.4,
        "grade": "C",
        "agentReady": false,
        "rank": 431,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 50,
          "payments": 35,
          "reliability": 58,
          "schema": 68,
          "security": 64,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Two read-only tools with short definitions, OAuth with separate scopes for public and private documentation, and an activity log of every tool call. The API key may be passed in the URL query string, no rate limit or 429 guidance is documented, and the free allowance is 200 one-time credits.",
        "bestFor": "Coding agents that need current library documentation plus search over a team's private repositories and PDFs through two small tools.",
        "strengths": [
          "Two tools, `ref_search_documentation` and `ref_read_url`, each with one required string and `readOnlyHint: true`",
          "OAuth at `https://api.ref.tools/mcp` advertises two scopes, `public_docs:read` and `private_docs:read`",
          "The activity log at ref.tools/activity records user identity, tool calls and arguments, per the security page",
          "Each tool call costs one credit, and extra credits cost $10 per 1,000 on Pro and above, on a public page",
          "The security page names 19 subprocessors with what each can see, and says model providers run under zero-data-retention terms"
        ],
        "weaknesses": [
          "The install docs give `?apiKey=YOUR_API_KEY` in the URL as a documented way to authenticate",
          "No rate limit, 429 handling or SLA was found in the reviewed documentation",
          "The free plan is 200 one-time credits, and an account needs a browser sign-up",
          "The `ref-tools-mcp` npm package was last published on 4 November 2025, and the changelog index stops at July 2026",
          "The terms of service forbid access \"through automated or non-human means\", which the MCP product itself requires"
        ],
        "agentNotes": [
          "Send the key in the `x-ref-api-key` header, not the `?apiKey=` query parameter, so it stays out of URLs and logs",
          "Add `ref_src=private` to the `query` text to search private repositories and PDFs. Searches cover public documentation only by default",
          "Pass `ref_read_url` the exact URL from a search result. Reads return the sections most relevant to the session's searches, about 5,000 tokens at most per the README",
          "Keep one MCP session per task. Repeated similar searches in a session never return the same result twice, so refine the query to see more",
          "Treat tool errors as text. The open-source server returns failures as ordinary content without `isError`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.4
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 50,
          "payments": 35,
          "reliability": 58,
          "schema": 68,
          "security": 64,
          "transparency": 53
        },
        "provenanceScore": 82
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http Ref https://api.ref.tools/mcp --header \"x-ref-api-key: \u003cYOUR_API_KEY\u003e\"",
        "config": {
          "mcpServers": {
            "Ref": {
              "args": [
                "ref-tools-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "REF_API_KEY": "\u003cYOUR_API_KEY\u003e"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/code.docs",
        "tool": "https://letme.dev/ref"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Additional credits, Pro and above",
          "unit": "1k-calls",
          "usd": 10,
          "note": "One credit per search or read call"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 50,
          "note": "6,000 credits a month"
        },
        {
          "item": "Max plan",
          "unit": "month",
          "usd": 200,
          "note": "30,000 credits a month"
        }
      ],
      "provenance": {
        "legalEntity": "Ref Software, Inc",
        "domain": "ref.tools",
        "domainRegistered": "2025-01-20",
        "endpointOnVendorDomain": true,
        "terms": "https://ref.tools/terms",
        "privacy": "https://ref.tools/privacy",
        "statusPage": "https://ref.tools/status",
        "changelog": "https://docs.ref.tools/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service name Ref Software, Inc, a Delaware corporation doing business as Ref and ref.tools, at 2261 Market Street, STE 86969, San Francisco, CA 94114.",
          "ref.tools is a single-page application. The terms, privacy policy and status page are drawn by script, and we read their text from the script files the pages load.",
          "The privacy policy is dated 27 May 2025 and defines the company only as Ref.",
          "ref.tools/.well-known/security.txt gives security@ref.tools and expires on 1 July 2027.",
          "RDAP for ref.tools gives a registration date of 2025-01-20.",
          "The changelog page is an index of monthly newsletters hosted on mailchi.mp. Its last entry is July 2026, though a 30 September 2026 update exists at mailchi.mp/ref/september2026."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ref.json",
      "live": {
        "slug": "ref",
        "probe": {
          "target": "https://api.ref.tools/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-08T21:12:19.768127713Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 164,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 174,
          "p95ms24h": 268,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://ref.tools/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:06.971045674Z"
        },
        "updatedAt": "2026-10-08T21:12:19.768127713Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Upstash",
        "b": "Ref Software, Inc",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.context7.com/mcp",
        "b": "https://api.ref.tools/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary hosted service under Ref's terms of service. The stdio MCP server in ref-tools/ref-tools-mcp is MIT",
        "name": "Licence"
      },
      {
        "a": "2",
        "b": "2",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.upstash/context7",
        "b": "tools.ref/ref-tools-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-14",
        "b": "2025-11-04",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "62k stars, 619k npm/wk",
        "b": "1.2k stars, 596 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Context7 scores 73 (BB) on agent readiness against Ref's 59.4 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Context7 or Ref?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Context7 and Ref need an API key?"
      },
      {
        "answer": "Yes. Context7 has a hosted endpoint at https://mcp.context7.com/mcp and Ref at https://api.ref.tools/mcp.",
        "question": "Can an agent call Context7 and Ref without installing anything?"
      },
      {
        "answer": "Context7 is open source (MIT). No open-source release is listed for Ref.",
        "question": "Are Context7 and Ref open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 58",
          "Schema \u0026 documentation, 86 against 68",
          "Security \u0026 auth, 69 against 64",
          "Payments \u0026 pricing, 60 against 35",
          "Maintenance \u0026 community, 95 against 50"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source"
        ],
        "goodFor": "Coding agents that need current library or framework docs and examples on demand, at little or no cost.",
        "slug": "context7",
        "watchFor": "The `resolve-library-id` description runs to 2,006 characters and includes reply-formatting instructions for the model"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Coding agents that need current library documentation plus search over a team's private repositories and PDFs through two small tools.",
        "slug": "ref",
        "watchFor": "The install docs give `?apiKey=YOUR_API_KEY` in the URL as a documented way to authenticate"
      }
    ],
    "job": {
      "capability": "code.docs",
      "name": "Documentation lookup"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/context7-vs-microsoft-learn-mcp.json",
        "title": "Context7 vs Microsoft Learn MCP Server",
        "url": "https://www.anchorterminal.com/compare/context7-vs-microsoft-learn-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-learn-mcp-vs-ref.json",
        "title": "Microsoft Learn MCP Server vs Ref",
        "url": "https://www.anchorterminal.com/compare/microsoft-learn-mcp-vs-ref"
      }
    ],
    "scores": [
      {
        "by": 10,
        "context7": 68,
        "edge": "context7",
        "key": "reliability",
        "name": "Reliability",
        "ref": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "context7": 86,
        "edge": "context7",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ref": 68,
        "weight": 13
      },
      {
        "by": 2,
        "context7": 69,
        "edge": "context7",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ref": 67,
        "weight": 13
      },
      {
        "by": 5,
        "context7": 69,
        "edge": "context7",
        "key": "security",
        "name": "Security \u0026 auth",
        "ref": 64,
        "weight": 14
      },
      {
        "by": 25,
        "context7": 60,
        "edge": "context7",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ref": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 45,
        "context7": 95,
        "edge": "context7",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ref": 50,
        "weight": 7
      },
      {
        "by": 4,
        "context7": 72,
        "edge": "context7",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ref": 68,
        "weight": 7
      }
    ],
    "summary": "Context7 scores 73 (BB) on agent readiness against Ref's 59.4 (C), and leads in every scored category. Both do documentation lookup.",
    "verdicts": {
      "context7": "Two tools, both annotated `readOnlyHint: true` and `idempotentHint: true`. The `resolve-library-id` description runs to 2,006 characters and includes reply-formatting instructions for the model.",
      "ref": "Two read-only tools with short definitions, OAuth with separate scopes for public and private documentation, and an activity log of every tool call. The API key may be passed in the URL query string, no rate limit or 429 guidance is documented, and the free allowance is 200 one-time credits."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/context7-vs-ref",
    "json": "https://www.anchorterminal.com/compare/context7-vs-ref.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/context7-vs-ref.md",
    "slim": "https://www.anchorterminal.com/compare/context7-vs-ref.min.md"
  },
  "markdown": "Context7 scores 73 (BB) on agent readiness against Ref's 59.4 (C), and leads in every scored category. Both do documentation lookup.\n\n- Context7: grade BB, 73/100, rank #81 of 722. Markdown https://www.anchorterminal.com/tools/context7.md · JSON https://www.anchorterminal.com/api/v1/tools/context7.json\n- Ref: grade C, 59.4/100, rank #431 of 722. Markdown https://www.anchorterminal.com/tools/ref.md · JSON https://www.anchorterminal.com/api/v1/tools/ref.json\n\n## Which one, for what\n\n### Context7 (BB)\n\nGood for: Coding agents that need current library or framework docs and examples on demand, at little or no cost.\n\nAhead on:\n- Reliability, 68 against 58\n- Schema \u0026 documentation, 86 against 68\n- Security \u0026 auth, 69 against 64\n- Payments \u0026 pricing, 60 against 35\n- Maintenance \u0026 community, 95 against 50\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\n\nWatch for: The `resolve-library-id` description runs to 2,006 characters and includes reply-formatting instructions for the model\n\n### Ref (C)\n\nGood for: Coding agents that need current library documentation plus search over a team's private repositories and PDFs through two small tools.\n\nWatch for: The install docs give `?apiKey=YOUR_API_KEY` in the URL as a documented way to authenticate\n\n\n## Score by category\n\n| Category | Weight | Context7 | Ref | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 58 | Context7 +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 68 | Context7 +18 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 67 | Context7 +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 69 | 64 | Context7 +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 35 | Context7 +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 95 | 50 | Context7 +45 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 68 | Context7 +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **73 · BB** | **59.4 · C** | |\n\n## Facts side by side\n\n| Fact | Context7 | Ref |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | Upstash | Ref Software, Inc |\n| Hosted endpoint | `https://mcp.context7.com/mcp` | `https://api.ref.tools/mcp` |\n| Transports | stdio, Streamable HTTP | Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT | Proprietary hosted service under Ref's terms of service. The stdio MCP server in ref-tools/ref-tools-mcp is MIT |\n| Tools exposed | 2 | 2 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.upstash/context7` | `tools.ref/ref-tools-mcp` |\n| Last release | 2026-09-14 | 2025-11-04 |\n| Terms last updated |  | couldn't be read |\n| Privacy policy last updated |  | couldn't be read |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 62k stars, 619k npm/wk | 1.2k stars, 596 npm/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Context7.** Two tools, both annotated `readOnlyHint: true` and `idempotentHint: true`. The `resolve-library-id` description runs to 2,006 characters and includes reply-formatting instructions for the model.\n\n**Ref.** Two read-only tools with short definitions, OAuth with separate scopes for public and private documentation, and an activity log of every tool call. The API key may be passed in the URL query string, no rate limit or 429 guidance is documented, and the free allowance is 200 one-time credits.\n\n## Before you call either\n\n### Context7\n\n1. Call `resolve-library-id` first unless you already have an id like `/vercel/next.js`; `query-docs` answers a bare name with a not-found message\n2. Ask one concept per `query-docs` call; there's no size parameter, so a broad query returns a large chunk\n3. Read the text of every result, because a 429 or 404 comes back as normal content, not an error\n4. Send `Authorization: Bearer \u003cctx7sk key\u003e` before looping; anonymous limits are low and unpublished\n5. Keep secrets and proprietary code out of `query`; queries are stored and sent to third-party models for reranking\n\n### Ref\n\n1. Send the key in the `x-ref-api-key` header, not the `?apiKey=` query parameter, so it stays out of URLs and logs\n2. Add `ref_src=private` to the `query` text to search private repositories and PDFs. Searches cover public documentation only by default\n3. Pass `ref_read_url` the exact URL from a search result. Reads return the sections most relevant to the session's searches, about 5,000 tokens at most per the README\n4. Keep one MCP session per task. Repeated similar searches in a session never return the same result twice, so refine the query to see more\n5. Treat tool errors as text. The open-source server returns failures as ordinary content without `isError`\n\n## Questions\n\n### Which is better for AI agents, Context7 or Ref?\n\nContext7 scores 73 (BB) on agent readiness against Ref's 59.4 (C), and leads in every scored category.\n\n### Do Context7 and Ref need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Context7 and Ref without installing anything?\n\nYes. Context7 has a hosted endpoint at https://mcp.context7.com/mcp and Ref at https://api.ref.tools/mcp.\n\n### Are Context7 and Ref open source?\n\nContext7 is open source (MIT). No open-source release is listed for Ref.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/context7-vs-ref.json, and with the fewest tokens: https://www.anchorterminal.com/compare/context7-vs-ref.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"context7\", \"b\": \"ref\"}`. From a terminal: `anchor compare context7 ref`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/context7.json and https://www.anchorterminal.com/api/v1/tools/ref.json\n\n## Other comparisons with Context7 or Ref\n\n- [Context7 vs Microsoft Learn MCP Server](https://www.anchorterminal.com/compare/context7-vs-microsoft-learn-mcp.md)\n- [Microsoft Learn MCP Server vs Ref](https://www.anchorterminal.com/compare/microsoft-learn-mcp-vs-ref.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Context7 vs Ref",
        "url": ""
      }
    ],
    "description": "Context7 scores 73 (BB) on agent readiness against Ref's 59.4 (C), and leads in every scored category. Both do documentation lookup. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Context7 BB 73",
      "Ref C 59.4",
      "scores"
    ],
    "h1": "Context7 vs Ref",
    "image": "https://www.anchorterminal.com/assets/og/compare-context7-vs-ref.png",
    "path": "/compare/context7-vs-ref",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Context7 vs Ref for AI agents, BB 73 vs C 59.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/context7-vs-ref"
  },
  "tokens": {
    "markdown": 1800,
    "slim": 680
  },
  "version": 1
}
