前言
小伙伴们大家好,我是小溪,见字如面。不知道大家在使用Cursor时有没有遇到这样的问题,生成的代码使用的都是过时或废弃的API,一个Bug反复修改就是绕不过去,如果你也遇到过这样的问题,那么我们的福音Context7来了,造成上面问题的原因多半是AI因训练数据过时生成错误代码。Context7的功能和Cursor提供的Docs功能类似,但是Context7 MCP的配置比Docs要简单方便的多,同时提供最新文档和代码片段。
对以往实战案例感兴趣的小伙伴也可以看往期:
- 【Cursor实战】Cursor+EdgeOne Pages MCP实现一句话建站?
- 【Cursor实战】使用多维表格作为数据库开发一款文章收录插件(一)
- 【Cursor实战】使用多维表格作为数据库开发一款文章收录插件(二)
- 【Cursor实战】提高前端开发效率的两个MCP,无需打开控制台也可轻松改bug
- 【Cursor实战】Cursor+Stagewise=前端可视化编程?
- 【Cursor实战】DeepWiki MCP让Cursor边查项目文档边写代码
Context7简介
Context7 是 Upstash 推出的AI编程辅助工具,为大型语言模型(LLMs)和 AI 代码编辑器提供最新、版本特定的文档和代码示例。通过解析文档、丰富内容、向量化和重新排名等步骤,确保开发者能获取到准确且最新的代码示例和文档。Context7 支持多种工具,如 Cursor、Windsurf、Claude Desktop 等,通过模型上下文协议(MCP)实现集成。
官网地址:context7.com/
目前Context7上已经收录了1.4万个库并且支持手动更新

Github地址:github.com/upstash/con...

限制
- 使用错误的描述会存在查找包失败的情况
- 暂不支持私有库
优势
- 实时文档获取,减少AI幻觉
- 完全免费
- 覆盖范围广,覆盖了所有主流库
Context7的主要功能
- 实时文档获取:从官方源(如 GitHub、官方文档网站)拉取最新文档和代码示例,确保开发者获取到的信息是最新的。
- 版本特定:能根据目标库的版本匹配相应的文档和代码示例,避免因版本不一致导致的问题。
- 无缝集成:只需在提示中添加 use context7,可触发文档注入,与多种 MCP 兼容客户端(如 Cursor、Windsurf、Claude Desktop 等)集成。
- 减少幻觉代码:降低 AI 生成不存在 API 或过时代码的可能性,提高代码生成的准确性。
- 多平台支持:兼容多种开发工具,如 Cursor、Windsurf、VS Code 等。
- 精准的上下文提取:从最新文档中提取干净、相关的代码片段,仅包含代码和描述,没有多余内容。
- 广泛的库支持:目前已支持超过 6000 个流行库,主流框架基本都能找到。
Context7 MCP配置
Context7 MCP检索
在mcp.so官网首页即可找到 Context7 MCP

进入MCP详情获取配置信息

perl
{
"mcpServers": {
"context7": {
"command": "npx",
"args": [
"-y",
"@upstash/context7-mcp@latest"
]
}
}
}
除了mcp.so官网提供的配置方式,Context7 MCP Github仓库上还提供了 Streamable HTTP 配置方式
json
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp"
}
}
}
在Cursor中配置
在Cursor配置->【MCP】->【Add new global MCP server】添加一个新的MCP

在 mcp.json 添加配置

添加完成等待MCP状态变为绿色即可

可以看到Context7 MCP提供了两个工具:
- resolve_library_id: 根据提示词查找库名ID。
- get_library_docs: 根据库名ID获取库对应的文档内容。
基本使用
传统使用方式
在MCP出来之前Context7就提供了基本功能使用,在官网输入关键词检索库名,从检索结果中找到自己的库

点击库名进入详情页

Context7提供了多版本文档控制和文档刷新功能

我们可以对Context7进行提问,在下方会获取到提问相关的内容

我们也可以对结果Tokens限制进行调整以满足不同平台的上下文限制

Context7官网还提供了对检索结果的便捷使用方式

Context7提供了 Raw、Copy、Link 3种使用检索结果的方式:
-
Raw:在浏览器新标签页打开
-
Copy:拷贝当前检索的结果
-
Link:拷贝检索结果的链接
我们可以直接点击【Copy】拷贝检索结果到Cursor中作为上下文使用

也可以点击【Link】复制当前检索结果的链接到Cursor中作为web上下文使用

Context7 MCP使用方式
在Cursor中配置Context7 MCP后,使用 Context7 我们只需在提示中添加 use context7 即可自动获取相关上下文
1)使用最新版的依赖库
前端项目经常会遇到升级依赖库的场景,传统的做法是先到对应依赖库的官网找到安装配置文档,跟着文档一步步执行,有了Context7,我们可以直接问AI,而且不用担心AI会使用旧版本API问题
perl
如何配置vue router? use context7
我们可以跟着步骤配置也可以要求AI帮我们配置(提前做好版本控制)

2)多库支持
在Cursor中我们可以在同一个提示词中指定多个库,例如:
perl
如何在React中配置React Router和Tailwind CSS? use context7
Cursor会依次帮我们调用Context7 MCP查询相关依赖库的文档内容

3)文档差异化问题
这里试一下询问上一期DeepWiki没有解决掉的 modelcontextprotocol/python-sdk 文档同步及时性问题。感兴趣的小伙伴可以查看 【Cursor实战】DeepWiki MCP让Cursor边查项目文档边写代码 中DeepWiki文档及时性问题部分,当时使用DeepWiki仓库文档作为知识库时Cursor并不能理解 streamable-http 配置的意思,这次借助Context7 MCP,Cursor已经可以获取到 streamable-http 相关信息了。

4)Dify工作流适配
同样使用 【Cursor实战】DeepWiki MCP让Cursor边查项目文档边写代码 中的Dify工作流案例,看看Cursor+Context7 MCP是否对Dify工作流DSL构建有所增益。这里使用 context7 和 sequential-thinking 2个MCP

输入提示词
markdown
你是一个工作经验丰富的资深Dify工作流大师,请帮我开发一个`专业翻译助手`Dify工作流,请根据我的要求完成Dify工作流的设计和开发。
## 环境
- Dify版本:1.4.1
- 模型使用`Gemini 1.5 Flash`
## 过程
- 使用<MCPthinking>进行分析并创建todolist,完成一项后,自行标记完成,并开始下一项工作,直到全部完成。
## 结果
- 自动识别输入语言,将用户语言转为目标语言,目标语言没有设置时默认为英文
- 你需要创建完成完整的DSL文件并输出到项目根目录,用于我直接导入到Dify项目中。
- 请不要乱删乱改,你的每一步都需要深思熟虑,确保达成目标。
## 参考
你需要在<dslplugins>内查找插件说明,如果其中没有对应的说明,你需要使用<MCPContext7>进行查找,查找库名langgenius/dify。
## 限制
- 保持原文的语气和风格
- 确保翻译准确、自然、地道
- 对于专业术语要准确把握
- 如果遇到不确定的内容,在翻译后用括号标注说明
Agent会调用Context7获取Dify工作流相关的信息

Cursor生成完后,提供了如下工作流配置,一眼格式不对,根本不用导入Dify,有点令人失望的。目前看无论是通过 Dify官方文档、DeepWiki、还是 Context 7 都无法直接让AI直接生成有效的DSL工作流。

添加项目到Context7
我这里想了解一下 Context7 是否会解析 Dify DSL工作流配置(DeepWiki不会解析项目工作流的yaml文件),我使用 wwwzhouhui/dify-for-dsl 这个Github仓库作为示例,点击【Add Docs】添加文档

输入Github仓库地址,点击【Add Docs】等待Context7索引

检索完成就可以使用了,经过本人测试,Context7好像也不会解析DSL工作流的yml文件,这意味着通过Context7来提供DSL示例文档上下文的方式是行不通的。

常见问题
SEE error
使用Context7 MCP时经常会出现如下问题,解决方案就是刷新MCP连接,刷新无效尝试重启Cursor

总结
Context7和前面我们了解的DeepWiki的功能相似,DeepWiki是对Github仓库进行索引分析生成结构化、易读的文档;Context7是通过实时拉取官方源进行解析,提供最新、版本特定且经过筛选的文档和代码片段为AI提供上下文环境。两者都可以大幅度解决AI幻觉问题,但两者在使用上还是有所区别的,DeepWiki更适合开源项目的学习,Context7更适合快速更新的框架,提供最新的原汁原味的文档和代码片段。
经使用发现,目前DeepWiki和Context7都支持索引仓库中的代码和文档,对仓库中的配置文件,例如yml等暂不提供索引,无法获取对应内容。
友情提示
见原文:【Cursor实战】Context7 MCP为Cursor提供实时文档上下文
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。