Skip to main content
Glama

Context7 MCP - 适用于任何提示的最新代码文档

网站 铁匠徽章

中文文档 한국어 문서 西班牙语文档 法语文档 葡萄牙文献(巴西) 意大利语文献 印尼语文献 德语文档 Документация на русском языке 土耳其语文档 阿拉伯语文献

❌ 无 Context7

LLM 依赖于你所使用的库的过时或通用信息。你将获得:

  • ❌ 代码示例已过时,且基于一年前的训练数据

  • ❌ 幻觉 API 根本不存在

  • ❌ 针对旧版本软件包的通用答案

Related MCP server: docs-mcp-server

✅ 使用 Context7

Context7 MCP 直接从源中提取最新的、特定版本的文档和代码示例 - 并将它们直接放入您的提示中。

use context7添加到 Cursor 中的提示中:

Create a basic Next.js project with app router. use context7
Create a script to delete the rows where the city is "" given PostgreSQL credentials. use context7

Context7 将最新的代码示例和文档直接提取到您的 LLM 上下文中。

  • 1️⃣ 自然地写下你的提示

  • 2️⃣ 告诉 LLM use context7

  • 3️⃣ 获取工作代码答案

无需切换标签,无需不存在的幻觉 API,无需生成过时的代码。

🛠️ 入门

要求

  • Node.js >= v18.0.0

  • Cursor、Windsurf、Claude Desktop 或其他 MCP 客户端

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Context7 MCP 服务器:

npx -y @smithery/cli install @upstash/context7-mcp --client claude

在光标处安装

前往: Settings -> Cursor Settings -> MCP -> Add new global MCP server

建议将以下配置粘贴到 Cursor 的~/.cursor/mcp.json文件中。您也可以通过在项目文件夹中创建.cursor/mcp.json来安装到特定项目中。更多信息,请参阅Cursor MCP 文档

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}
{
  "mcpServers": {
    "context7": {
      "command": "bunx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}
{
  "mcpServers": {
    "context7": {
      "command": "deno",
      "args": ["run", "--allow-env", "--allow-net", "npm:@upstash/context7-mcp"]
    }
  }
}

安装在 Windsurf 中

将其添加到您的 Windsurf MCP 配置文件中。更多信息请参阅Windsurf MCP 文档

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

在 VS Code 中安装

将其添加到你的 VS Code MCP 配置文件中。更多信息请参阅VS Code MCP 文档

{
  "servers": {
    "Context7": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

在 Zed 中安装

它可以通过Zed Extensions安装,也可以添加到你的 Zed settings.json中。更多信息请参阅Zed Context Server 文档

{
  "context_servers": {
    "Context7": {
      "command": {
        "path": "npx",
        "args": ["-y", "@upstash/context7-mcp"]
      },
      "settings": {}
    }
  }
}

在 Claude Code 中安装

运行此命令。更多信息请参阅Claude Code MCP 文档

claude mcp add context7 -- npx -y @upstash/context7-mcp

在 Claude Desktop 中安装

将其添加到您的 Claude Desktop claude_desktop_config.json文件中。更多信息请参阅Claude Desktop MCP 文档

{
  "mcpServers": {
    "Context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

在 BoltAI 中安装

打开应用程序的“设置”页面,导航到“插件”,然后输入以下 JSON:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

保存后,在聊天框中输入get-library-docs然后输入您的 Context7 文档 ID(例如, get-library-docs /nuxt/ui )。更多信息请访问BoltAI 的文档网站。有关 iOS 上的 BoltAI,请参阅本指南

使用 Docker

如果您希望在 Docker 容器中运行 MCP 服务器:

  1. 构建 Docker 镜像:

    首先,在项目根目录(或您喜欢的任何位置)创建一个Dockerfile

    FROM node:18-alpine
    
    WORKDIR /app
    
    # Install the latest version globally
    RUN npm install -g @upstash/context7-mcp
    
    # Expose default port if needed (optional, depends on MCP client interaction)
    # EXPOSE 3000
    
    # Default command to run the server
    CMD ["context7-mcp"]

    然后,使用标签(例如context7-mcp )构建镜像。**确保 Docker Desktop(或 Docker 守护进程)正在运行。**在保存Dockerfile目录中运行以下命令:

    docker build -t context7-mcp .
  2. 配置您的 MCP 客户端:

    更新您的 MCP 客户端的配置以使用 Docker 命令。

    cline_mcp_settings.json 的示例:

    {
      "mcpServers": {
        "Сontext7": {
        "autoApprove": [],
        "disabled": false,
        "timeout": 60,
          "command": "docker",
          "args": ["run", "-i", "--rm", "context7-mcp"],
          "transportType": "stdio"
        }
      }
    }

    注意:这是一个示例配置。请参考本 README 中针对您的 MCP 客户端(例如 Cursor、VS Code 等)的具体示例来调整结构(例如, mcpServers vs servers )。另外,请确保args中的镜像名称与docker build命令中使用的标签匹配。

在 Windows 中安装

Windows 上的配置与 Linux 或 macOS 上略有不同(示例中使用了Cline )。其他编辑器的配置原理相同,请参考commandargs的配置。

{
  "mcpServers": {
    "github.com/upstash/context7-mcp": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@upstash/context7-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

环境变量

  • DEFAULT_MINIMUM_TOKENS :设置文档检索的最小令牌数(默认值:10000)。

例子:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"],
      "env": {
        "DEFAULT_MINIMUM_TOKENS": "10000"
      }
    }
  }
}

可用工具

  • resolve-library-id :将通用库名称解析为与 Context7 兼容的库 ID。

    • libraryName (必填)

  • get-library-docs :使用与 Context7 兼容的库 ID 获取库的文档。

    • context7CompatibleLibraryID (必需)

    • topic (可选):将文档集中在特定主题上(例如,“路由”,“钩子”)

    • tokens (可选,默认 10000):返回的最大 token 数量。如果值小于配置的DEFAULT_MINIMUM_TOKENS值或默认值 10000,则会自动增加到该值。

发展

克隆项目并安装依赖项:

bun i

建造:

bun run build

本地配置示例

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["tsx", "/path/to/folder/context7-mcp/src/index.ts"]
    }
  }
}

使用 MCP Inspector 进行测试

npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp

故障排除

未找到模块

如果您看到此错误,请尝试使用bunx而不是npx

{
  "mcpServers": {
    "context7": {
      "command": "bunx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

这通常可以解决模块解析问题,特别是在npx无法正确安装或解析包的环境中。

ESM 解析问题

如果遇到类似错误: Error: Cannot find module 'uriTemplate.js'请尝试使用--experimental-vm-modules标志运行:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "--node-options=--experimental-vm-modules",
        "@upstash/context7-mcp"
      ]
    }
  }
}

TLS/证书问题

使用带有npx--experimental-fetch标志来绕过与 TLS 相关的问题:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "--node-options=--experimental-fetch",
        "@upstash/context7-mcp"
      ]
    }
  }
}

MCP 客户端错误

  1. 尝试将@latest添加到包名称中。

  2. 尝试使用bunx作为替代方案。

  3. 尝试使用deno作为替代方案。

  4. 确保您使用的是 Node v18 或更高版本以获得npx的本机获取支持。

免责声明

Context7 项目由社区贡献,虽然我们努力保持高质量,但我们无法保证所有库文档的准确性、完整性或安全性。Context7 中列出的项目由其各自的所有者开发和维护,而非由 Context7 开发和维护。如果您发现任何可疑、不当或潜在有害的内容,请使用项目页面上的“举报”按钮立即通知我们。我们认真对待所有举报,并将及时审核被举报的内容,以维护我们平台的完整性和安全性。使用 Context7,即表示您承认您自行决定并承担相关风险。

与我们联系

保持更新并加入我们的社区:

  • 📢 在X上关注我们,了解最新资讯和更新

  • 🌐访问我们的网站

  • 💬 加入我们的Discord 社区(如适用)

Context7 媒体

星史

星空历史图

执照

麻省理工学院

Available Tools

2 tools
query-docsQuery DocumentationA
Read-only
Inspect

Retrieves and queries up-to-date documentation and code examples from Context7 for any programming library or framework.

You must call 'resolve-library-id' 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.

IMPORTANT: Do not call this tool more than 3 times per question. If you cannot find what you need after 3 calls, use the best information you have.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe question or task you need help with. Be specific and include relevant details. Good: 'How to set up authentication with JWT in Express.js' or 'React useEffect cleanup function examples'. Bad: 'auth' or 'hooks'. IMPORTANT: Do not include any sensitive or confidential information such as API keys, passwords, credentials, or personal data in your query.
libraryIdYesExact 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'.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral context beyond the readOnlyHint annotation: the 3-call limit, prerequisite step, and warning against sensitive data. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short paragraphs each serving a distinct purpose: purpose, prerequisite, limitation. Front-loaded with the core action, no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers prerequisite, usage limit, and parameter guidance. Lacks explicit description of output format, but since the tool retrieves documentation and code examples, the output type is reasonably inferable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage with detailed descriptions for both parameters. The tool description reinforces the relationship between libraryId and resolve-library-id but adds little semantic meaning beyond what's already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves and queries documentation and code examples from Context7 for any library, distinguishing it from the sibling 'resolve-library-id' tool which is for obtaining library IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use 'resolve-library-id' first unless user provides library ID, and imposes a 3-call limit per question, providing clear guidance on when and how many times to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve-library-idResolve Context7 Library IDA
Read-only
Inspect

Resolves a package/product name to a Context7-compatible library ID and returns matching libraries.

You MUST call this function before 'query-docs' 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.

Selection Process:

  1. Analyze the query to understand what library/package the user is looking for

  2. Return the most relevant match based on:

  • Name similarity to the query (exact matches prioritized)

  • Description relevance to the query's intent

  • Documentation coverage (prioritize libraries with higher Code Snippet counts)

  • Source reputation (consider libraries with High or Medium reputation more authoritative)

  • Benchmark Score: Quality indicator (100 is the highest score)

Response Format:

  • Return the selected library ID in a clearly marked section

  • Provide a brief explanation for why this library was chosen

  • If multiple good matches exist, acknowledge this but proceed with the most relevant one

  • If no good matches exist, clearly state this and suggest query refinements

For ambiguous queries, request clarification before proceeding with a best-guess match.

IMPORTANT: 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe user's original question or task. This is used to rank library results by relevance to what the user is trying to accomplish. IMPORTANT: Do not include any sensitive or confidential information such as API keys, passwords, credentials, or personal data in your query.
libraryNameYesLibrary name to search for and retrieve a Context7-compatible library ID.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, which is consistent with the tool's purpose. The description adds important behavioral details beyond annotations, such as a 3-call limit per question, handling of ambiguous queries, and a warning not to include sensitive information in the 'query' parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections, but it is somewhat lengthy. It front-loads the essential purpose and usage note, but the selection process details could be more succinct. Still, it remains clear and organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description adequately explains the response format. It covers edge cases like multiple matches, no matches, and ambiguous queries, providing complete guidance for the agent to handle various scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the role of each parameter: 'libraryName' is the name to search for, and 'query' is the user's original question used for ranking. It also includes a critical warning about sensitive data in 'query', which enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states that the tool resolves a package/product name to a Context7-compatible library ID. It distinguishes itself from the sibling tool 'query-docs' by noting it must be called first, and includes specific details about selection criteria and response format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly specifies when to call this tool: before 'query-docs' unless the user provides a library ID in a specific format. It also provides a detailed selection process and response format, guiding the agent on how to use the tool correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.8
    • Addedquery-docs
    • Addedresolve-library-id
  2. 2 tool updatesv1.0.6
    • Removedquery-docs
    • Removedresolve-library-id
  3. 3 tool updatesv1.0.1
    • Removedget-library-docs
    • Addedquery-docs
    • Changedresolve-library-id2 fields changed
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "The user's original question or task. This is used to rank library results by relevance to what the user is trying to accomplish. IMPORTANT: Do not include any sensitive or confidential information such as API keys, passwords, credentials, or personal data in your query.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "libraryName"
        -]New value: +[
        +  "query",
        +  "libraryName"
        +]
  4. 2 tool updatesv1.0.0
    • First observedget-library-docs
    • First observedresolve-library-id

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a distinct and complementary purpose: one resolves library names to IDs, the other queries documentation using that ID. There is no overlap.

Naming Consistency5/5

Both tools follow the same verb_noun pattern with snake_case: 'resolve-library-id' and 'query-docs'. Consistent and predictable.

Tool Count4/5

With only two tools, the surface is minimal but still covers the core workflow for querying documentation. It is slightly thin but appropriate for a focused server.

Completeness4/5

The two tools form a complete workflow: resolve then query. No obvious gaps for the stated purpose, though additional tools like list_libraries could enhance completeness.

Maintenance

ActivityActive
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.

  • A Model Context Protocol server for Wix AI tools

  • The AWS Knowledge MCP server is a fully managed remote Model Context Protocol server that provides real-time access to official AWS content in an LLM-compatible format. It offers structured access to AWS documentation, code samples, blog posts, What's New announcements, Well-Architected best practices, and regional availability information for AWS APIs and CloudFormation resources. Key capabilities include searching and reading documentation in markdown format, getting content recommendations, listing AWS regions, and checking regional availability for services and features.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    An MCP server that fetches real-time documentation for popular libraries like Langchain, Llama-Index, MCP, and OpenAI, allowing LLMs to access updated library information beyond their knowledge cut-off dates.
    1
    3
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server that scrapes, indexes, and searches documentation for third-party software libraries and packages, supporting versioning and hybrid search.
    3,262
    1,711
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    A Model Context Protocol server that enables intelligent searching across documentation for 30+ programming libraries and frameworks, fetching relevant information from official sources.
    23
    8
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/upstash/context7'

If you have feedback or need assistance with the MCP directory API, please join our Discord server