MCP-Server 之 Context7 实战指南:让 Cursor 告别 "幻觉",精准调用最新文档

context7——一个让你的 Cursor 获取到从源代码中提取的最新的、特定版本的文档和代码示例的 MCP Server

我们在使用 Trea、cursor 或者 github copilot 这种 AI 编程助手的时候,经常会因为大模型落后的知识,导致使用错误依赖版本,错误的接口等等导致写出来的代码没有办法实现我们想要的功能,甚至都没有办法编译通过。这个时候 context7 这个 MCP 就能派上用场了。

快速使用

context7 是一个为 LLM 和 AI 代码编辑器提供最新代码文档的 MCP 服务器。我们先看看安装好这个 MCP 之后的使用效果,一会再给大家讲如何安装 Context7 到你的 Cursor 上。

之前我在使用 cursor 实现一个天气查询的 MCP 时,一开始 cursor 写的代码使用的 MCP python sdk 的接口和导入的类完全是错误的,即使我把 MCP python sdk 的 github 页面的 readme 文件直接在聊天中发给他,也会有一些错误。
image.png
这个时候 Context7 就可以派上用场了,我安装好 Context7 之后,重新创建个文件夹,给 Cursor 的聊天窗口中输入下面的提示词:

我的需求:
- 使用python mcp的SDK 依赖包名为mcp[cli] 1.9.3版本开发一个mcp server  
- 支持stdio和Streamable HTTP两种传输模式
- uv管理python虚拟环境
- 调用高德天气接口作为tool
- 暴露出必要的配置,例如需要配置高德的api key之类的,具体参考文档来决定
高德天气接口文档地址:**@https://lbs.amap.com/api/webservice/guide/api/weatherinfo/** 
参考文档内容:**@https://modelcontextprotocol.io/llms-full.txt** 
@https://github.com/modelcontextprotocol/python-sdk/blob/main/README.md
依赖包的文档和代码示例使用context7这个mcp server查询

输入之后,可以看到 cursor 在执行时,先用 context 的 resolve-library-id 这个 tool 查了关于 mcp python sdk 具体有哪些依赖,然后选择了 /modelcontextprotocol/python-sdk 这个官方库查询它的文档
image.png

等下 CursorAgent 帮我把代码写好之后,依赖的 import 等都没有报错,运行一下,报错了,那就继续让 cursor 从 context7 读文档,解决问题:
image.png

image.png

cursor 自己经过一番查询和修改,自己试着启动了一下,确实没有问题了,漂亮!:
image.png

安装方法

在 cursor 的设置页面,点击导航栏里的image.png
点击添加 MCP,就会自动跳转到 Cursor 全局 MCP 配置文件里,在文件里添加下面的 json 配置:

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

这样就安装好了,回到 cursor 设置界面就可以看到探测到了 context7 的两个 tool,这样就是安装成功了
image.png

配置失败怎么办

我在配置好 mcpServers 的 json 配置之后,回到 cursor 设置页面发现 context7 图标一直是红色的,而且探测不到 MCP tool,我就直接在命令行中运行了下 npx -y @upstash/context7-mcp 果不其然,跑不起来
image.png
直接点击右上角 Add to Chat,让 cursor 帮我修下这个问题,cursor 分析是 npx 的缓存问题,帮我执行了个命令就安装好啦!

使用小技巧

添加一个 Rule

如果你不想每次都在提示中添加 使用 context7 命令,可以在 Cursor 的 设置 > rules 中(或您的 MCP 客户端对应位置)设置自动调用 Context7 来处理所有代码问题的规则:

[[calls]]
match = "when the user requests code examples, setup or configuration steps, or library/API documentation"
tool  = "context7"

这样在任何相关对话中你都能自动获取 Context7 的文档内容,不用额外输入指令

直接用 Library Id

如果你已明确知道要使用哪个库,只需在提示语中加入其 Context7 ID。这样 Context7 MCP 服务端就能跳过库匹配步骤,直接开始检索文档.

implement basic authentication with supabase. use library /supabase/supabase for api and docs

这样可以明确告知 MCP 工具具体需要加载哪个库的文档

结语

context7 确实是是增强 ai 代码助手的利器,能有效降低大模型的幻觉,防止 Cursor 给你随便乱编一套代码出来,大家可以尝试用起来啦 ~

  • MCP
    8 引用 • 59 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...