mcpField
S
Senechal MCP Server

Senechal MCP Server

本地服务
github.com/mattjoyce健康医疗034 周前更新

关于 Senechal MCP Server

Senechal MCP Server 将 Senechal API 中的健康数据提供给 LLM 应用,适用于需要读取和分析健康信息的场景。它通过资源、工具和可复用提示词提供健康摘要、测量值、趋势及统计数据。

主要功能

  1. 01读取健康摘要和个人资料
  2. 02获取当前健康测量值
  3. 03查询健康趋势和统计数据
  4. 04提供健康分析提示词

适用场景

  1. 01在 LLM 应用中查看周期性健康摘要
  2. 02筛选并获取当前测量值
  3. 03分析不同时间范围的健康趋势
  4. 04使用提示词分析健康指标

MCP 相关

该 MCP 服务将 Senechal API 健康数据作为资源和工具提供,并提供用于分析健康数据的提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Senechal MCP Server

一个 Model Context Protocol(MCP)服务,作为 Senechal 项目的配套服务,为 LLM 应用提供来自 Senechal API 的健康数据。

概述

此服务提供标准化接口,让 LLM 能够访问来自 Senechal API 的健康数据。它提供:

  • 资源:可加载到 LLM 上下文中的健康数据
  • 工具:LLM 可调用以获取健康数据的函数
  • 提示词:用于分析健康数据的可复用模板

安装

  1. 克隆此仓库
  2. 创建虚拟环境:
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装依赖:
    pip install -r requirements.txt
    

配置

将 .env.example 文件复制为 .env,并添加 Senechal API 密钥和 URL:

# Required: Senechal API Key
SENECHAL_API_KEY=your_api_key_here

# Required: API base URL
SENECHAL_API_BASE_URL=https://your-api-host/api/senechal

服务运行必须同时提供 API 密钥和 API URL。

Windows 配置

在 Windows 上运行时,请务必:

  1. 在配置中使用反斜杠或正确转义的路径
  2. 在 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 文件,因此你需要在配置中显式设置这些变量。

使用方法

测试客户端/服务端配置

测试配置最简单的方法是运行示例客户端:

# In one terminal, start the server
python senechal_mcp_server.py

# In another terminal, run the example client
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、year
      • span:周期数(默认值: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、year
      • metrics(可选):逗号分隔的指标或 "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 天)趋势的模板
    • 适用于搭配来自健康趋势端点的数据使用

交互示例

加载健康摘要数据
# In an LLM application, load a week of health summaries
content, mime_type = await session.read_resource("senechal://health/summary/day?span=7")
调用健康数据工具
# In an LLM conversation
result = await session.call_tool(
    "fetch_health_trends", 
    arguments={
        "days": 30, 
        "interval": "day"
    }
)

# More complex example combining tools and resources
profile = await session.call_tool("fetch_health_profile")
trends = await session.call_tool(
    "fetch_health_trends", 
    arguments={"days": 90, "interval": "week"}
)
使用健康分析提示词
# Get a prompt for analyzing health data
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 - 获取健康统计数据

更新日志

请参阅 CHANGELOG.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。