Context7 MCP :實時文檔檢索讓代碼更精準,Cursor 開發效率翻倍!
痛點
不知道大家在編程時,有沒有遇到過 AI 大模型會胡編亂造一些庫來調用的情況。
我是遇到過的,記得是 Copilot 剛出來的時候,國內的文心一言也很火,遇到問題,我就會問他,但是發現他寫的代碼都沒法運行,調的庫都是沒有的東西,幻覺很厲害。
最近又遇到了這樣一個場景,讓 AI 助手幫我完成下面一個需求:開發一個 chrome 插件,幫我在閱讀文章時,進行總結。
開發一個chrome插件,具有以下兩個功能:
1、選中頁面的內容,然後點擊插件的按鈕,可以翻譯選中的內容。
2、總結頁面的內容。
要求:
1、翻譯功能和總結功能都使用 kimi api請參見kimi api文檔
2、打開在側邊欄中。
然後分別用百度的文心快碼、阿里的通義靈碼、騰訊的 CodeBuddy 試了下,沒有一個過關的。甚至有一家直接給我搞了一個僞代碼在哪裏。真讓人哭笑不得,最後把 API 直接寫進去,纔算順利完成這個任務。
然後我就想着,能不能把 kimi 的 api 文檔給他們,讓他們參考,發現沒有地方去添加,這個 Cursor 是有的。剛纔翻 MCP 大全的時候,發現了這麼一個寶貝:Context7 MCP。
Context7 可直接從源代碼中獲取最新且特定版本的文檔和代碼示例。將準確、相關的文檔直接粘貼到 Cursor、Claude 或任何 LLM 等工具中。獲得更優質的答案,沒有錯誤信息,擁有真正理解您技術棧的 AI。
LLM 通常使用舊的訓練數據,請在你的代碼編輯器 提示中添加 “use context7”, context7 mcp 會將最新文檔引入您的項目,不用再手動添加或複製粘貼文檔了。
對比了下,目前只有 Trae、Cursor 支持自動有添加文檔,百度文心快碼是集成了一些文檔,但不是很全。
Context7 的優勢
沒有 Context7 時
❌ Without Context7
大模型 LLMs 依賴於關於您所使用庫的過時或通用信息。您會得到:
❌ 代碼示例已過時,是基於一年前的訓練數據。
❌ 存在幻覺,調用的一些 API 根本就不存在。
❌ 針對舊版本軟件包的通用回答
有 Context7 時
✅ With Context7
Context7 MCP 從源代碼中直接獲取最新且特定版本的文檔和代碼示例,並將其直接放入您的提示中。
以下是使用的方法:
安裝 Context7 MCP 服務器
需求
Node.js >= v18.0.0
Cursor, Windsurf, Claude 或其他 MCP 客戶端
# 我試了下,貌似不需要這一步驟,也行,看很多其它的文檔都這樣寫,有問題了再加上吧。
npx @upstash/context7-mcp@latest
Context7 MCP 配置
在 Cursor/Trae/Cline 等中添加以下配置:
單個 MCP 的情況:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}
多個 MCP 直接複製這段。
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
如果在 windows 中出現問題可以試試這樣的配置:
{
"mcpServers":{
"github.com/upstash/context7-mcp":{
"command":"cmd",
"args":[
"/c",
"npx",
"-y",
"@upstash/context7-mcp@latest"
],
"disabled":false,
"autoApprove":[]
}
}
}
如果使用 Docker,配置如下:
{
"mcpServers": {
"context7": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "docker",
"args": ["run", "-i", "--rm", "context7-mcp"],
"transportType": "stdio"
}
}
}
可用的工具
使用方法
在 Cursor 中將 use context7 添加到您的提示中:
Create a basic Next.js project with app router. use context7
Create a script todelete the rowswhere the city is "" given PostgreSQL credentials. use context7
Context7 可以直接將最新的代碼示例和文檔獲取到您的 LLM 上下文中。
自然地寫下您的提示
告訴語言模型要 use context7
獲取可運行的代碼答案
無需在標籤頁間切換,沒有不存在的API幻覺,也沒有過時的代碼生成。
案例演示
輸入你的編程問題或任務,並在提示末尾添加 use context7,這個是官方要求的。
建議大家以後在有多個 MCP 的時候,防止出錯,可以在提示詞裏面明確的告訴大模型每一步應該調用的 MCP,以便更準確的執行你的任務。 我的一點經驗。
案例 1:
Create a basic Next.js project with app router. use context7-mcp
如何使用 Next.js 14 的 App Router 創建一個新項目?use context7
案例 2:
目前 https://context7.com 已經收錄了 1 萬多的文檔了
排名也很靠前。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/IFx0HabXH15-SpeFHEB2eg