API编排工具

一个基于Flask的API编排工具,集成了LangGraph控制流、MCP工具调用、ElevenLabs TTS和n8n webhooks,适用于会话管理和自动化流程开发。

  • by balbonis
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 balbonis/mcp_orchestrator

使用说明

MCP编排器入门(Flask+LangGraph+MCP python+ElevenLabs+n8n)

公开Flask API的最小编排器运行基于LangGraph-的控制流, 调用MCP工具(或模拟),并集成ElevenLabs TTS和n8n webhooks。

特性

  • /ingest --主侦听器端点
  • /intent --返回消息的结构化意图
  • /tts --ElevenLabs TTS代理(返回base64音频)
  • /health --健康检查
  • Redis支持的短期会话状态
  • 用于本地开发的可选模拟MCP(不需要MCP服务器)
  • n8n webhook助手
  • 干净、可测试的模块边界

快速入门

  1. Python 3.10+ 推荐。
  2. cp .env.example .env 并填写数值。
  3. python -m venv .venv && source .venv/bin/activate (Windows: .venv\Scripts\activate)
  4. pip install -r requirements.txt
  5. 启动Redis(Docker): docker run -p 6379:6379 redis:7-alpine
  6. 运行服务器: FLASK_APP=app.py flask run --port 8080

cURL示例

curl -X POST http://localhost:8080/ingest   -H "Content-Type: application/json"   -d '{"session_id":"abc123","text":"order a large pepperoni pizza","meta":{"voice_out":false}}'

项目布局

app.py
intent.py
memory.py
graph.py
tools_mcp.py
adapters/
  elevenlabs.py
  n8n.py
tests/
  smoke_ingest.http

备注

  • 集 MOCK_MCP=true 在 .env 以模拟MCP工具调用。
  • 替换 intent.detect_intent 和 intent.finalize_reply 你选择的法学硕士。
  • 如果你需要WebSockets,可以轻松地将Flask换成FastAPI。