使用说明
项目简介
Context7 MCP Server for Zed 是一个 Zed 编辑器的扩展,它将 Context7 集成到 Zed Assistant 中,作为一个 Model Context Protocol (MCP) 服务器。Context7 的核心功能是为 LLM 提供最新的、版本特定的文档和代码示例,直接从源代码中提取信息,并将其作为上下文信息提供给 LLM。这解决了传统 LLM 依赖过时或通用信息的问题,使得代码助手能够生成更准确、更可靠的答案和代码建议。
主要功能点
- 获取最新文档和代码示例: Context7 能够从最新的源代码中抓取文档和代码示例,确保 LLM 获得的信息是最新的,避免基于过时信息的回答。
- 解决幻觉问题: 通过提供精确的上下文信息,Context7 减少了 LLM 产生“幻觉”的可能性,即生成不存在的 API 或过时代码。
- 版本特定信息: Context7 能够处理版本特定的文档,确保 LLM 提供的建议与用户当前使用的库版本相匹配。
- 工具集成: 提供 'resolve-library-id' 和 'get-library-docs' 两个工具,允许 LLM 客户端(如 Zed Assistant)调用 Context7 的功能。
- 'resolve-library-id': 将通用的库名称转换为 Context7 兼容的库 ID,用于后续的文档检索。
- 'get-library-docs': 根据 Context7 兼容的库 ID 获取该库的文档内容,可以指定主题和限制返回的 token 数量。
安装步骤
- 安装 Zed 编辑器: 确保你已经安装了 Zed 编辑器。
- 安装 Context7 MCP Server 扩展: 在 Zed 编辑器的扩展市场中搜索 "Context7 MCP Server" 或 "Context7" 并安装此扩展。
服务器配置
对于需要配置 MCP 服务器的客户端(例如,如果 Zed Assistant 未来允许手动配置 MCP 服务器),以下是 Context7 MCP Server 的配置信息示例。通常 Zed 编辑器会自动处理此配置,用户无需手动配置。
{ "serverName": "context7", "command": "node", "args": [ "node_modules/@upstash/context7-mcp/dist/index.js" ], "description": "Context7 MCP Server for Zed", "capabilities": { "resources": [], "tools": [ { "name": "resolve-library-id", "description": "Resolves a general library name into a Context7-compatible library ID.", "parameters": { "type": "object", "properties": { "libraryName": { "type": "string", "description": "Search and rerank results (可选)" } } } }, { "name": "get-library-docs", "description": "Fetches documentation for a library using a Context7-compatible library ID.", "parameters": { "type": "object", "properties": { "context7CompatibleLibraryID": { "type": "string", "description": "Context7 兼容的库 ID (必填)" }, "topic": { "type": "string", "description": "Focus the docs on a specific topic (e.g., \"routing\", \"hooks\") (可选)" }, "tokens": { "type": "integer", "description": "Max number of tokens to return (可选,默认 5000)" } }, "required": [ "context7CompatibleLibraryID" ] } } ], "prompts": [] } }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "context7"。
- 'command': 启动服务器的命令,这里是 "node",假设 Node.js 环境已配置在系统 PATH 中。
- 'args': 启动命令的参数,指向 Context7 MCP Server 的入口文件 'node_modules/@upstash/context7-mcp/dist/index.js'。 请注意,这个路径是相对于扩展安装目录的,在 Zed 扩展环境中,通常可以这样引用。
- 'description': 服务器描述,用于客户端显示。
- 'capabilities': 声明服务器提供的能力,包括 'resources'(资源,这里为空),'tools'(工具,列出了 'resolve-library-id' 和 'get-library-docs' 两个工具及其参数定义),和 'prompts'(Prompt 模板,这里为空)。工具的参数定义描述了 LLM 客户端调用工具时需要提供的参数及其类型和描述。
基本使用方法
- 在 Zed Assistant 中提问: 像平常一样在 Zed 编辑器的 Assistant 中提出你的问题,例如 "How do I use useState in React?"。
- 添加 'use context7' 指令: 在你的问题末尾添加 'use context7',告诉 Zed Assistant 使用 Context7 来增强上下文信息,例如 "How do I use useState in React? use context7"。
- 获取增强的回答: Zed Assistant 将会利用 Context7 MCP Server 获取最新的 React 文档和代码示例,并基于这些信息生成更准确和有用的回答。
通过使用 'use context7' 指令,你可以让 Zed Assistant 在回答你的问题时,充分利用 Context7 提供的最新文档信息,从而获得更优质的编程辅助体验。
信息
分类
开发者工具