Senechal MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Senechal MCP Servershow me my health summary for the past week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Senechal MCP Server
A Model Context Protocol (MCP) server that acts as a companion to the Senechal project, providing health data from the Senechal API to LLM applications.
Overview
This server provides a standardized interface for LLMs to access health data from the Senechal API. It exposes:
Resources: Health data that can be loaded into an LLM's context
Tools: Functions that can be called by LLMs to fetch health data
Prompts: Reusable templates for analyzing health data
Related MCP server: Medplum MCP Server
Installation
Clone this repository
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateInstall dependencies:
pip install -r requirements.txt
Configuration
Copy the .env.example file to .env and add your Senechal API key and 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/senechalBoth the API key and API URL are required for the server to function.
Windows Configuration
When running on Windows, be sure to:
Use backslashes or properly escaped paths in the configuration
Use the full path to your Python virtual environment in the claude-desktop-config.json:
{
"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"
}
}
}
}Note that environment variables in the MCP configuration do not use the .env file, so you'll need to set them explicitly in the config.
Usage
Testing the Client/Server Setup
The simplest way to test the setup is to run the example client:
# In one terminal, start the server
python senechal_mcp_server.py
# In another terminal, run the example client
python example_client.pyStart the Server
python senechal_mcp_server.pyDevelopment Mode with MCP Inspector
mcp dev senechal_mcp_server.pyInstall in Claude Desktop
The server includes a configuration file for Claude Desktop:
mcp install senechal_mcp_server.pyYou can then select "Senechal Health" from the tools menu in Claude Desktop.
Available Resources
senechal://health/summary/{period}- Get health summary for day, week, month, or yearExample:
senechal://health/summary/day?span=7&metrics=allParameters:
period: day, week, month, yearspan: Number of periods (default: 1)metrics: Comma-separated list or "all" (default)offset: Number of periods to offset from now (default: 0)
senechal://health/profile- Get the user's health profileContains demographics, medications, supplements
senechal://health/current- Get current health measurementsExample:
senechal://health/current?types=1,2,3Parameters:
types: Optional comma-separated list of measurement type IDs
senechal://health/trends- Get health trends over timeExample:
senechal://health/trends?days=30&types=1,2,3&interval=dayParameters:
days: Number of days to analyze (default: 30)types: Optional comma-separated list of measurement type IDsinterval: Grouping interval - day, week, month (default: day)
senechal://health/stats- Get statistical analysis of health metricsExample:
senechal://health/stats?days=30&types=1,2,3Parameters:
days: Analysis period in days (default: 30)types: Optional comma-separated list of measurement type IDs
Available Tools
fetch_health_summary- Fetch a health summary for a specific periodParameters:
period(required): day, week, month, yearmetrics(optional): Comma-separated metrics or "all" (default)span(optional): Number of periods to return (default: 1)offset(optional): Number of periods to offset (default: 0)
fetch_health_profile- Fetch the user's health profileNo parameters required
fetch_current_health- Fetch the latest health measurementsParameters:
types(optional): List of measurement type IDs to filter by
fetch_health_trends- Fetch health trend dataParameters:
days(optional): Number of days to analyze (default: 30)types(optional): List of measurement type IDs to filter byinterval(optional): Grouping interval - day, week, month (default: day)
fetch_health_stats- Fetch statistical analysis of health metricsParameters:
days(optional): Analysis period in days (default: 30)types(optional): List of measurement type IDs to filter by
Available Prompts
analyze_health_summary- Prompt to analyze health summariesProvides a template for identifying abnormal metrics, trends, and suggesting actions
Intended to be used with data from
senechal://health/summary/day?span=7
compare_health_trends- Prompt to compare health trends over different time periodsProvides a template for comparing trends across different timeframes (7, 30, 90 days)
Intended to be used with data from the health trends endpoint
Example Interactions
Loading Health Summary Data
# In an LLM application, load a week of health summaries
content, mime_type = await session.read_resource("senechal://health/summary/day?span=7")Calling Health Data Tools
# 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"}
)Using Health Analysis Prompts
# 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}")See the example_client.py file for a complete working example.
API Endpoints
The Senechal MCP server communicates with the following Senechal API endpoints:
/health/summary/{period}- Get health summaries/health/profile- Get health profile/health/current- Get current measurements/health/trends- Get health trends/health/stats- Get health stats
Changelog
See CHANGELOG.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that connects AI tools to Electronic Health Records using SMART on FHIR, allowing secure searching, querying, and analysis of patient data from compatible EHRs.86MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables natural language commands to manage healthcare data stored in Medplum FHIR servers through standardized Create, Read, Update, and Search operations.3718MIT
- AlicenseAqualityBmaintenanceA Model Context Protocol server that enables seamless interaction between LLM-based agents and Apple Health data, allowing users to query, analyze, and manage health records through natural language commands.7264MIT
- AlicenseNot gradedqualityAmaintenanceA Model Context Protocol (MCP) server that brings your Withings health data into Claude, allowing natural conversation access to sleep patterns, body measurements, workouts, heart data, and more.41MIT