by wso2
FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server.
# Add to your Claude Code skills
git clone https://github.com/wso2/fhir-mcp-serverGuides for using mcp servers skills like fhir-mcp-server.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:26:27.185Z",
"npmAuditRan": true,
"pipAuditRan": false
}fhir-mcp-server is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by wso2. FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server. It has 124 GitHub stars.
Yes. fhir-mcp-server passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/wso2/fhir-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).
fhir-mcp-server is primarily written in Python. It is open-source under wso2 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh fhir-mcp-server against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
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
MCP-compatible transport: Serves FHIR via stdio, SSE, or streamable HTTP
SMART-on-FHIR based authentication support: Securely authenticate with FHIR servers and clients
Response Filtering using FHIRPath: Filter resources and bundles returned by read and search operations using custom FHIRPath expressions to retrieve only the fields needed for the task, reducing payload sizes.
Tool integration: Integratable with any MCP client such as VS Code, Claude Desktop, and MCP Inspector
You can use the FHIR MCP Server by installing our Python package, or by cloning this repository.
Configure Environment Variables:
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, 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).
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"
Install the PyPI package and run the server
uvx fhir-mcp-server
Clone the repository:
git clone <repository_url>
cd <repository_directory>
Create a virtual environment and install dependencies:
uv venv
source .venv/bin/activate
uv pip sync requirements.txt
Or with pip:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Configure Environment Variables: Copy the example file and customize if needed:
cp .env.example .env
Run the server:
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.
Build the Docker Image or pull the docker image from the container registry:
docker build -t fhir-mcp-server .
docker pull wso2/fhir-mcp-server:latest
Configure Environment Variables
Copy the example environment file and edit as needed:
cp .env.example .env
# Edit .env to set your FHIR server, client credentials, etc.
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.
Run the Container
docker run --env-file .env -p 8000:8000 fhir-mcp-server
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 a HAPI FHIR server (with PostgreSQL), use the provided docker-compose.yml. This sets up an instant development environment for testing FHIR operations.
Prerequisites:
Run the Stack:
docker-compose up -d
This command will:
FHIR_SERVER_BASE_URL set to http://hapi-r4-postgresql:8080/fhir.Access the Services:
docker-compose down.Configure Additional Environment Variables:
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.
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.
"servers": {
"fhir": {
"type": "http",
"url": "http://localhost:8000/mcp",
}
}
"servers": {
"fhir": {
"command": "uv",
"args": [
"--directory",
"/path/to/fhir-mcp-server",
"run",
"fhir-mcp-server",
"--transport",
"stdio"
],
"env": {
"FHIR_SERVER_ACCESS_TOKEN": "Your FHIR Access Token"
}
}
}
"servers": {
"fhir": {
"type": "sse",
"url": "http://localhost:8000/sse",
}
}
Add the following JSON block to your Claude Desktop settings to connect to your local MCP server.