Senechal MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它从 Senechal API 提供健康数据给大型语言模型(LLM)应用程序,使 AI 助手能够访问、分析和响应个人健康信息。
README
Senechal MCP 服务器
一个模型上下文协议 (MCP) 服务器,作为 Senechal 项目的配套,向 LLM 应用程序提供来自 Senechal API 的健康数据。
概述
此服务器为 LLM 提供了一个标准化的接口,用于访问来自 Senechal API 的健康数据。它公开了:
- 资源 (Resources): 可以加载到 LLM 上下文中的健康数据
- 工具 (Tools): 可以被 LLM 调用的函数,用于获取健康数据
- 提示词 (Prompts): 用于分析健康数据的可重用模板
安装
- 克隆此仓库
- 创建一个虚拟环境:
python -m venv venv source venv/bin/activate # 在 Windows 上: venv\Scripts\activate - 安装依赖项:
pip install -r requirements.txt
配置
将 .env.example 文件复制到 .env,并添加您的 Senechal API 密钥和 URL:
# 必需:Senechal API 密钥
SENECHAL_API_KEY=your_api_key_here
# 必需:API 基础 URL
SENECHAL_API_BASE_URL=https://your-api-host/api/senechal
API 密钥和 API URL 都是服务器运行所必需的。
Windows 配置
在 Windows 上运行时,请务必:
- 在配置中使用反斜杠或正确转义的路径
- 在 claude-desktop-config.json 中使用 Python 虚拟环境的完整路径:
{
"mcpServers": {
"senechal-health": {
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": [
"C:\\path\\to\\senechal_mcp_server.py"
],
"env": {
"SENECHAL_API_KEY": "your_api_key_here"
}
}
}
}
请注意,MCP 配置中的环境变量不使用 .env 文件,因此您需要在配置中显式设置它们。
用法
测试客户端/服务器设置
测试设置的最简单方法是运行示例客户端:
# 在一个终端中,启动服务器
python senechal_mcp_server.py
# 在另一个终端中,运行示例客户端
python example_client.py
启动服务器
python senechal_mcp_server.py
使用 MCP Inspector 的开发模式
mcp dev senechal_mcp_server.py
在 Claude Desktop 中安装
该服务器包含一个用于 Claude Desktop 的配置文件:
mcp install senechal_mcp_server.py
然后,您可以从 Claude Desktop 的工具菜单中选择 "Senechal Health"。
可用资源
-
senechal://health/summary/{period}- 获取每日、每周、每月或每年的健康摘要- 示例:
senechal://health/summary/day?span=7&metrics=all - 参数:
period: day, week, month, yearspan: 期间数 (默认: 1)metrics: 逗号分隔的列表或 "all" (默认)offset: 从现在开始的期间偏移量 (默认: 0)
- 示例:
-
senechal://health/profile- 获取用户的健康档案- 包含人口统计信息、药物、补充剂
-
senechal://health/current- 获取当前的健康测量值- 示例:
senechal://health/current?types=1,2,3 - 参数:
types: 可选的逗号分隔的测量类型 ID 列表
- 示例:
-
senechal://health/trends- 获取一段时间内的健康趋势- 示例:
senechal://health/trends?days=30&types=1,2,3&interval=day - 参数:
days: 要分析的天数 (默认: 30)types: 可选的逗号分隔的测量类型 ID 列表interval: 分组间隔 - day, week, month (默认: day)
- 示例:
-
senechal://health/stats- 获取健康指标的统计分析- 示例:
senechal://health/stats?days=30&types=1,2,3 - 参数:
days: 分析周期,以天为单位 (默认: 30)types: 可选的逗号分隔的测量类型 ID 列表
- 示例:
可用工具
-
fetch_health_summary- 获取特定期间的健康摘要- 参数:
period(必需): day, week, month, yearmetrics(可选): 逗号分隔的指标或 "all" (默认)span(可选): 要返回的期间数 (默认: 1)offset(可选): 期间偏移量 (默认: 0)
- 参数:
-
fetch_health_profile- 获取用户的健康档案- 无需参数
-
fetch_current_health- 获取最新的健康测量值- 参数:
types(可选): 要过滤的测量类型 ID 列表
- 参数:
-
fetch_health_trends- 获取健康趋势数据- 参数:
days(可选): 要分析的天数 (默认: 30)types(可选): 要过滤的测量类型 ID 列表interval(可选): 分组间隔 - day, week, month (默认: day)
- 参数:
-
fetch_health_stats- 获取健康指标的统计分析- 参数:
days(可选): 分析周期,以天为单位 (默认: 30)types(可选): 要过滤的测量类型 ID 列表
- 参数:
可用提示词
-
analyze_health_summary- 用于分析健康摘要的提示词- 提供了一个用于识别异常指标、趋势和建议操作的模板
- 旨在与来自
senechal://health/summary/day?span=7的数据一起使用
-
compare_health_trends- 用于比较不同时间段的健康趋势的提示词- 提供了一个用于比较不同时间范围(7、30、90 天)的趋势的模板
- 旨在与来自健康趋势端点的数据一起使用
示例交互
加载健康摘要数据
# 在 LLM 应用程序中,加载一周的健康摘要
content, mime_type = await session.read_resource("senechal://health/summary/day?span=7")
调用健康数据工具
# 在 LLM 对话中
result = await session.call_tool(
"fetch_health_trends",
arguments={
"days": 30,
"interval": "day"
}
)
# 更复杂的示例,结合了工具和资源
profile = await session.call_tool("fetch_health_profile")
trends = await session.call_tool(
"fetch_health_trends",
arguments={"days": 90, "interval": "week"}
)
使用健康分析提示词
# 获取用于分析健康数据的提示词
prompt_result = await session.get_prompt("analyze_health_summary")
for message in prompt_result.messages:
print(f"[{message.role}]: {message.content.text}")
有关完整的示例,请参见 example_client.py 文件。
API 端点
Senechal MCP 服务器与以下 Senechal API 端点通信:
/health/summary/{period}- 获取健康摘要/health/profile- 获取健康档案/health/current- 获取当前的测量值/health/trends- 获取健康趋势/health/stats- 获取健康统计信息
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。