Context7 MCP Server

Context7 MCP Server

Context7 MCP 伺服器使大型語言模型 (LLMs) 能夠直接從各種庫和套件獲取最新的版本特定文檔和代碼示例,並將這些信息注入到您的提示中,以消除過時的代碼、虛構的 API 和通用答案。

Author: upstash


查看協議

什麼是 Context7 MCP 伺服器?

Context7 MCP 伺服器是一個開源的 MCP 伺服器,作為大型語言模型和 AI 開發工具之間的動態文檔和代碼示例橋樑。通過 Model Context Protocol (MCP) 進行連接,它為您提示中使用的庫或框架獲取和提供當前的權威文檔和實用示例,保持編碼答案的準確性和相關性。它與 Cursor、Claude Desktop、Windsurf、Zed 等流行編輯器和工具兼容。

如何配置 Context7 MCP 伺服器

您可以通過將 Context7 MCP 伺服器添加到工具的 MCP 配置中來進行配置。常見的方法有:

  • NodeJS:使用 npx(或 bunx/deno)運行最新的套件,通過更新您的 MCP 客戶端配置:
    {
      "mcpServers": {
        "context7": {
          "command": "npx",
          "args": ["-y", "@upstash/context7-mcp@latest"]
        }
      }
    }
    
  • 編輯器/IDE:進入設定(例如 Cursor 或 VS Code),並將 Context7 添加為全域 MCP 伺服器,使用推薦的配置,或通過適當的擴展市場安裝。
  • Docker:構建和運行提供的 Dockerfile,然後調整您的配置以執行 Docker 命令作為您的 MCP 伺服器。
  • Smithery:使用 npx -y @smithery/cli install @upstash/context7-mcp --client claude 進行 Claude Desktop 集成。
  • 確保使用 Node.js v18 以上以取得最佳兼容性,並參考工具的 MCP 文檔以獲取位置特定的配置細節。

如何使用 Context7 MCP 伺服器

  1. 在提示中啟用 Context7:當您寫代碼提示時,將 use context7 添加到指令的末尾(例如:創建一個基本的 Next.js 項目,使用應用路由。 use context7)。
  2. LLM 集成:大型語言模型或 AI 助手檢測到 use context7 命令,並自動查詢 Context7 MCP 以獲取相關的、最新的文檔和代碼示例。
  3. 提示增強:提取和注入的內容改善了 LLM 的輸出——不再出現過時的 API 或虛假的反應。
  4. 無需切換標籤:一切都在您的開發聊天、IDE 或編碼助手的上下文中完成。

主要特點

  • 最新文檔:從數千個庫中提取官方的、最新的文檔和代碼示例。
  • 多工具支持:無縫集成 Cursor、Claude Desktop、VS Code、Zed 及任何與 MCP 兼容的代理或 IDE。
  • 即插即用設置:簡單配置——通過 npxbunxdeno、Docker 或市場擴展運行。
  • 動態上下文注入:將與上下文相關的文檔直接提供到 LLM 提示中。
  • 工具 API:通過 MCP 協議公開可執行操作(例如 resolve-library-idget-library-docs)。
  • 開放且可擴展:社區驅動,MIT 許可,並且易於適應新的環境或工作流程。

使用案例

  • AI 配對編程:使用最新範例和版本匹配的 API 提升 LLM 代碼補全。
  • 錯誤調試:即時提取相關的故障排除步驟和文檔以解決編碼問題。
  • 學習新框架:查詢不熟悉的庫和套件的最佳實踐代碼和指南。
  • 遺留遷移:獲取套件升級的準確語法和 API 更改,最小化手動研究。

常見問題

Q1:如果啟動 Context7 MCP 伺服器時出現 ERR_MODULE_NOT_FOUND 錯誤,我該怎麼辦?
嘗試在您的配置中使用 bunx 而不是 npx。這通常可以解決模組解析問題,特別是在 npx 表現不如預期或 Node ESM 處理出現問題的環境中。

Q2:我可以在 Docker 容器中運行 Context7 MCP 伺服器嗎?
可以!使用提供的 Dockerfile 構建 Docker 映像,然後更新您的 MCP 客戶端配置以執行 Docker 運行命令,如指南所示。確保 Docker 守護進程正在運行,且映像標籤與您的配置匹配。

Q3:我如何在不同的編輯器中使用 Context7,例如 VS Code、Cursor 或 Zed?
每個主要編輯器和工具都有現成的配置片段。您可以使用擴展/市場,或手動將正確的服務器定義添加到您的 MCP 配置文件中,如上所示。

Q4:我如何確保提供的文檔準確且最新?
Context7 直接從最新可用的官方來源和索引庫中提取文檔和示例。然而,作為一個社區驅動的項目,始終需要仔細檢查內容——如果發現不準確的地方,請使用“報告”功能。

Q5:LLM 生成的代碼過於通用或過時——可能出了什麼問題?
確保您的提示中出現 use context7,並確認您的 MCP 配置正常(通過 MCPI Inspector 測試)。如果本地運行或通過 Docker 運行,還要檢查您的網絡/防火牆設置。