使用说明
项目简介
Python Code Analyzer 是一个基于 Model Context Protocol (MCP) 的服务器,用于分析Python代码。它能够提供代码的结构、复杂度和依赖性分析,帮助大型语言模型(LLM)理解和处理Python代码。
主要功能点
- 代码结构分析: 识别Python代码中的函数和类,并提取它们的名称、参数和行号等信息。
- 代码复杂度分析: 计算代码的圈复杂度,评估代码的复杂程度,并提供函数级别的复杂度分析报告。
- 代码依赖性分析: 识别代码中导入的模块和库,帮助理解代码的外部依赖关系。
安装步骤
-
克隆仓库
git clone https://github.com/seanivore/mcp-code-analyzer.git cd mcp-code-analyzer -
创建并激活虚拟环境 (推荐)
python3 -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows -
安装Python包
pip install .或者使用可编辑模式安装,方便开发调试:
pip install -e . -
安装 Node.js 依赖 (如果需要直接运行 JavaScript 启动脚本) 虽然服务器是Python实现的,但仓库提供了一个JavaScript启动脚本 'bin/mcp-code-analyzer.js'。 如果你计划使用这个脚本启动服务器,你需要确保安装了 Node.js 环境。 通常情况下,Python 包安装后可以直接通过命令行 'mcp-code-analyzer' 启动服务器,无需手动运行 JavaScript 脚本。
服务器配置
MCP客户端需要配置以下信息以连接到 Python Code Analyzer 服务器。配置信息为 JSON 格式,请复制以下代码到你的MCP客户端配置中。
{ "serverName": "code_analyzer", "command": "mcp-code-analyzer", "args": [] }
配置参数说明:
- 'serverName': 服务器名称,这里设置为 'code_analyzer',与服务器元数据声明的名称一致。
- 'command': 启动服务器的命令。安装Python包后,'mcp-code-analyzer' 命令应该已添加到系统路径中。
- 'args': 启动命令的参数。此服务器启动不需要额外的命令行参数,因此设置为空数组 '[]'。
注意: 确保你的 MCP 客户端能够执行 'mcp-code-analyzer' 命令。这通常意味着Python虚拟环境的 'bin' 目录(或者全局Python环境的scripts目录)需要被添加到系统的 'PATH' 环境变量中。
基本使用方法
Python Code Analyzer 服务器通过标准输入 (stdin) 接收 JSON 格式的请求,并通过标准输出 (stdout) 返回 JSON 格式的响应。
发送请求:
向服务器发送 JSON 请求,指定要分析的 Python 文件路径和分析类型。例如,要分析文件 'test_code.py' 的代码结构,可以发送以下 JSON 字符串到服务器的标准输入:
{"file": "test_code.py", "type": "structure"}
接收响应:
服务器会将分析结果以 JSON 格式输出到标准输出。例如,对于结构分析请求,服务器可能会返回类似以下的 JSON 响应:
{ "type": "structure", "functions": [ { "name": "complex_method", "arguments": ["self", "x"], "line_number": 6 }, { "name": "simple_function", "arguments": [], "line_number": 25 } ], "classes": [ { "name": "TestClass", "methods": ["__init__", "complex_method"], "line_number": 3 } ] }
根据请求的 'type' 参数('structure', 'complexity', 'dependencies'),服务器会返回不同类型的分析结果。
信息
分类
开发者工具