Health Record MCP Server
Access and analyze Electronic Health Records using SMART on FHIR and MCP tools.
Data last scanned today · Reviewed today
Overview
This server bridges Electronic Health Records (EHRs) with AI agents by implementing a SMART on FHIR client. It extracts structured patient data, such as medications and lab results, alongside unstructured clinical notes, and exposes them through standard Model Context Protocol tools for analysis.
Our verdict
With a high-risk security score of 41/100, this server is currently intended for experimental use. It is community-maintained rather than vendor-backed, and its authentication methods have not yet been editorially reviewed. Given the sensitive nature of health data, users should exercise extreme caution and verify all security implementations before applying this in any environment handling real patient information.
- Supports a read-only configuration for data access
- Contains only 23 direct dependencies
- Provides tools for SQL queries and regex searches
- Includes a standalone SMART on FHIR web client
- No official vendor or organization maintenance
- Last code commit occurred over 350 days ago
- Authentication mechanisms lack expert review
- High-risk profile due to community-only maintenance
Setup
{
"mcpServers": {
"health-record-mcp": {
"args": [
"-y",
"@jmandel/ehr-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| grep_record | Performs text or regular expression searches across all parts of the fetched record. | low |
| query_record | Executes read-only SQL SELECT queries directly against the structured FHIR data. | low |
| eval_record | Executes custom JavaScript code directly on the fetched data. | high |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›How does this server access Electronic Health Record data?
The server uses the SMART on FHIR standard to securely connect to an EHR and fetch patient resources, such as conditions, medications, and clinical notes.
›What kind of data can the grep_record tool search?
The grep_record tool performs text or regular expression searches across both structured FHIR data and plaintext extracted from clinical notes or attachments.
›Can I query the EHR data using SQL?
Yes, the query_record tool allows you to execute read-only SQL SELECT queries directly against the structured FHIR data fetched from the EHR.
›How do I filter the list of EHR providers in the web client?
You can filter EHR providers by adding the brandTags query parameter to the URL, using ^ for AND logic and commas for OR logic.
›What is the process for running the MCP server locally?
You must first fetch the EHR data into a SQLite database file using the CLI with the --create-db flag, and then run the MCP server referencing that database file.
›What data is included in the ClientFullEHR object?
The object contains a dictionary of FHIR resources categorized by type and an array of processed attachments that includes both metadata and extracted plaintext.
Badge
Maintain this server? Add the live badge to your README.