Skip to main content
Glama

Valeo Connector (MCP) — MVP

一个极简的远程 MCP 服务器,将 Valeo Health 会员数据转化为 Claude 连接器, 工作方式与 Function Health 连接器相同。

  • 零依赖。 仅使用标准库 Python。可在 macOS 自带的 python3 上运行。

  • 传输方式: Streamable HTTP(MCP 规范 2025-06-18),单一 /mcp 端点。

  • 认证: 暂无(演示用)。所有数据来自 sample_data.py。

  • 只读。 每个工具都标注了 readOnlyHint: true。

在线演示端点(示例数据,无需认证):

https://valeo-connector.onrender.com/mcp

在 Claude 中通过 设置 > 连接器 > 添加自定义连接器 添加该端点。健康检查: https://valeo-connector.onrender.com/health。免费实例,闲置约 15 分钟后会休眠, 唤醒后的首次调用需要 30-60 秒——演示前先打开健康检查 URL 预热。

部署到 Render

文件

文件

说明

server.py

整个连接器:HTTP 传输 + JSON-RPC 分发 + 5 个工具

sample_data.py

唯一的模拟部分。将这些查找替换为真实的 Valeo API 调用即可上线

test_server.py

对协议和每个工具进行 22 项冒烟测试

.mcp.json

项目级配置,让 Claude Code 自动识别本地服务器

run.sh

运行 ./run.sh 启动它

assets/

品牌图标,以及用于从字标重新生成图标的 make_icon.py(需要 Pillow;服务器本身不需要)

Related MCP server: health-mcp

工具

工具

回答的问题示例

参数

get_lab_summary

“我的化验结果怎么样?”“哪些需要关注?”

categories, out_of_range_only, include_trends

get_category_breakdown

“我的心脏健康如何?”“哪些方面异常?”

categories

get_programs

“我的代谢重置进展如何?”“我是否按计划进行?”

status

get_appointments

“我的下一次预约是什么时候?”“我需要禁食吗?”

include_past

get_supplement_plan

“我在服用哪些补充剂,为什么?”

—

示例面板中的健康类别:心脏、代谢、维生素与矿物质、甲状腺、肝脏、 肾脏、血液与免疫、激素、男性健康。

与 Function Health 一样,该连接器刻意只暴露汇总级数据—— 计数、类别、标志和趋势方向(如“维生素 D,偏低,显著”),绝不提供原始化验值。

图标

服务器在其 serverInfo 上以数据 URI 形式声明一个方形品牌图标(符合 MCP icons 字段,SEP-973),并在 /icon.png、/icon-128.png 和 /favicon.ico 提供该图标。

Claude.ai 目前对自定义连接器不渲染此图标——自定义连接器无论服务器声明什么都会显示通用图标 (claude-ai-mcp#152)。声明它 没有成本,一旦该功能上线即可生效。如今要获得品牌图标,需要 连接器目录列表,在提交时上传图标。

运行

./run.sh

然后在另一个终端中:

python3 test_server.py

健康检查:http://127.0.0.1:8787/health

演示路径 1 — Claude Code(最快,约 30 秒)

.mcp.json 已指向 http://127.0.0.1:8787/mcp。启动服务器,在此文件夹中打开 Claude Code, 在提示时批准 valeo 服务器,然后询问:

我的化验结果怎么样,我的计划进展如何?

演示路径 2 — 任何拥有 Claude 订阅的用户(公共 URL)

Claude 的服务器会调用你的端点,因此它需要一个稳定的公共 HTTPS URL;localhost 和 重启后失效的隧道都不行。部署该仓库后,任何付费 Claude 计划(Pro、Max、Team、Enterprise) 的用户都可以自行添加:

Claude → 设置 → 连接器 → 添加自定义连接器 → 粘贴

https://valeo-connector.onrender.com/mcp

部署

render.yaml 和 Dockerfile 都在仓库中,并原样运行 server.py。

Render(无需 CLI,免费,无需信用卡):

  1. 点击本 README 顶部的 Deploy to Render 按钮,或前往 render.com → New → Blueprint → 选择此仓库 → Apply。无论哪种方式都会读取 render.yaml。

  2. 使用 GitHub 登录并授权访问该仓库。

  3. 你会获得 https://valeo-connector.onrender.com(如果名称被占用,Render 可能会添加后缀)。 连接器 URL 是该地址加上 /mcp。推送到 main 分支会自动重新部署。

在接入 Claude 之前验证部署:

python3 test_server.py https://valeo-connector.onrender.com

所有 22 项检查应像本地一样全部通过实时 URL。

免费实例闲置约 15 分钟后休眠,因此唤醒后的首次调用需要 30-60 秒 (Claude 的工具超时为 300 秒,所以仍然有效——只是感觉较慢)。$7 计划或 Valeo 自己的 基础设施可以消除这个问题。

任何容器主机(Cloud Run、Fly、Railway)都可以使用 Dockerfile。设置 HOST=0.0.0.0; 服务器会从环境变量读取 PORT。

最终这应该托管在 Valeo 自己的域名上——Function Health 的服务器位于 https://services.functionhealth.com/ai-chat/mcp。

分享 URL 前需要了解的两件事

  1. 目前没有认证,因此每个用户看到的是同一个虚构会员。 这对演示来说没问题, 并且服务器自身对 Claude 的指令中已明确说明。这是真实会员数据接入前必须改变的一件事。

  2. 被列入 Claude 的连接器目录是一个单独的步骤——需要向 Anthropic 提交申请。 没有它连接器仍然可用;用户只需手动添加 URL,而不是在目录中找到它。

MVP 之后要添加的内容

  1. OAuth 2.0,让每个会员只能看到自己的数据。Claude 支持动态客户端注册; 托管界面的回调地址是 https://claude.ai/api/mcp/auth_callback。 提供 /.well-known/oauth-protected-resource(RFC 9728)并限定令牌范围 (read:labs、read:programs、read:appointments)。

  2. 真实数据:用基于令牌的 Valeo API 调用替换 sample_data.py。

  3. 稳定托管:由于没有依赖,任何 Python 主机都可以。

  4. 文档页面,类似 Function Health 的,并提交到连接器目录。

值得了解的限额

约束

限额

Claude.ai / Desktop 工具结果大小

约 150,000 字符

Claude.ai / Desktop 工具超时

300 秒

传输方式

Streamable HTTP(旧版 HTTP+SSE 已弃用)

非医疗建议;仅提供汇总级数据。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for connecting Claude Desktop to FHIRfly healthcare reference data APIs, enabling lookup of drugs, providers, clinical codes, and more.
    101 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server enabling natural language querying of personal health and cultural activity scores from the health.ojimpo.com dashboard via Claude.
    5
    8 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server for accessing Oura Ring data from Claude Code and claude.ai, providing summarized health metrics and raw API data.
    11
    27 PyPI
    MIT