应用解析MCP服务器
该项目托管了一个与MCP兼容的SSE服务器,该服务器允许LLM客户端通过下游FastAPI服务触发和监视自动解析作业。
先决条件
- 复制env模板并更新下游URL:
cp .env.example .env- 确保可从此主机访问目标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
连接后,调用服务器公开的工具:
start_resolution–启动作业并接收job_id.check_resolution_status–轮询当前状态(排队/运行/完成/失败)。get_resolution_reasoning–阅读代理对该任务的Markdown推理。
使用 Ctrl+C 优雅地停止服务器;shutdown钩子确保HTTP客户端被干净地拆除。
测试与验证
- 单元测试 (httpx客户端模拟):
uv run pytest- 集成烟雾测试 (旋转模拟下游API、MCP SSE服务器和SSE客户端):
uv run python scripts/smoke_test.py预期产量: - 模拟服务和SSE服务器启动消息 - 内联打印工具响应(作业ID、状态、推理片段) - Smoke test succeeded ✅ 完成时
对于手动验证,您还可以使用上面的MCP CLI命令进行连接;成功运行将流式传输SSE事件,并返回与烟雾测试相同的工具结果。
