Official

Fhir MCP Server

FHIR API interactions for clinical data retrieval and analysis within AI environments.

Data last scanned today · Reviewed today

631 dangerous tool7 tools129PythonApache-2.0

Overview

The Fhir MCP Server bridges the gap between AI models and Fast Healthcare Interoperability Resources (FHIR) APIs. It enables developers to search, retrieve, and analyze clinical information directly through an MCP-compliant interface, supporting workflows that require interaction with healthcare data standards. Built in Python and maintained by WSO2, the server includes documentation for integration with HAPI FHIR servers and the EPIC Sandbox. It is designed to facilitate quick deployments via Docker or PyPI for healthcare innovation projects.

Our verdict

With a security score of 63/100, this server holds a medium risk level. The lack of documented OAuth support is a significant concern for production healthcare environments handling sensitive data, as it may complicate secure access control. Users should proceed with caution, particularly as the implementation currently lacks a read-only mode, meaning all connected clients could potentially exercise write access. It is best suited for controlled development or testing environments.

  • Maintained directly by the official WSO2 organization.
  • Zero direct dependencies reduce the supply-chain surface area.
  • Active development repository with commits as recent as 19 days.
  • Provides real, documented examples for HAPI and EPIC integrations.
  • No OAuth support detected for securing API requests.
  • Lacks a read-only mode, exposing full write capabilities by default.
  • Not yet undergone an editorial security review.

Tools

ToolDescriptionRisk
get_capabilitiesRetrieves metadata about a specified FHIR resource type, including its supported search parameters and custom operations.low
searchExecutes a standard FHIR search interaction on a given resource type, returning a bundle or list of matching resources.low
readPerforms a FHIR "read" interaction to retrieve a single resource instance by its type and resource ID, optionally refining the response with search parameters or custom operations.low
createExecutes a FHIR "create" interaction to persist a new resource of the specified type.medium
updatePerforms a FHIR "update" interaction by replacing an existing resource instance's content with the provided payload.medium
deleteExecute a FHIR "delete" interaction on a specific resource instance.high
get_userRetrieves the currently authenticated user's FHIR resource and returns a concise profile containing available demographic fields.low

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What are the core system requirements for running the FHIR MCP server?

You need Python 3.8 or higher, the uv package manager, and access to a FHIR API server.

Does the server support authorization for FHIR APIs?

Yes, the server supports SMART-on-FHIR based authentication, including OAuth 2.0 Authorization Code Grant flows. Authorization is enabled by default, but you can disable it by setting the FHIR_SERVER_DISABLE_AUTHORIZATION environment variable to True.

Which environment variables are required to configure the server?

You must define the FHIR_SERVER_BASE_URL. If authorization is enabled, you also need to provide FHIR_SERVER_CLIENT_ID, FHIR_SERVER_CLIENT_SECRET, and FHIR_SERVER_SCOPES.

Can I filter the data returned by the FHIR server?

Yes, the server supports response filtering using FHIRPath expressions for both read and search operations, which allows you to retrieve only the specific fields needed and reduce payload sizes.

What transport modes does the server support?

The server is compatible with stdio, SSE, and streamable HTTP transport protocols.

Badge

Fhir MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.