Intelligent Intake and Triage MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个基于 MCP(Model Context Protocol)的后端服务器,负责向 MCP 客户端提供可管理的资源、可调用的工具、以及可渲染的提示模板,支持多模态输入与行业级路由与优先级处理等能力。核心通过 FastMCP 框架组织工具、资源、提示等组件,提供面向 LLM 的上下文服务。
-
主要功能点
- 资源(Resources):提供行业队列、分类 taxonomy、路由配置等 MCP 资源,便于 LLM 获取上下文信息。
- 工具(Tools):包含分类、严重性打分、路由决策、获取路由规则、行业列表等工具,支持 LLM 调用外部功能进行推理与决策。
- 提示模板(Prompts):内置分类、分诊、路由等流程的提示模板,帮助 LLM 以结构化方式产出可解析的结果。
- 多模态支持:对图片等附件进行文本提取与描述,便于视觉模型参与推理。
- 配置驱动:行业配置通过 YAML/JSON/YAML-Adapter 的方式加载与规范化,支持自定义行业扩展。
- 跨传输协议:设计目标支持 Stdio、SSE、WebSocket 等传输方式,便于不同客户端接入。
- 会话与能力声明:服务端维护能力、路由及资源信息,确保客户端能在不同会话中获取一致的上下文。
-
安装与运行步骤
- 依赖与环境
- Python 3.11+,Docker(若使用容器化部署)
- 需要的依赖包(如 fastmcp、groq client、google-generativeai 等)可通过 README 提到的方式安装
- 本地运行(非 Docker 场景)
- 安装依赖并配置环境变量(.env):
- GROQ_API_KEY、GEMINI_API_KEY 等相关 API key
- 启动 MCP 服务器(示例命令,实际请参照 README):
- fastmcp run mcp_server/server.py --transport sse --port 8000
- 安装依赖并配置环境变量(.env):
- 验证端点
- 端点/资源浏览:访问示例前端页面或通过 MCP 客户端查询资源
- API/服务端命令会在启动时输出已经监听的端口和传输协议
- 依赖与环境
-
服务器配置(MCP 客户端使用,JSON 格式,包含 server name、command、args 等) 配置示例(请以 JSON 形式保留在客户端配置中;下方为说明文本) { "server_name": "intake-triage-server", "command": ["fastmcp", "run", "mcp_server/server.py"], "args": ["--transport", "sse", "--port", "8000"] } 参数说明:
- server_name:MCP 服务器在客户端侧的标识名称,便于管理和对比。
- command:启动服务器所需的可执行命令数组,首个元素通常为可执行程序名,后续为子命令。
- args:传递给启动命令的参数列表,此处指定传输协议为 SSE(或其他传输方式),以及监听端口号。 注:客户端在接入时仅需要读取上述字段中的 server_name、command、args,即可启动并连接到 MCP 服务器。具体实现中可能需要按客户端实现方的格式进行再包装,以上为准确反映仓库内服务器启动方式的配置思路。
-
基本使用方法
- MCP 服务器启动后,LLM 客户端可以通过 MCP 协议请求:
- 读取资源(如队列、分类、路由配置等)
- 调用工具(分类、分级、路由等)
- 获取并渲染提示模板(Prompts)
- 支持文本与图片等多模态输入,图片输入将先进行文本描述或视觉分析,再与文本分析结果一起参与推理。
- 行业扩展:通过 mcp_server/config_loader 与 adapters/generic_yaml_adapter 支持自定义行业配置,确保分类、严重性、路由等模块可拓展。
- MCP 服务器启动后,LLM 客户端可以通过 MCP 协议请求:
-
关键注意事项
- 需要正确安装并配置 FastMCP、Groq/Gemini 客户端的依赖与 API key。
- 服务器启动命令与传输协议应与 MCP 客户端匹配,常见组合为 SSE 传输和端口 8000 的设置。
- 若未提供某些依赖包,系统将退回回退逻辑,确保在没有外部 LLM 的情况下仍能执行基线推理。