context7/docs/README.zh-CN.md
2025-06-07 00:24:20 +03:00

9.2 KiB
Raw Permalink Blame History

Context7 MCP - 为所有Prompt获取最新文档

网站 smithery徽章 在VS Code中安装 (npx)

不使用Context7

大语言模型(LLM)可能依赖过时或通用的库信息。你可能会遇到:

  • 代码示例已过时,或基于一年前的训练数据
  • 幻觉产生的API根本不存在
  • 针对旧版本包的通用回答

使用Context7

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

在Cursor中添加使用 context7到你的提示:

创建一个使用app router的基本Next.js项目。使用 context7
创建一个脚本删除PostgreSQL数据库中city字段为""的行。使用 context7

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

  • 1 按照往常,自然地编写你的提示
  • 2 告诉LLM使用 context7
  • 3 获取可用的代码回复

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

🛠️ 开始使用

要求

  • Node.js >= v18.0.0
  • Cursor, Windsurf, Claude Desktop或其他MCP客户端

通过Smithery安装

要通过Smithery自动安装Context7 MCP Server for Claude Desktop

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

在Cursor中安装

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

推荐的方法是将以下配置粘贴到你的Cursor ~/.cursor/mcp.json文件中。更多信息请参见Cursor MCP文档

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}
替代方案使用Bun
{
  "mcpServers": {
    "context7": {
      "command": "bunx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}
替代方案使用Deno
{
  "mcpServers": {
    "context7": {
      "command": "deno",
      "args": ["run", "--allow-net", "npm:@upstash/context7-mcp"]
    }
  }
}

在Windsurf中安装

将此内容添加到你的Windsurf MCP配置文件中。更多信息请参见Windsurf MCP文档

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

在VSCode中安装

在VS Code中安装 (npx) 在VS Code Insiders中安装 (npx)

将此内容添加到你的VSCode MCP配置文件中。更多信息请参见VSCode MCP文档

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

在Zed中安装

可以通过Zed扩展安装或者你可以将以下内容添加到你的Zed settings.json文件中。更多信息请参见Zed Context Server文档

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

在Claude Code中安装

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

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

在Claude Desktop中安装

将此内容添加到你的Claude Desktop claude_desktop_config.json文件中。更多信息请参见Claude Desktop MCP文档

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

使用Docker容器部署

如果你希望使用Docker容器运行MCP服务器

  1. 构建Docker镜像

    确保Docker Desktop或Docker守护进程正在运行。 在项目根目录运行:

    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等的示例来调整结构mcpServersservers)。同时确保args中的镜像名称与docker build命令使用的标签一致。
    • 当前Cursor版本(0.49.5), 请不要使用本方式启动MCP server详情Cursor官方说明

在Windows上安装

在windows上的配置相对于linux或macos来说有些许不同(示例使用的Cline), 其它编辑器同理, 参考commandargs的配置即可

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

可用工具

  • resolve-library-id: 将通用库名称解析为Context7兼容的库ID。
    • libraryName (必需)
  • get-library-docs: 使用Context7兼容的库ID获取库的文档。
    • context7CompatibleLibraryID (必需)
    • topic (可选): 将文档集中在特定主题上(例如"routing"、"hooks"
    • tokens (可选默认10000): 返回的最大令牌数。小于10000的值会自动增加到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@latest

故障排除

ERR_MODULE_NOT_FOUND

如果你看到这个错误,请尝试使用bunx而不是npx

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

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

MCP客户端错误

  1. 尝试从包名中删除@latest

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

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

  4. 确保你使用的是Node v18或更高版本以便使用npx时获得原生fetch支持。

Context7媒体报道

Star历史

Star历史图表

许可证

MIT