使用说明
项目简介
'代码上下文 MCP 服务器' 是一个实现了 Model Context Protocol (MCP) 的后端服务,旨在为 AI 助手提供代码项目的上下文信息。它能够分析代码仓库,提取目录结构和代码符号(如函数、变量、类等),从而帮助 AI 助手更好地理解代码库,提升代码相关的智能辅助功能。
主要功能点
- 目录树生成:快速扫描指定目录,生成清晰的目录结构,方便 AI 助手理解项目的文件组织。
- 代码符号分析:支持 JavaScript、TypeScript 和 Python 代码文件的分析,提取函数、变量、类、导入导出等代码符号,为 AI 助手提供更深层次的代码理解。
- 可配置分析深度:允许用户设置最大分析目录深度,控制分析范围,适用于大型项目,避免分析过多不必要的代码。
- 灵活的文件模式匹配:支持自定义文件模式匹配,允许用户指定需要分析的文件类型或文件名,提高分析的针对性和效率。
- MCP 协议兼容:遵循 MCP 协议标准,可以与任何兼容 MCP 协议的 AI 客户端无缝集成。
安装步骤
本 MCP 服务器可以通过 npm 包管理器进行安装和运行。
方法一:使用 npx 快速启动 (无需全局安装)
打开终端,根据你的操作系统执行以下命令即可快速启动服务器:
Windows:
{ "mcpServers": { "code-context-provider-mcp": { "command": "cmd.exe", "args": [ "/c", "npx", "-y", "code-context-provider-mcp@latest" ] } } }
MacOS/Linux:
{ "mcpServers": { "code-context-provider-mcp": { "command": "npx", "args": [ "-y", "code-context-provider-mcp@latest" ] } } }
方法二:全局安装后运行
-
全局安装: 在终端执行以下命令进行全局安装:
npm install -g code-context-provider-mcp -
运行服务器: 安装完成后,在终端执行以下命令启动服务器:
code-context-provider-mcp
服务器配置
为了让 MCP 客户端能够连接到 '代码上下文 MCP 服务器',需要在客户端的配置文件中添加服务器的配置信息。以下是配置示例,请根据你的实际使用场景进行调整。
配置参数说明:
- '"server name"': 服务器名称,可以自定义,用于在客户端中标识该服务器。例如 '"code-context-provider-mcp"'。
- '"command"': 启动服务器的命令。
- 对于 'npx' 启动方式,Windows 系统使用 '"cmd.exe"',MacOS/Linux 系统使用 '"npx"'。
- 对于全局安装方式,'command' 为 '"code-context-provider-mcp"'。
- '"args"': 启动命令的参数。
- 对于 'npx' 启动方式,参数为 '["-y", "code-context-provider-mcp@latest"]', '-y' 表示自动确认安装,'code-context-provider-mcp@latest' 指定要运行的 npm 包。
配置示例 (JSON 格式):
以下 JSON 配置示例展示了如何在 MCP 客户端中配置 '代码上下文 MCP 服务器'。请将以下 JSON 代码添加到你的 MCP 客户端的服务器配置部分。
使用 npx 启动 (推荐):
Windows:
{ "mcpServers": { "code-context-provider-mcp": { "command": "cmd.exe", "args": [ "/c", "npx", "-y", "code-context-provider-mcp@latest" ] } } }
MacOS/Linux:
{ "mcpServers": { "code-context-provider-mcp": { "command": "npx", "args": [ "-y", "code-context-provider-mcp@latest" ] } } }
全局安装后启动:
{ "mcpServers": { "code-context-provider-mcp": { "command": "code-context-provider-mcp", "args": [] } } }
基本使用方法
'代码上下文 MCP 服务器' 提供了一个名为 'get_code_context' 的工具,用于获取代码项目的上下文信息。
调用 'get_code_context' 工具:
MCP 客户端可以通过 JSON-RPC 请求调用 'get_code_context' 工具,并传递以下参数:
- 'absolutePath' (string, 必填): 要分析的目录的绝对路径。Windows 用户建议使用正斜杠 '/' 分隔路径,避免转义问题 (例如: 'C:/Users/username/Documents/project/src')。
- 'analyzeJs' (boolean, 可选, 默认: 'false'): 是否分析 JavaScript、TypeScript 和 Python 文件,提取代码符号。如果设置为 'true',响应中会包含函数、变量、类等的数量统计。
- 'includeSymbols' (boolean, 可选, 默认: 'false'): 是否在响应中包含详细的代码符号信息。如果设置为 'true',响应中会包含每个文件的代码符号列表。
- 'symbolType' (enum, 可选, 默认: ''all''): 当 'includeSymbols' 为 'true' 时,指定要包含的代码符号类型。可选值包括 ''functions'', ''variables'', ''classes'', ''imports'', ''exports'', ''all''。
- 'filePatterns' (array of strings, 可选): 用于指定要分析的文件模式列表。例如 '[".js", ".py"]' 表示只分析 JavaScript 和 Python 文件。
- 'maxDepth' (number, 可选, 默认: '5'): 代码分析的最大目录深度。目录树结构始终会完整生成,但代码符号分析只会进行到指定深度。
示例工具调用 (假设使用 MCP 客户端):
{ "jsonrpc": "2.0", "method": "tool/invoke", "params": { "tool_name": "get_code_context", "arguments": { "absolutePath": "/path/to/your/project", "analyzeJs": true, "includeSymbols": false, "maxDepth": 3 } }, "id": "1" }
工具响应:
服务器会返回 JSON-RPC 响应,其中 'result.content' 字段包含分析结果的文本内容,包括目录结构和代码分析摘要(如果启用了代码分析)。
注意:
- 代码符号分析目前仅支持 JavaScript、TypeScript 和 Python 文件。
- 可以通过 'maxDepth' 参数控制分析深度,对于大型项目,建议适当减小 'maxDepth' 值以提高效率。
信息
分类
开发者工具