Context7 用于按需获取任意编程库、框架、SDK、API、CLI 工具或云服务的当前、版本准确的文档与代码示例。资料指出,即使对于知名库也建议使用它,因为训练数据可能未反映近期变更;在查询库文档时优先使用它而非网络搜索。
使用前需要通过 MCP 客户端连接 context7 MCP 服务器,命令为:mcpc connect <your mcpc config>:context7 @c7。
主要工具及工作流:
- resolve-library-id:将包或产品名称解析为 Context7 兼容的库 ID,必须在 query-docs 之前调用。参数包括 query(问题或任务,用于按相关性排序结果)和 libraryName(带正确标点的官方库名称,如 "Next.js"、"Three.js")。返回匹配库列表,含 ID(格式 /org/project)、描述、片段数量、声誉评分和版本信息;选择时依据名称匹配、来源声誉(High > Medium > Low)、片段覆盖和基准分数。
- query-docs:为已解析的库 ID 检索文档与代码示例。参数包括 libraryId(来自 resolve-library-id 的 Context7 库 ID,如 /vercel/next.js)和 query(具体问题,包含相关细节以提升结果质量)。
典型流程为:mcpc @c7 tools-call resolve-library-id → 获取库 ID;mcpc @c7 tools-call query-docs → 获取文档。资料给出示例:先解析 React 的 useEffect 清理函数,得到 /facebook/react,再查询文档获取带代码示例的内容;也支持版本化 ID,如 /vercel/next.js/v14.3.0-canary.87。
规则包括:除非用户直接提供 /org/project 格式 ID,否则先调用 resolve-library-id;每个问题调用任一工具不超过 3 次;使用正确库名(如 "Next.js" 而非 "nextjs", "Customer.io" 而非 "customerio");查询要具体(如 "How to set up JWT auth in Express.js" 而非 "auth");绝不在查询中包含 API 密钥、密码或敏感数据。
适用场景为需要当前、版本准确文档或代码示例的编程与开发任务。限制包括必须通过 MCP 客户端连接使用、工具调用次数受限、需遵循先解析后查询的顺序,且查询中不得含敏感信息。