跳至主要內容

Context7 MCP:讓 AI 編碼助手永遠使用最新文檔

了解 Context7 MCP 如何為 AI 編碼助手提供即時、版本特定的文檔。消除過時 API、幻覺函數和頻繁切換文檔的困擾,透過自動文檔注入提升開發效率。

在使用 AI 編碼助手時,你是否遇過這些問題:

  • 過時的 API:AI 生成的代碼使用了已廢棄的方法
  • 不存在的函數:AI「幻覺」出根本不存在的 API
  • 版本不符:範例代碼是舊版本的,無法在當前版本運行
  • 反覆查文檔:不斷在編輯器和瀏覽器之間切換

Context7 MCP 就是為了解決這些痛點而生的工具。它是由 Upstash 開發的 Model Context Protocol 服務器,能夠即時提供版本特定的官方文檔,直接注入到 AI 的提示詞中。

2026 年 10 月 21 日更新: 安裝方式已改為 npx ctx7 setup --claude 或 Context7 外掛;第二個 MCP 工具已由 get-library-docs 更名為 query-docs;託管端點為 https://mcp.context7.com/mcp;Free 與 Pro 的額度也已調整。以下指令與額度均已對照 Context7 官方文件與 Claude Code MCP 參考文件核實。

什麼是 Context7 MCP?

Context7 是一個 MCP 服務器,專門為 LLM 和 AI 編碼助手提供即時、準確、版本特定的程式碼文檔。

核心特色

  1. 即時文檔存取 📚

    • 直接從官方來源提取最新文檔
    • 確保 AI 使用的資訊永遠是最新的
  2. 版本特定精準度 🎯

    • 在提示詞中提到版本(例如「Next.js 16」)即可自動匹配,也可直接指定含版本的 Library ID,如 /vercel/next.js/v16.2.9
    • 避免版本不符導致的代碼錯誤
  3. 零切換工作流 ⚡

    • 文檔直接注入提示詞,無需跳轉瀏覽器
    • 提升開發效率,保持專注
  4. 廣泛相容性 🔌

    • 支援任何相容 MCP 的客戶端
    • 官方提供 Claude Code、Codex、GitHub Copilot CLI、Cursor、OpenCode、Pi、VS Code 的設定指南,另有 30 多種 MCP 客戶端的手動設定說明

運作原理

Context7 MCP 服務器只提供兩個工具,客戶端會以下列名稱列出:

1. resolve-library-id

將一般的套件名稱解析為 Context7 相容的 Library ID。

參數型別說明
libraryNamestring,必填套件名稱,需使用官方的標點寫法 — 是 Next.js,不是 nextjs
querystring,必填你想用這個套件做什麼,例如 set up middleware

回傳結果包含每個匹配套件的 ID、標題、描述、程式碼片段數量、來源信譽、基準分數,以及可用的版本。

2. query-docs

使用 Context7 相容的 Library ID 取得該套件的文檔。

參數型別說明
libraryIdstring,必填精確的 Library ID,例如 /vercel/next.js 或 /vercel/next.js/v16.2.9
querystring,必填要查詢的內容,聚焦在單一概念
languagestring,選填你使用的程式語言,例如 Python,該語言的範例會優先排序

除非你已經知道 /owner/repo 形式的 ID,否則請先呼叫 resolve-library-id 再呼叫 query-docs。

此工具在舊版中名為 get-library-docs,現已更名為 query-docs,而且沒有 maxTokens 參數 — 請改用精準的 query 來控制回傳範圍。

安裝與設定

方法一:ctx7 setup(推薦)

Context7 提供專屬 CLI,需要 Node.js 22.13 以上版本:

npx ctx7 setup --claude

此流程使用 OAuth device flow 登入 — 會顯示驗證連結與短碼,可在任何裝置上開啟,因此在本機、SSH 或無頭主機上的流程完全相同 — 接著產生 API Key 並安裝對應的 skill。它提供兩種模式:

  • MCP server — 註冊 Context7 MCP 服務器,讓 Claude Code 可以原生呼叫 resolve-library-id 與 query-docs
  • CLI + Skills — 安裝 docs skill,引導 Claude 使用 ctx7 library 與 ctx7 docs 指令,完全不需要 MCP 服務器

加上 --project 可只設定目前專案(預設為使用者層級),日後用 npx ctx7 remove 移除。

方法二:Context7 外掛

外掛直接連線到託管的 MCP 服務器,本機不需要 Node.js、npm 或 npx:

/plugin marketplace add upstash/context7
/plugin install context7@context7-marketplace

重新啟動 Claude Code,執行 /mcp,選擇 Context7 並完成瀏覽器登入,不需要 API Key。請注意外掛不會讀取 CONTEXT7_API_KEY — 在無頭、SSH 或 CI 主機上,請改用 npx ctx7 setup --claude 或手動新增服務器。

方法三:手動 claude mcp add

Context7 官方的 Claude Code 說明提供兩種形式,建議優先使用遠端形式:

# 遠端服務器(託管,推薦)
claude mcp add --scope user \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --transport http context7 https://mcp.context7.com/mcp

# 本機 stdio 服務器
claude mcp add --scope user context7 \
  -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY

Claude Code 的 MCP scope 只有三種 — local(預設,僅限本專案且私有)、project(寫入 .mcp.json,可透過版控共享)、user(所有專案,私有),沒有 global。專案層級的服務器會寫入專案根目錄的 .mcp.json;local 與 user 層級則存放在 ~/.claude.json。

安裝後用 claude mcp get context7 查看連線狀態,或用 claude mcp list 對所有已核准的服務器做健康檢查。

取得 API Key

  1. 前往 context7.com/dashboard
  2. 註冊並創建 API Key
  3. 以 Authorization: Bearer <key> 標頭(遠端)或 --api-key(stdio)帶入。使用 ctx7 setup 或外掛時會自動處理

實際使用範例

範例一:查詢最新的 Next.js App Router 用法

你:「How do I set up a Next.js 16 proxy? use context7」

Context7 執行:
1. resolve-library-id(libraryName: "Next.js", query: "set up a proxy")
   → /vercel/next.js(以及已索引的各版本 ID)
2. query-docs(libraryId: "/vercel/next.js", query: "set up a proxy")
   → 取得目前的 proxy 文檔與程式碼範例

Claude 會依據剛取得的文檔回答,而不是依賴訓練資料。

範例二:直接指定 Library ID 跳過解析

如果你已經知道 ID,直接在提示詞中指明,Context7 就會省略解析步驟:

你:「use context7 with /supabase/supabase for authentication docs」

Context7 執行:
1. query-docs(libraryId: "/supabase/supabase", query: "authentication")
   → 取得目前的 Supabase 驗證文檔

需要特定版本時,改用含版本的 ID,例如 /vercel/next.js/v16.2.9。

價格方案(2026 年 10 月 21 日查核)

方案價格內含 API 呼叫數適合對象
Free$0/月每月 1,000 次個人開發者、公開 repo
Pro$10/席/月每席每月 2,000 次,超出後每 1,000 次 $5團隊、私有 repo
Enterprise客製每席每月 2,000 次,超出後每 1,000 次 $5SOC-2、SSO、地端部署

Search API 與 Context API 的請求各計為一次 API 呼叫。Free 方案達到每月上限後會被封鎖,但每天會獲得 20 次額外呼叫直到次月重置;Pro 方案不會被封鎖,超出部分直接計費。解析私有 repo 另外計費,每 1M tokens $5。最新條款請見 Context7 價格頁。

為什麼需要 Context7?

問題:AI 的「知識截止日期」

大型語言模型的訓練資料有截止日期。即使是目前的 Claude Fable 5.1、Opus 5.5、Sonnet 5.5 與 Haiku 5.5,可靠知識截止日都是 2026 年 6 月,仍然會有落差:

  • 新的框架版本在截止日後發布
  • API 的細節變動(參數名稱、回傳格式)
  • 新功能的最佳實踐(如 React Server Components 的演進)

這些變動都會導致 AI 生成不正確或過時的代碼。

解決方案:即時文檔注入

Context7 透過 MCP 協定,將最新的官方文檔直接注入到 AI 的上下文中,確保每次生成的代碼都基於最新、正確的資訊。

Context7 vs. 手動查文檔

比較項目手動查文檔Context7 MCP
切換成本需跳轉瀏覽器零切換
版本控制手動確認版本自動匹配版本
整合度需複製貼上自動注入提示詞
效率中斷工作流無縫整合
準確度依賴 AI 記憶直接使用官方文檔

進階使用技巧

1. 明確指定版本

「How do I set up a Next.js 16 proxy? use context7」

在提示詞中提到版本,Context7 就會匹配正確的版本。需要精確到某個 release 時,直接指定含版本的 Library ID:/vercel/next.js/v16.2.9。

2. 控制查詢範圍,而不是 token 上限

並沒有 maxTokens 這個參數,你能控制的是問題本身:

好:  「use context7 for the Supabase syntax for row-level security」
避免:「use context7, tell me about Supabase」

查詢聚焦在單一概念時效果最好。選填的 language 參數(或直接以該語言提問)會讓對應語言的程式碼範例優先排序。

3. 加上規則,不必每次明講

ctx7 setup 會安裝一個 skill,遇到套件問題時自動觸發。若要手動設定,在 CLAUDE.md 中加入規則:

Always use Context7 when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask.

4. 結合其他 MCP 服務器

Context7 可與其他 MCP 服務器協同工作:

  • Memory MCP:記住專案使用的套件版本
  • Filesystem MCP:讀取 package.json 自動推斷版本
  • Sequential Thinking MCP:複雜問題拆解

支援的程式語言與框架

Context7 索引了持續更新的大量套件與框架。每一筆都附有 Library ID、已索引的程式碼片段數量、來源信譽評級、基準分數,以及可用的版本 ID。可用 npx ctx7 library <name> "<你想做的事>" 從終端機搜尋,或直接在官網瀏覽。常見的項目包括:

前端

  • React、Vue、Angular、Svelte
  • Next.js、Nuxt、SvelteKit
  • Tailwind CSS、Bootstrap

後端

  • Node.js、Express、NestJS
  • Python(Flask、Django、FastAPI)
  • Go、Rust

資料庫 & 基礎設施

  • PostgreSQL、MongoDB、Redis
  • AWS SDK、Google Cloud SDK
  • Kubernetes、Docker

完整且即時的清單請見 Context7 官網。索引持續更新,因此文章中的任何清單都只是範例,不應視為規格。

最佳實踐

✅ 推薦做法

  1. 刻意選擇 scope:要透過 .mcp.json 與團隊共享就用 --scope project,要套用到本機所有專案就用 --scope user
  2. 版本鎖定:在提示詞中指明版本,或直接使用含版本的 Library ID
  3. 一次只問一個概念:具體的問題比籠統的問題能取回更好的文檔
  4. 結合 Memory MCP:讓 Claude 記住專案常用的套件

❌ 避免做法

  1. 過度依賴:基礎語法不需要查文檔
  2. 籠統的查詢:只給單一關鍵字會白白消耗一次 API 呼叫,而且匹配品質差
  3. 混用版本:確保專案依賴與文檔版本一致

故障排除

問題一:無法連接到 Context7

# 查看 Claude Code 的設定與連線狀態
claude mcp get context7

# 對所有已核准的服務器做健康檢查
claude mcp list

# 從 CLI 確認 Context7 登入狀態
npx ctx7 whoami

claude mcp list 會在每個服務器旁顯示狀態 — ✔ Connected、! Needs authentication,或附帶錯誤細節的 ✘ Failed to connect。專案層級的服務器在互動式工作階段中核准前,會顯示 ⏸ Pending approval。

問題二:找不到某個套件

你:「我想用 some-obscure-library」
Context7:找不到匹配的 Library

解決方法:

  • 使用套件的官方標點寫法 — 是 Next.js,不是 nextjs
  • 直接搜尋索引:npx ctx7 library react "how to clean up useEffect"
  • 瀏覽 context7.com,或透過 Adding Libraries 提交套件

問題三:文檔太舊

如果發現文檔不是最新的,可以:

  1. 改用含版本的 Library ID(/vercel/next.js/v16.2.9)而非裸 ID
  2. 回報給 Context7 團隊(GitHub Issues),或參考 Troubleshooting
  3. 對索引尚未涵蓋的內容,用 WebFetch 或 WebSearch 補充

Context7 的未來

OAuth 2.0 支援

Context7 MCP 服務器支援 OAuth 2.0,適用於實作 MCP OAuth 規範的客戶端。它並沒有獨立的 oauth 設定區塊,而是把端點從 /mcp 改成 /mcp/oauth:

- "url": "https://mcp.context7.com/mcp"
+ "url": "https://mcp.context7.com/mcp/oauth"

OAuth 僅適用於遠端 HTTP 連線;本機 stdio 連線則使用 API Key 認證。在 Claude Code 中,claude mcp login context7 會對已設定的遠端服務器執行 OAuth 流程,加上 claude mcp login context7 --no-browser 則改為印出授權網址而不開啟瀏覽器,適合 SSH 環境。

MCP 生態系統

Context7 是 Model Context Protocol 生態系統中的明星專案之一。2025 年 12 月,Anthropic 將 MCP 捐贈給 Agentic AI Foundation(由 Anthropic、Block、OpenAI 共同創立),顯示 MCP 已成為業界標準。

2025 年 3 月,OpenAI 正式採用 MCP,並整合至 ChatGPT 桌面應用程式,進一步推動 MCP 的普及。

Context7 在 2025 年 11 月被 Thoughtworks Technology Radar 列為 Trial 階段,代表已被業界認可為值得試用的成熟工具。

在 Anthropic 這一側,Build plugins for Claude(2026 年 9 月 25 日)明確指出「Claude supports the latest MCP spec, commonly referred to as MCP 2.0」—— 因此依照目前規範撰寫的服務器,在 Claude Code、桌面應用程式與 Claude 各應用之間都能通用。

結論

Context7 MCP 解決了 AI 編碼助手的核心痛點:過時的知識和不準確的代碼生成。透過即時提供版本特定的官方文檔,它讓 Claude Code、Codex、Cursor、OpenCode 等 MCP 客戶端能夠生成更準確、更可靠的代碼。

適合你嗎?

使用情境是否推薦
學習新框架⭐⭐⭐⭐⭐
頻繁切換技術棧⭐⭐⭐⭐⭐
使用最新版本框架⭐⭐⭐⭐⭐
日常開發輔助⭐⭐⭐⭐
基礎語法查詢⭐⭐

立即開始

  1. 執行 npx ctx7 setup --claude,完成 device flow 登入
  2. 或改用外掛:/plugin marketplace add upstash/context7,接著 /plugin install context7@context7-marketplace
  3. 用 use context7 提問,或把規則寫進 CLAUDE.md 讓它自動觸發
  4. 開始享受零切換的開發體驗

延伸閱讀