紅溫了!Cursor又亂寫代碼?1分鐘裝上Context7 MCP享受實(shí)時(shí)文檔檢索服務(wù)

0 評(píng)論 5564 瀏覽 2 收藏 9 分鐘

面對(duì)AI編程助手Cursor在編寫代碼時(shí)可能出現(xiàn)的錯(cuò)誤和過時(shí)信息,Context7 MCP提供了一個(gè)創(chuàng)新的解決方案。文章將介紹如何快速安裝并使用Context7 MCP,以便在編寫代碼時(shí)享受實(shí)時(shí)文檔檢索服務(wù),確保AI助手能夠訪問到最新、最準(zhǔn)確的官方文檔,從而提高編程效率和代碼質(zhì)量。這一工具的引入,預(yù)示著AI編程輔助工具的新時(shí)代,讓開發(fā)者能夠更加信賴AI生成的代碼。

AI編程紅溫時(shí)刻:寫著寫著,Cursor突然就開始一本正經(jīng)地胡說八道 ,給你整一堆壓根不存在 的函數(shù)、接口,或者用些老掉牙的舊API ???

這些問題歸根結(jié)底是 AI 的知識(shí)「過時(shí)了、混亂了」混亂是因?yàn)楝F(xiàn)在網(wǎng)上太多亂寫內(nèi)容的,像我每天寫文章要檢索很多資料,搞半天發(fā)現(xiàn)很多都是錯(cuò)的?????

所以解決方案就是寫代碼的時(shí)候 @文檔 ,給 AI 喂資料,但說實(shí)話,不現(xiàn)實(shí),難道每個(gè)包都去@一下嗎? 又麻煩,效果又一般 ,還得擔(dān)心 Token 超限,體驗(yàn)實(shí)在算不上絲滑。

這樣的背景下, Context7 騰空而出。

?? Github 先甩臉上:https://github.com/upstash/context7

一、Context7 是個(gè)啥?為啥說它是救星?

簡(jiǎn)單來說,Context7 就是由 Upstash 公司(就是那個(gè)搞 Serverless Redis 和 Kafka 的大佬)開發(fā)的一個(gè)專門給咱 AI 編程助手(像 Cursor、Claude Desktop、Windsurf 等)實(shí)時(shí)“補(bǔ)課” 的工具。

它的核心使命就一個(gè):給你的 AI 喂上最新鮮、最準(zhǔn)確的官方文檔!

你想啊,AI 模型訓(xùn)練一次成本老高了,不可能天天更新。但技術(shù)庫(kù)可不管你這個(gè),說不定上個(gè)月剛學(xué)的,這個(gè)月就廢棄了。

Context7 的誕生背景,就是 Upstash 的大佬自己都被 AI 瞎編代碼搞煩了! (創(chuàng)始人親自下場(chǎng)吐槽,這波操作可以說是非常 real 了 ??)

所以,他們搞了個(gè)騷操作:

  1. 把市面上 3500+ 個(gè)常用庫(kù)(還在不斷增加?。┑墓俜轿臋n 全扒下來,整理得明明白白。
  2. 當(dāng)你寫 Prompt 需要用到某個(gè)庫(kù)時(shí),Context7 實(shí)時(shí) 去這些最新文檔里精準(zhǔn)查找 你需要的那部分信息(還能指定版本哦?。?/li>
  3. 然后,把這些熱乎乎、絕對(duì)正確 的官方代碼示例和說明,悄悄塞進(jìn) 你的 Prompt 上下文里,再交給 AI。

這不就相當(dāng)于給 AI 配了個(gè)“實(shí)時(shí)更新的超級(jí)大腦”嘛!??

二、工作原理設(shè)計(jì)理念與工作方式

  • 實(shí)時(shí)拉取最新信息:當(dāng)用戶在支持MCP的AI工具中編寫Prompt并請(qǐng)求使用Context7時(shí),它會(huì)直接從源頭(如官方文檔、代碼倉(cāng)庫(kù))拉取與請(qǐng)求相關(guān)的、最新版本的文檔和代碼示例。
  • 精準(zhǔn)上下文注入:將這些新鮮、準(zhǔn)確的信息直接注入到用戶的Prompt上下文中,然后才交給LLM處理。
  • 基于RAG(檢索增強(qiáng)生成):底層原理類似RAG。它索引了大量(超過3000/3500個(gè))庫(kù)的官方文檔,進(jìn)行解析、豐富(加解釋元數(shù)據(jù))、向量化(便于語(yǔ)義搜索)、重排序(自研算法確保相關(guān)性和簡(jiǎn)潔性,去除廢話)、緩存(使用Upstash Redis加速)。
  • 專注“干貨”:?致力于從官方文檔中提取真正可運(yùn)行的代碼片段,而非冗余信息。llms.txt:?提出了類似robots.txt的概念,為L(zhǎng)LM提供優(yōu)化過的、預(yù)處理的文檔摘要。Context7會(huì)自動(dòng)為開源庫(kù)生成,也允許庫(kù)作者提交。

背后的MCP工具調(diào)用:?當(dāng)使用use context7時(shí),AI助手會(huì)自動(dòng)調(diào)用Context7 MCP提供的兩個(gè)主要工具:resolve_library_id: 根據(jù)Prompt中的模糊描述(如 “nextjs router”)找到精確的庫(kù)ID(如 “nextjs-15″)。get_library_docs: 使用庫(kù)ID和具體問題(如 “how to use middleware”)從索引中檢索最相關(guān)的文檔片段。

當(dāng)然你也可以手動(dòng)查詢: 訪問 context7.com 網(wǎng)站,手動(dòng)搜索各個(gè)技術(shù)棧的最新LLM.txt格式文檔。

三、這么牛的東西,用起來麻煩嗎?

一點(diǎn)都不麻煩!簡(jiǎn)單到離譜!

1. 安裝(1分鐘搞定):

在 Cursor 的設(shè)置里,找到 MCP Server 的配置,把下面這段 JSON 粘貼進(jìn)去:

{

“mcpServers”:?{

“context7”:?{

“command”:?“npx”,

“args”:?[“-y”,?“@upstash/context7-mcp@latest”]

}

}}

保存!搞定! Cursor 會(huì)自動(dòng)幫你安裝好。

2. 使用(就像呼吸一樣自然)

寫 Prompt 的時(shí)候,描述完你的需求,在最后加上一句 use context7 就行了!

舉個(gè)栗子??:

你想讓 Cursor 用最新的 Next.js 15.3 里的新事件處理器 onNavigate 寫個(gè)例子。沒用 Context7 時(shí):?就算你?@?了官方文檔,你的 Claude 3.7 可能還是懵的,給你個(gè)老的?onClick?寫法。(AI:我沒學(xué)過啊,我盡力了…)用了?use context7?后:

Duang! ? 就算模型本身不知道,Context7 也會(huì)把最新的用法“喂”給它,生成完全正確、和官方文檔幾乎一樣 的代碼!是不是很神奇!

以上是官方示例,但實(shí)際上用的時(shí)候,你直接用use context7并沒什么卵用,還是要直接讓AI調(diào)用這個(gè)工具去讀文檔才行,例如OpenAI最新出的Agents文檔,AI肯定是不懂的,所以我們就可以直接說:調(diào)用context7 mcp閱讀openai最新的Agents sdk文檔openai-agents,然后 來開發(fā)一個(gè)ai agent工作流

這樣我們就能看到Context7 開始去查找文檔并且閱讀,這樣我們才能放心進(jìn)行接下來的開發(fā)實(shí)操。

四、最佳實(shí)踐搭配

Sequential Thinking MCP + Context7 = AI編程王炸!

前者解決開發(fā)思路的問題,能讓你含糊的需求變清晰

后者解決精準(zhǔn)知識(shí)的問題,確保AI給的代碼是當(dāng)下可用的

有一說一,Context7 絕對(duì)是目前 AI 編程的必備“外掛”之一!

本文由人人都是產(chǎn)品經(jīng)理作者【餅干哥哥】,微信公眾號(hào):【餅干哥哥AGI】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!