使用说明(Markdown)
-
项目简介
- 该仓库实现了一个 MCP 服务器,遵循 Model Context Protocol 的核心职责,向 MCP 客户端提供资源访问、工具执行和 Prompt 渲染能力,并通过 JSON-RPC 进行通信。服务器端负责会话管理、能力声明,以及支持多种传输协议(如 Stdio、SSE、WebSocket),为 LLM 客户端提供安全、可扩展的上下文服务框架。
-
主要功能点
- Tools(工具注册与执行):定义并暴露一组工具,如 list_devices、get_device、list_calls、update_call_status 等,LLM 调用工具时服务器执行对应的数据库操作并返回文本内容或结构化数据。
- Resources(资源暴露):将系统中的关键数据以资源形式暴露,LLM 可读取仪表盘、设备、工单、工程师、银行等数据快照。
- Prompts(提示模板):提供预定义的提示模板,如 daily_summary、analyze_workload、device_health_report、pending_calls_summary,LLM 可调用并获取模板渲染内容。
- JSON-RPC 通信:通过 MCP 提供的 JSON-RPC 风格请求与响应,支持 ListTools、CallTool、ListResources、ReadResource、ListPrompts、GetPrompt 等请求。
- 后端数据源:使用 Supabase 作为后端数据源,工具执行时会查询/修改设备、工单、工程师、银行等数据库表。
- 会话与能力声明:服务器在启动时声明能力(tools、resources、prompts),并通过请求处理器对外提供能力查询。
-
安装步骤
- 进入 MCP 服务器目录并安装依赖:cd mcp-server,执行 npm install
- 构建/编译服务器:npm run build
- 启动服务器:node dist/index.js(根据构建产物路径,若有自定义启动脚本请以实际为准)
- 运行前请确保环境变量配置完毕(示例:SUPABASE_URL、SUPABASE_SERVICE_KEY 或 SUPABASE_ANON_KEY 等)
-
服务器配置(客户端连接所需,JSON 格式,供 MCP 客户端读取配置) 说明:MCP 客户端需要配置的只是启动参数,实际服务器端会暴露上述能力;以下配置示例用于 MCP 客户端在启动阶段知道如何连接服务器。请注意,这里给出的是客户端需要的配置信息片段(配置内容仅供参考、非服务端代码)。
{ "server_name": "uds-pos-mcp-server", "command": "node", "args": ["dist/index.js"] }
解释说明:
- server_name:服务器的名称标识,和服务端对外的能力绑定一致。
- command:用于启动服务器的命令,一般为 node(或 npm-run 脚本)。
- args:启动命令的参数,指向构建产物的入口文件。
额外提示:
- MCP 客户端通常仅需读取这类配置信息来启动与 MCP 服务器的连接,不需要在客户端执行额外的代码。
- 实际部署时请确保服务器可访问(网络放通、环境变量配置正确、数据库连接可用)。
-
基本使用方法
- 启动后,MCP 客户端向服务器发送 JSON-RPC 请求以读取资源、列出工具、执行工具、获取提示模板等。服务器返回标准化的 MCP 响应或文本内容,LLM 通过解析响应进行后续推理与决策。
- 对接 Supabase 数据源的工具将执行数据库查询/写入,返回 JSON 字符串或结构化文本,便于 LLM 理解与展示。
- 通过 Prompt 模板,LLM 可以获取可用模板及对应的上下文消息,用于生成更丰富、上下文一致的对话交互。
-
额外注意
- 请确保环境变量配置正确(尤其是 Supabase 的 URL 与 Key,及其他可选的监控、Webhook 等相关变量)。
- MCP 服务器的启动与停止可结合日志进行监控,必要时接入错误监控系统(如 Sentry)以提升稳定性与可观测性。
-
其他
- 该实现包含完整的工具、资源、提示模板定义,以及对应的请求处理逻辑,具备可运行的 MCP 服务端核心功能,适合作为与 MCP 客户端进行上下文服务对接的后端实现。
信息
分类
AI与计算