什么是 MCP?
Model Context Protocol (MCP) 是一个 JSON-RPC 2.0 接口,使 AI agent 和应用程序能够发现 Mirobody Health 的工具(tools)和资源(resources)并与之交互。它为 LLM 访问健康数据、调用函数和检索上下文信息提供了一种标准化方式。MCP 端点:
http://localhost:18080/mcp (公开) 或 http://localhost:18080/mcp/{user_secret} (用户特定)协议版本: 2025-06-18核心概念
工具 (Tools)
执行操作的可调用函数(例如:获取健康数据、渲染图表、链接提供商)
资源 (Resources)
提供上下文的只读数据源(例如:用户个人资料、图表模板、上传表单)
JSON-RPC 2.0
具有请求/响应格式的远程过程调用标准协议
身份验证
基于 JWT 的身份验证,具有可选的用于工具授权的 OAuth 流程
MCP 方法
MCP 服务支持以下标准方法:| 方法 | 描述 |
|---|---|
initialize | 握手以建立协议版本和能力 |
tools/list | 列出所有可用工具 |
tools/call | 执行特定工具 |
resources/list | 列出所有可用资源 |
resources/read | 读取特定资源 |
prompts/list | 列出可用提示词模板 |
prompts/get | 获取特定提示词模板 |
身份验证
MCP 端点支持两种身份验证模式:- JWT 令牌 (推荐)
- 用户密钥 URL
在 Authorization 标头中传递 JWT 令牌:
示例:初始化
示例:列出工具
示例:调用工具
错误处理
MCP 使用标准的 JSON-RPC 2.0 错误代码:| 代码 | 名称 | 描述 |
|---|---|---|
-32700 | 解析错误 | 无效的 JSON |
-32600 | 无效请求 | 缺少必填字段 |
-32601 | 未找到方法 | 未知的方法 |
-32602 | 参数无效 | 无效的方法参数 |
-32603 | 内部错误 | 服务端错误 |
-32000 | 需要身份验证 | 需要进行身份验证 |