A server that wraps the code2flow command-line tool as an MCP service, allowing AI applications to generate and access code call graphs through a 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
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!