/ 目錄 / 演練場 / Context7
● 官方 upstash ⚡ 即開即用

Context7

作者 upstash · upstash/context7

Context7會將3萬多個程式庫的新鮮版本特定文件注入您的程式設計代理程式中,從而停止不存在的幻覺API。

Context7是Upstash的docs-for-LLMs平臺。MCP伺服器會將程式庫名稱解析為穩定ID ,然後擷取客服人員所需的確切文件片段,並釘選至鎖定檔案中的版本。免費會員等級開箱即用;免費API金鑰可提高費率限制。它是從單個npx命令安裝的,是跨越2個以上庫的任何編碼工作流程的最高ROI MCP之一。

為什麼要用

核心特性

即時演示

實際使用效果

context7.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "context7",
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "context7": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@upstash/context7-mcp@latest"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

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

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: Context7

阻止你的特工產生不存在的幻覺功能

👤 任何人使用AI編碼助手,其程式庫比模型截止日期更新 ⏱ ~5 min beginner

何時使用: 您正在使用Next.js 15、Prisma 5、Drizzle、LangChain 0.3或任何快速變化的程式庫,而您的代理不斷發明不存在的函式。

前置條件
  • 節點18 + — node -v
  • 已安裝Context7 MCP — 將上面的配置塊粘貼到您的Claude桌面/光標/風帆衝浪設置中
步驟
  1. 明確命名程式庫
    使用Context7 ,提取PRISMA的最新文件,並向我展示使用巢狀關係寫入執行交易的正確方法。✓ 已複製
    → 客服人員呼叫resolve-library-id ,然後使用相關查詢查詢文件,而不是維基百科風格的摘要
  2. 如有需要,請釘選至版本
    我在下一個@ 15.0.3。使用Context7取得該版本的App Router串流文件。✓ 已複製
    → 引文包含版本;程式碼使用以檔案為基礎的約定,而不是getServerSideProps
  3. 請自行核對驗證碼
    讀取src/lib/db.ts中的匯入,然後使用Context7驗證我匯入的每個函數實際上都存在於drizzle-orm 0.30.x中。✓ 已複製
    → 每次匯入✓/包含文件連結的✗報告

結果: 客服人員輸出使用真實的、當前的API (首先嘗試) ,而不是看起來合理的發明API。

注意事項
  • 客服人員在第二次轉彎時忘記致電Context7 — 在系統提示或CLAUDE.md中輸入「always use Context7 for library questions」
  • 程式庫名稱不明確(例如「supabase」) — 讓resolve-library-id傳回比對;選擇特定套件(supabase-js vs @ supabase/ssr)
搭配使用: filesystem · github

使用當前慣用模式搭建新功能的腳手架

👤 工程師在不熟悉或更新版本的框架中啟動功能 ⏱ ~15 min intermediate

何時使用: 您需要向Next.js 15應用程式新增驗證,並想要跳過過時的部落格貼文。

前置條件
  • 已識別目標架構 — package.json或pyproject.toml已列出它
步驟
  1. 詢問目前的慣用語
    使用Context7擷取NextAuth v5文件,並為我建立認證提供者設定。我想要目前的測試版,而不是v4。✓ 已複製
    → 程式碼使用來自v5的auth ()函數和Edge相容組態,而非v4 getServerSession
  2. 驗證移轉備註
    提取NextAuth文件的「從v4升級」部分,並列出我需要在目前程式碼中變更的內容。✓ 已複製
    → 拆分更改的差異樣式列表

結果: 在第一次提交時運行v5代碼—而不是半遷移的混合代碼。

注意事項
  • 文件不會涵蓋邊緣案例 — Context7僅限文件;對於未發佈的行為,請透過GitHub MCP回退至來源
搭配使用: github · filesystem

使用真實的文件引用來審查公關,而非共鳴

👤 想要用證據備份評論的審核人員 ⏱ ~20 min intermediate

何時使用: 使用程式庫API審核公關時,你並非100%確定是否正確。

步驟
  1. 閱讀差異
    從PR # 482中拉出差異。對於每次函式庫呼叫,請使用Context7驗證簽名,並標記任何看起來不對勁的內容。✓ 已複製
    → 包含文件連結和版本的每次通話判斷
  2. 撰寫可引用的評論
    針對每個被標記的通話,請草擬評論評論,並透過Context7連結官方文件。✓ 已複製
    → 評論內容為「根據v15文件<link>, X應為Y」

結果: 在評論中附上引文,而不是意見。

搭配使用: github

將程式碼庫遷移到程式碼庫的新主要版本

👤 工程師進行重大升級( React 18→ 19、Tailwind 3→ 4等) ⏱ ~90 min advanced

何時使用: 你遇到了一個主要版本,升級指南是40頁的「視情況而定」。

前置條件
  • 選擇的目標版本 — 選擇準確的版本;不要在專業上做“最新”
步驟
  1. 拉取遷移指南
    使用 Context7 取得 Tailwind v3→v4 遷移文檔。 總結為清單。✓ 已複製
    → 重大變更有序清單
  2. 掃描每個問題的儲存庫
    對於該清單上的每個項目,使用檔案系統 MCP 在 src/ 中尋找匹配模式。 給我一份每個文件的報告。✓ 已複製
    → 模式 → 受影響的文件列表
  3. 小提交中的補丁
    使用引用文件部分的訊息使每個遷移項目成為單獨的提交。✓ 已複製
    → 清理提交日誌,您可以逐項恢復

結果: 您可以實際審查的遷移公關,每項變更都綁定到文件部分。

注意事項
  • 在一次提交中承擔太多項目 — 一項重大變更→一項提交;如果有東西壞了,就很容易一分為二
搭配使用: filesystem · git · github

組合

與其他 MCP 搭配,撬動十倍槓桿

context7 + filesystem

讀取 package.json 以選擇確切的版本,然後查詢 Context7 匹配的文檔

閱讀 package.json,找到下一個版本,並從 Context7 for Server Actions 中提取符合的文件。✓ 已複製
context7 + github

對於涉及庫 API 的 PR,請使用文件引用對評論進行註釋

對於 PR #482 中的每個 API 調用,新增引用 Context7 文件的評論評論。✓ 已複製

在接觸程式碼之前逐步規劃遷移

使用順序思維來規劃 Prisma v4→v5 遷移,在每一步從 Context7 提取文件證據。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
resolve-library-id libraryName: str 第一次呼叫 - 消除您關心的庫名稱的歧義 1 free request
query-docs libraryId: str, query: str, version?: str 在resolve-library-id之後-提出實際問題 1 free request (higher rate limit with API key)

成本與限制

運行它的成本

API 配額
免費套餐很慷慨;免費 API 金鑰 (context7.com/dashboard) 提高了速率限制
每次呼叫 Token 數
每個查詢 ~200–2000,取決於文件​​長度
費用
自由的
提示
範圍查詢-「如何使用 X」比「給我有關 X 的一切」便宜;伺服器已經回傳焦點片段

安全

權限、密鑰、影響範圍

憑證儲存: 可選 CONTEXT7_API_KEY 環境變數以獲得更高的速率限制
資料出站: 查詢前往 api.context7.com;無程式碼出口 - 僅發送庫名稱和您的查詢

故障排查

常見錯誤與修復

解析庫 id 未找到函式庫

嘗試其他名稱(例如“nextjs”、“next.js”、“@vercel/next”); Context7 按常見別名進行索引,但不是每個分支

驗證: Check context7.com/browse for the official slug
文件看起來已經過時了

包含顯式版本 arg;如果沒有它,您將獲得圖書館最新的索引文檔,這些文檔可能會滯後幾個小時的發布

驗證: Compare the returned snippet URL to the official docs site
匿名使用受到速率限制

在 context7.com/dashboard 取得免費的 API 金鑰,並在 MCP 配置的環境區塊中設定 CONTEXT7_API_KEY

驗證: Re-run the same query and check it succeeds

替代方案

Context7 對比其他方案

替代方案何時用它替代權衡
GitHub MCP (docs folder)您需要原始程式碼層級的真相或未發布的行為每個文件的延遲很高;您必須手動導航存儲庫
Ref Tools您想要一個具有自己索引的不同文件提供者不同的庫覆蓋範圍
Direct web fetch該文件不在任何索引中 — 您有 URL無版本解析;你做URL工作

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills