自动化解析服务

一个兼容MCP的SSE服务器,允许LLM客户端通过下游FastAPI服务触发和监控自动化解析作业。

  • by aszmuda
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 aszmuda/oncp-mcp-server

使用说明

应用解析MCP服务器

该项目托管了一个与MCP兼容的SSE服务器,该服务器允许LLM客户端通过下游FastAPI服务触发和监视自动解析作业。

先决条件

  1. 复制env模板并更新下游URL:
    cp .env.example .env
    
  2. 确保可从此主机访问目标FastAPI服务。

运行SSE服务器

uv run python main.py
  • 服务器绑定到 http://localhost:${MCP_SSE_PORT:-8000}/sse (消息通过 /messages/).
  • 日志报告传输开始和关闭完成的时间。

客户端连接示例

  • MCP-CLI: npx @modelcontextprotocol/cli connect http://localhost:8000 --transport sse
  • 原始SSE测试: curl -N http://localhost:8000/sse

连接后,调用服务器公开的工具:

  1. start_resolution –启动作业并接收 job_id.
  2. check_resolution_status –轮询当前状态(排队/运行/完成/失败)。
  3. get_resolution_reasoning –阅读代理对该任务的Markdown推理。

使用 Ctrl+C 优雅地停止服务器;shutdown钩子确保HTTP客户端被干净地拆除。

测试与验证

  1. 单元测试 (httpx客户端模拟):
    uv run pytest
    
  2. 集成烟雾测试 (旋转模拟下游API、MCP SSE服务器和SSE客户端):
    uv run python scripts/smoke_test.py
    
    预期产量:
    • 模拟服务和SSE服务器启动消息
    • 内联打印工具响应(作业ID、状态、推理片段)
    • Smoke test succeeded ✅ 完成时

对于手动验证,您还可以使用上面的MCP CLI命令进行连接;成功运行将流式传输SSE事件,并返回与烟雾测试相同的工具结果。