Medplum
FreeNot checkedProvides access to Medplum FHIR healthcare data, enabling Claude and other MCP clients to read, search, and query FHIR resources from one or more Medplum enviro
About
Provides access to Medplum FHIR healthcare data, enabling Claude and other MCP clients to read, search, and query FHIR resources from one or more Medplum environments.
README
A Model Context Protocol (MCP) server that provides access to Medplum FHIR healthcare data. It enables Claude and other MCP clients to read, search, and query FHIR resources from one or more Medplum environments.
Features
- Multi-environment support — connect to multiple Medplum projects (e.g. dev, staging, production) and switch between them per request
- 30 FHIR resource types — Patient, Practitioner, Observation, Condition, MedicationRequest, and more
- Search with parameters — query resources using standard FHIR search parameters
- Resource history — view version history of any resource with pagination
Tools
The server exposes 5 MCP tools:
| Tool | Description |
|---|---|
fhir_get_environments |
List available Medplum environments and the default |
fhir_get_resource_types |
List supported FHIR resource types and their search parameters |
fhir_read |
Read a single FHIR resource by type and ID |
fhir_search |
Search for FHIR resources with query parameters |
fhir_read_history |
Get version history of a resource |
Setup
Install
npm install @ncodeuy/medplum-mcp
Configure
Set one environment variable per field, using the pattern MEDPLUM_PROJECT_<NAME>_<FIELD>:
# Required
MEDPLUM_PROJECT_STAGING_CLIENT_ID=staging-client-id
MEDPLUM_PROJECT_STAGING_CLIENT_SECRET=staging-secret
# Optional (defaults to https://api.medplum.com/)
MEDPLUM_PROJECT_STAGING_BASE_URL=https://staging.example.com/
MEDPLUM_PROJECT_STAGING_PROJECT_ID=proj-staging
# Add more projects by changing the name segment
MEDPLUM_PROJECT_PRODUCTION_CLIENT_ID=prod-client-id
MEDPLUM_PROJECT_PRODUCTION_CLIENT_SECRET=prod-secret
# Optional — defaults to the first project found
MEDPLUM_DEFAULT_PROJECT=staging
Alternative: JSON configuration
You can also use the MEDPLUM_PROJECTS environment variable with a JSON object:
MEDPLUM_PROJECTS='{
"staging": {
"baseUrl": "https://staging.example.com/",
"clientId": "staging-client-id",
"clientSecret": "staging-secret",
"projectId": "proj-staging"
},
"production": {
"clientId": "prod-client-id",
"clientSecret": "prod-secret"
}
}'
Flat env vars take priority when both are set.
Use with Claude Desktop
Add the server to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"medplum": {
"command": "npx",
"args": ["@ncodeuy/medplum-mcp"],
"env": {
"MEDPLUM_PROJECT_DEFAULT_CLIENT_ID": "your-client-id",
"MEDPLUM_PROJECT_DEFAULT_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Use with Claude Code
Add the server to your Claude Code MCP settings:
claude mcp add medplum \
-e MEDPLUM_PROJECT_DEFAULT_CLIENT_ID=your-client-id \
-e MEDPLUM_PROJECT_DEFAULT_CLIENT_SECRET=your-client-secret \
-- npx @ncodeuy/medplum-mcp
Development
# Install dependencies
npm install
# Type check
npm run typecheck
# Run tests
npm test
# Build
npm run build
# Run the server locally
node ./dist/index.js
License
ISC
Install Medplum in Claude Desktop, Claude Code & Cursor
unyly install medplum-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add medplum-mcp -- npx -y @ncodeuy/medplum-mcpFAQ
Is Medplum MCP free?
Yes, Medplum MCP is free — one-click install via Unyly at no cost.
Does Medplum need an API key?
No, Medplum runs without API keys or environment variables.
Is Medplum hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Medplum in Claude Desktop, Claude Code or Cursor?
Open Medplum on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Medplum with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
