Code2Flow Call Graph Generator
STDIOMCP server for generating and accessing code call graphs through standardized protocol.
MCP server for generating and accessing code call graphs through standardized protocol.
这是一个将 code2flow 命令行工具包装为 MCP (Model Context Protocol) 服务器的项目。它允许 AI 应用程序通过标准化的 MCP 协议生成和访问代码调用图。
git clone https://github.com/kursk-ye/code2flow-mcp-server.git
cd code2flow-mcp-server
python -m venv venv
.\venv\Scripts\Activate.ps1 # 在 PowerShell 中
pip install -r requirements.txt
pip install code2flow
python server.py
mcp dev server.py
mcp install server.py
"code2flow": { "command": "cmd", "args": [ "/c", "python", "path/to/server.py" ] }
服务器提供以下 MCP 工具:
generate_call_graph
- 生成代码调用图check_code2flow_version
- 检查 code2flow 版本analyze_code_complexity
- 分析代码复杂度服务器提供以下 MCP 资源:
help://code2flow
- 帮助文档languages://supported
- 支持的语言列表call-graph://图像ID
- 生成的调用图图像import asyncio from mcp.client import MCPClient async def main(): # 连接到服务器 client = MCPClient("http://localhost:8000") # 创建新会话 session = await client.create_session() # 调用工具生成调用图 result = await session.call_tool("generate_call_graph", { "source_paths": ["path/to/your/code"], "language": "python" }) # 获取资源 ID print(result) # 检查code2flow版本 version_info = await session.call_tool("check_code2flow_version") print(version_info) # 分析代码复杂度 complexity = await session.call_tool("analyze_code_complexity", { "source_path": "path/to/your/code", "language": "python" }) print(complexity) if __name__ == "__main__": asyncio.run(main())
生成调用图时支持以下参数:
source_paths
:要分析的源代码文件或目录的路径列表output_path
:(可选)输出文件的路径language
:(可选)源代码语言(python、js、ruby、php)exclude
:(可选)要排除的文件模式列表include
:(可选)要包含的文件模式列表server.py
- 主服务器代码mcp_client_example.py
- 客户端示例代码test_server.py
- 测试代码requirements.txt
- 依赖文件MIT