MCP编排器-多语言代码分析
可扩展的 MCP 系统,用于静态代码分析和单元测试提示符生成。支持 Java, python e Types/JavaScript 通过专门的运行时间。
🏗️ 建筑师
mcp-orchestrator/
├── server.py # Servidor MCP principal (FastMCP)
├── requirements.txt # Dependências Python
├── package.json # Dependências Node.js
├── runtimes/
│ ├── python/
│ │ └── analyzer.py # Analisador Python (AST)
│ └── ts/
│ └── analyzer.js # Analisador TypeScript/JS (ts-morph)
├── java-analyzer/ # Microserviço Spring Boot
│ ├── pom.xml
│ ├── src/main/java/com/mcporch/analyzer/
│ │ ├── JavaAnalyzerApplication.java
│ │ └── controller/CodeAnalyzerController.java
└── README.md🚀 安装和设置
1. 安装Python依赖关系
pip install -r requirements.txt2. 安装Node.js依赖关系
npm install3. 配置和运行Spring Boot(Java)
cd java-analyzer
mvn spring-boot:runJava 服务将在 http://localhost:8080
4. 启动 MCP Orchestrator
python server.py🛠️ 可用工具
1. analyze_function(language: str, code: str)
Java/Python/TypeScript 中的静态函数分析。
输入:
{
"language": "python",
"code": "def fibonacci(n):\n if n result = run_full_pipeline("java", code);TypeScript
// Código de exemplo
const code = `
async function fetchUserData(userId: number): Promise {
try {
const response = await fetch(\`/api/users/\${userId}\`);
if (!response.ok) {
return null;
}
return await response.json();
} catch (error) {
console.error('Failed to fetch user:', error);
return null;
}
}
`;
// Chamar MCP tool
const result = run_full_pipeline("typescript", code);🔍 回收MCP
分析缓存
mcp://last-analyses返回使用时间戳执行的最近 10 次分析。
缓存取消提示
mcp://last-prompts 返回使用预览和令牌估计生成的最后10个提示。
⚙️ 高级设置
超时
- Análises Python/TS:10段
- Java HTTP 请求:10 秒
错误处理
- 所有错误都被捕获并返回
meta.errors[] - 单步故障不会中断整个管道
- stderr 中的详细日志
输出标准化
所有语言都返回相同的 JSON 合约:
{
"functions": [...],
"inputs": [...],
"outputs": [...],
"complexity": int,
"branches": int,
"side_effects": [...]
}🧪 快速测试
1. 测试 Python
echo 'def hello(name): return f"Hello {name}"' | python runtimes/python/analyzer.py2.测试型TypeScript
echo 'function add(a: number, b: number): number { return a + b; }' | node runtimes/ts/analyzer.js3.测试Java
curl -X POST http://localhost:8080/analyze \
-H "Content-Type: application/json" \
-d '{"code": "public int add(int a, int b) { return a + b; }"}'4.测试管道完工
from server import run_full_pipeline
result = run_full_pipeline("python", "def square(x): return x * x")
print(result["prompt"]["prompt"])📊 Métricas Coletadas
- 函数找到的函数列表
- 输入带类型的参数(如果可用)
- 输出:推断/声明的反驳提示
- 复杂性: 近似循环复杂度
- 分支条件路径数量
- 副作用IO、网络、状态修改等
🔧 解决问题
Java Analyzer 无响应
# Verificar se está rodando
curl http://localhost:8080/health
# Reiniciar se necessário
cd java-analyzer && mvn spring-boot:runPython/Node 依赖错误
# Reinstalar dependências
pip install -r requirements.txt
npm install分析仪超时
- 检查脚本是否有执行权限
- 单独测试分析器
- 增加超时
server.py如有必要
📝 许可证
MIT许可证 - 在您的项目中自由使用!
______________________________________________________________________
下一步将此 MCP 集成到您的开发工作流程中,从分析的代码自动生成测试! (2)🚀
