本项目包含一个Model Context Protocol (MCP) 服务器实现,旨在为大型语言模型 (LLM) 客户端提供标准化的项目代码库分析和上下文获取能力。服务器通过JSON-RPC协议暴露一系列工具,LLM应用可以调用这些工具来理解项目结构、依赖关系、文件内容等,从而更好地执行代码生成、问答等任务。
主要功能点
- 项目结构扫描: 查看项目目录和文件的层级结构。
- 文件内容读取: 根据路径获取指定文件的文本内容,支持按行范围读取。
- 目录内容列表: 列出指定目录下的文件和子目录,包含基本信息(大小、修改时间、类型)。
- Git忽略过滤: 根据项目的.gitignore文件过滤掉不相关的路径。
- 依赖分析: 识别并解析常见的项目依赖文件(如 'requirements.txt', 'package.json')。
- 代码库搜索: 在项目中搜索包含特定关键词或符合自然语言描述的代码和测试文件。
- 人类澄清输入: 提供一个工具,允许LLM在需要时通过服务器请求用户提供额外信息或澄清。
安装步骤
- 确保您已安装 Python 3.8 或更高版本。
- 克隆此GitHub仓库到您的本地机器。
- 在项目根目录下创建一个 '.env' 文件,并添加您的Google AI Gemini API 密钥(虽然MCP服务器本身不直接调用LLM,但仓库中的其他组件可能需要)。
GOOGLE_API_KEY=your_api_key_here - 安装所需的Python依赖包,包括MCP命令行工具:
pip install -r requirements.txt
服务器配置
MCP客户端需要知道如何启动或连接到此MCP服务器。以下是MCP客户端通常需要配置的服务器信息:
- server name (服务器名称): 'CommonToolsServer'
- command (启动命令): 'mcp'
- args (命令参数): '["dev", "common/mcp_server.py"]'
参数注释:
- 'mcp': 这是安装了 'mcp[cli]' 依赖后提供的命令行工具。
- 'dev': 'mcp' 工具的一个子命令,用于以开发模式运行指定的MCP服务器文件。
- 'common/mcp_server.py': 指向服务器实现代码文件的路径,相对于项目根目录。
您的MCP客户端(如基于Google ADK构建的应用)需要使用这些信息来配置与此服务器的连接和交互。
基本使用方法
该MCP服务器设计为被MCP客户端(通常是LLM应用或多Agent系统)调用。您作为用户通常不会直接与服务器交互,而是通过配置您的LLM客户端来连接此服务器。一旦连接成功,您的LLM客户端就可以通过发送JSON-RPC请求来调用服务器暴露的工具,例如请求服务器执行 'scan_project' 工具来获取项目结构,或调用 'read_file' 工具来读取特定文件的内容。服务器将执行请求的操作,并通过JSON-RPC响应返回结果给客户端。
信息
分类
开发者工具