Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
Description from the maker (original English)
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"fhir": {
"command": "uvx",
"args": [
"fhir-mcp-server"
],
"env": {
"FHIR_SERVER_BASE_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add fhir --env FHIR_SERVER_BASE_URL=your-value -- uvx fhir-mcp-serverPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"fhir": {
"command": "uvx",
"args": [
"fhir-mcp-server"
],
"env": {
"FHIR_SERVER_BASE_URL": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"fhir": {
"type": "stdio",
"command": "uvx",
"args": [
"fhir-mcp-server"
],
"env": {
"FHIR_SERVER_BASE_URL": "your-value"
}
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 5, 2026
The registry name was verified with the GitHub account wso2, which owns the repo
Code last changed 3 days ago
Uses Apache-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Needs the server’s tool list first; this check starts in the next step
Compared only with servers in this prototype, not the whole registry.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FHIR_SERVER_BASE_URL
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 3 days ago, and the latest version (0.11.0) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Mirobody, Google Health MCP, Langcare MCP FHIR
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
An MCP FHIR server written in Go for EMR systems like Epic and Cerner
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The FHIR MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with FHIR APIs. Designed for developers, integrators, and healthcare innovators, this server acts as a bridge between modern AI/LLM tools and healthcare data, making it easy to search, retrieve, and analyze clinical information.
This video showcases the MCP server's functionality when connected to a public HAPI FHIR server. This example showcases direct interaction with an open FHIR server that does not require an authorization flow.
https://github.com/user-attachments/assets/cc6ac87e-8329-4da4-a090-2d76564a3abf
This video showcases the MCP server's capabilities within the Epic EHR ecosystem. It demonstrates the complete OAuth 2.0 Authorization Code Grant flow.
https://github.com/user-attachments/assets/96b433f1-3e53-4564-8466-65ab48d521de
read and search operations using custom FHIRPath expressions to retrieve only the fields needed for the task, reducing payload sizes.You can use the FHIR MCP Server by installing our Python package, or by cloning this repository.
To run the server, you must set FHIR_SERVER_BASE_URL.
FHIR_SERVER_BASE_URL, FHIR_SERVER_CLIENT_ID, FHIR_SERVER_CLIENT_SECRET, and FHIR_SERVER_SCOPES. Authorization is enabled by default.FHIR_SERVER_DISABLE_AUTHORIZATION to True.By default, the MCP server runs on [http://localhost:8000](http://localhost:8000), and you can customize the host and port using FHIR_MCP_HOST and FHIR_MCP_PORT.
You can set these by exporting them as environment variables like below or by creating a .env file (referencing .env.example).
`bash export FHIR_SERVER_BASE_URL="" export FHIR_SERVER_CLIENT_ID="" export FHIR_SERVER_CLIENT_SECRET="" export FHIR_SERVER_SCOPES=""
export FHIR_MCP_HOST="localhost" export FHIR_MCP_PORT="8000" `
bash uvx fhir-mcp-server
bash git clone cd bash uv venv source .venv/bin/activate uv pip sync requirements.txt Or with pip: bash python -m venv .venv source .venv/bin/activate pip install -r requirements.txt bash cp .env.example .env bash uv run fhir-mcp-server You can run the MCP server using Docker for a consistent, isolated environment.
Note on Authorization: When running the MCP server locally via Docker or Docker Compose, authorization should be disabled by setting the environment variable,
FHIR_SERVER_DISABLE_AUTHORIZATION=True. This would be fixed in the future releases.
bash docker build -t fhir-mcp-server . bash docker pull ghcr.io/wso2/fhir-mcp-server:latest latest is built from the main branch. To use a release, pull its version tag instead, for example ghcr.io/wso2/fhir-mcp-server:0.11.0.Copy the example environment file and edit as needed:
`bash cp .env.example .env
`
Alternatively, you can pass environment variables directly with -e flags or use Docker secrets for sensitive values. See the Configuration section for details on available environment variables.
bash docker run --env-file .env -p 8000:8000 ghcr.io/wso2/fhir-mcp-server:latest
This will start the server and expose it on port 8000. Adjust the port mapping as needed.
For a quick setup that includes both the FHIR MCP server and the WSO2 FHIR Server (with PostgreSQL), use the provided docker-compose.yml. This sets up an instant development environment for testing FHIR operations.
Copy the example environment file and set DB_PASSWORD in .env. If you already have a .env, add the DB_USER, DB_PASSWORD and DB_NAME lines from .env.example to it instead.
cp .env.example .env
Docker Compose reads .env automatically. DB_USER and DB_NAME default to postgres if not set. .env is excluded from Git; use a secrets manager for production deployments.
docker compose up -d
This command will:
FHIR_SERVER_BASE_URL set to http://wso2-fhir-server:8080/fhir/r4.docker compose down.docker compose down removes the database data; use docker compose stop to keep it between runs.
If you need to customize OAuth or other settings, adjust the env variables in the docker-compose.yml. The compose file sets basic configuration; refer to the Configuration section for full options.
To use a different FHIR server, run the FHIR MCP server container with FHIR_SERVER_BASE_URL pointing to that server. The example below uses the HAPI FHIR server. Stop the default stack first if it's already running (docker compose down), as both use ports 8000 and 8080.
docker network create fhir-network
docker run -d --name hapi-fhir-server --network fhir-network -p 127.0.0.1:8080:8080 docker.io/hapiproject/hapi:v8.4.0-2
HAPI FHIR listens on http://localhost:8080/fhir. This uses its built-in database, so data is lost when the container is removed.
docker build -t fhir-mcp-server .
docker run -d --name fhir-mcp-server-hapi --network fhir-network -p 127.0.0.1:8000:8000 -e FHIR_SERVER_BASE_URL=http://hapi-fhir-server:8080/fhir -e FHIR_MCP_HOST=0.0.0.0 -e FHIR_SERVER_DISABLE_AUTHORIZATION=True fhir-mcp-server
The FHIR MCP server listens on http://localhost:8000.
docker rm -f fhir-mcp-server-hapi hapi-fhir-server
docker network rm fhir-network
For any other FHIR server, set FHIR_SERVER_BASE_URL to its base URL. If the FHIR server runs on your host rather than in Docker, use http://host.docker.internal: /... instead of localhost. On Linux, also add --add-host=host.docker.internal:host-gateway to the docker run command, and make sure the FHIR server listens on an address reachable from containers (for example 0.0.0.0, not only 127.0.0.1).
The FHIR MCP Server is designed for seamless integration with various MCP clients.
Add the following JSON block to your MCP configuration file in VS Code (> V1.104). You can do this by pressing Ctrl + Shift + P and typing MCP: Open User Configuration.
Streamable HTTP STDIO SSE
"servers": {
"fhir": { "type": "http", "url": "http://localhost:8000/mcp", } }
</td>
"servers": {
"fhir": { "command": "uv", "args": [ "-