Files
tool-notes/context7-plugin-notes.md
Timmy 05c8cc205e 新增 Context7 Claude Code plugin 安裝筆記
安裝 context7@claude-plugins-official,用於即時拉取 library 官方文件
避免 LLM 訓練資料過時造成的幻覺 API。於 README、SUMMARY、QUICKSTART
建立索引。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 12:18:19 +08:00

4.7 KiB
Raw Blame History

Context7 Plugin (Claude Code) 安裝與使用筆記

基本資訊

是什麼

Context7 是 Upstash 推出的 MCP server用來解決 LLM 訓練資料過時、產生幻覺 API 或沿用已廢棄寫法的問題。它從各函式庫的原始 repo 直接抓取文件餵給 Claude支援指定版本。

Plugin 提供兩個工具:

工具 用途
resolve-library-id 把「react」「supabase」這類自然語言名稱解析成 Context7 內部 ID
query-docs 依據 library ID 取回該版本的官方文件與範例程式

適用:寫 library-specific 程式API 呼叫、框架設定、CLI 用法、版本升級、debug 特定套件問題、確認某個 API 在 vX 版是否存在。

不適用重構、從頭寫業務邏輯、一般程式概念、code review。

安裝

CLI推薦

claude plugin install context7@claude-plugins-official

Claude Code 對話內

/plugin install context7@claude-plugins-official

官方 marketplace claude-plugins-official 預設已加入,不需額外設定。

安裝後驗證

claude plugin list                                         # 應列出 context7@claude-plugins-official
ls ~/.claude/plugins/cache/claude-plugins-official/context7/

Plugin 真正的能力來自 @upstash/context7-mcp,第一次使用時 npx 會自動下載。

架構

和 Playwright plugin 一樣,這是一層薄殼:

context7/
├── .claude-plugin/plugin.json   # plugin metadata
└── .mcp.json                    # 啟動 MCP server 的指令

.mcp.json

{
  "context7": {
    "command": "npx",
    "args": ["-y", "@upstash/context7-mcp"]
  }
}

系統需求

  • Node.jsnpx 可用即可)
  • 第一次啟動會從 npm 下載 @upstash/context7-mcp,需要網路

使用方式

安裝並重啟 Claude Code 後,對話中會出現 mcp__context7__resolve-library-idmcp__context7__query-docs 兩個工具。觸發方式有兩種:

1. 在 prompt 尾端加 use context7

Upstash 官方建議寫法,最直覺:

「寫一段 Next.js middleware 檢查 cookie 中的 JWT。use context7」

「用 Cloudflare Workers 寫一個會快取 JSON API 回應的 script。use context7」

2. 指定特定 library 版本

use library /supabase/supabase for API and docs

或在問題中直接提到 library 與版本:

「我在用 Prisma 5.10,幫我寫一個 soft delete 的 middleware。use context7」

觸發時機(本 repo CLAUDE 規範)

本 repo 的工具層規範已指定:當使用者問到 library / framework / SDK / API / CLI / cloud service 的用法時即使是很熟的React、Next.js、Django…也應優先用 Context7,理由是訓練資料可能過時。不適用於一般重構或業務邏輯。

常見使用情境

  • 版本遷移Next.js 13 → 15、React 18 → 19、Prisma 4 → 5。
  • API 語法確認:某個 method 的參數、deprecated 警告、replacement。
  • 設定檔樣板vite.config.tstailwind.config.jsdrizzle.config.ts 的最新格式。
  • CLI 指令查詢ghwranglersupabase 等工具的現行子指令。
  • 冷門 library:訓練資料很少、但 repo 裡有文件的專案。

常用檢查與移除

# 檢查安裝狀態
claude plugin list

# 檢視 plugin metadata
cat ~/.claude/plugins/marketplaces/claude-plugins-official/external_plugins/context7/.claude-plugin/plugin.json
cat ~/.claude/plugins/marketplaces/claude-plugins-official/external_plugins/context7/.mcp.json

# 手動測試 MCP server
npx -y @upstash/context7-mcp --help

移除:

claude plugin uninstall context7@claude-plugins-official

或在 Claude Code 對話中:

/plugin uninstall context7@claude-plugins-official

備註

  • Plugin 本體沒有鎖版本(顯示為 unknown),能力跟著 @upstash/context7-mcp 的 latest 走。
  • Context7 是 Upstash 提供的線上服務,每次查詢會連到他們的 endpoint離線環境無法使用。
  • 與 web search 的差異Context7 專注在 library docs結構化、版本化web search 則是通用搜尋;優先用 Context7 查文件,減少雜訊。