Skip to main content
Glama
sdesani

FHIR MCP Server

by sdesani

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FHIR_SCOPENoOAuth2 scopes (space-separated). Default: all supported resources
FHIR_BASE_URLNoBase URL of the FHIR server. Default: https://fhir-ehr.cerner.com/r4https://fhir-ehr.cerner.com/r4
FHIR_CLIENT_IDYesOAuth2 client ID for authentication
FHIR_TENANT_IDNoTenant ID for your FHIR server instance. Default: ec2458f2-1e24-41c8-b71b-0e701af7583dec2458f2-1e24-41c8-b71b-0e701af7583d
FHIR_CLIENT_SECRETYesOAuth2 client secret for authentication
FHIR_TOKEN_ENDPOINTNoOAuth2 token endpoint URL. Auto-generated from tenant ID if not provided.
FHIR_REQUEST_TIMEOUTNoRequest timeout in seconds. Default: 60.060.0

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_patient_by_idA

Retrieve a specific patient by their FHIR patient ID.

Args: patient_id: The FHIR patient ID to retrieve

Returns: Dictionary containing the patient information

search_patients_by_nameC

Search for patients by name using FHIR search parameters.

Args: given_name: Patient's given (first) name family_name: Patient's family (last) name

Returns: Dictionary containing the search results

search_patients_by_identifierA

Search for patients by identifier (e.g., MRN, SSN).

Args: identifier_type: Type of identifier (e.g., "MR", "SS") identifier_value: The identifier value to search for

Returns: Dictionary containing the search results

search_patients_by_birthdateA

Search for patients by birth date.

Args: birthdate: Patient's birth date in YYYY-MM-DD format

Returns: Dictionary containing the search results

search_patients_by_phoneC

Search for patients by phone number.

Args: phone_number: Patient's phone number

Returns: Dictionary containing the search results

search_patients_by_emailB

Search for patients by email address.

Args: email: Patient's email address

Returns: Dictionary containing the search results

search_patients_by_addressB

Search for patients by address components.

Args: postal_code: Patient's postal/ZIP code city: Patient's city state: Patient's state

Returns: Dictionary containing the search results

get_allergy_by_idB

Retrieve a specific allergy intolerance by ID.

Args: allergy_id: The FHIR AllergyIntolerance ID

Returns: Dictionary containing the allergy intolerance information

get_patient_allergiesA

Retrieve allergies for a specific patient.

Args: patient_id: The FHIR patient ID clinical_status: Optional filter by clinical status (active, inactive, resolved)

Returns: Dictionary containing the patient's allergies

get_condition_by_idB

Retrieve a specific condition by ID.

Args: condition_id: The FHIR Condition ID

Returns: Dictionary containing the condition information

get_patient_conditionsA

Retrieve conditions for a specific patient.

Args: patient_id: The FHIR patient ID clinical_status: Optional filter by clinical status (active, inactive, resolved) category: Optional filter by category (problem-list-item, encounter-diagnosis)

Returns: Dictionary containing the patient's conditions

get_procedure_by_idC

Retrieve a specific procedure by ID.

Args: procedure_id: The FHIR Procedure ID

Returns: Dictionary containing the procedure information

get_patient_proceduresA

Retrieve procedures for a specific patient.

Args: patient_id: The FHIR patient ID date: Optional filter by date (YYYY-MM-DD format or date range) status: Optional filter by status (preparation, in-progress, completed)

Returns: Dictionary containing the patient's procedures

get_encounter_by_idB

Retrieve a specific encounter by ID.

Args: encounter_id: The FHIR Encounter ID

Returns: Dictionary containing the encounter information

get_patient_encountersA

Retrieve encounters for a specific patient.

Args: patient_id: The FHIR patient ID date: Optional filter by date (YYYY-MM-DD format or date range) status: Optional filter by status (planned, arrived, in-progress, finished) encounter_class: Optional filter by class (ambulatory, emergency, inpatient)

Returns: Dictionary containing the patient's encounters

get_diagnostic_report_by_idB

Retrieve a specific diagnostic report by ID.

Args: report_id: The FHIR DiagnosticReport ID

Returns: Dictionary containing the diagnostic report information

get_patient_diagnostic_reportsB

Retrieve diagnostic reports for a specific patient.

Args: patient_id: The FHIR patient ID category: Optional filter by category (LAB, RAD, etc.) date: Optional filter by date (YYYY-MM-DD format or date range) status: Optional filter by status (registered, partial, final, corrected)

Returns: Dictionary containing the patient's diagnostic reports

get_observation_by_idB

Retrieve a specific observation by ID.

Args: observation_id: The FHIR Observation ID

Returns: Dictionary containing the observation information

get_patient_observationsA

Retrieve observations for a specific patient.

Args: patient_id: The FHIR patient ID category: Optional filter by category (vital-signs, laboratory, etc.) code: Optional filter by observation code (LOINC code) date: Optional filter by date (YYYY-MM-DD format or date range)

Returns: Dictionary containing the patient's observations

get_patient_vital_signsA

Retrieve vital signs observations for a specific patient.

Args: patient_id: The FHIR patient ID date: Optional filter by date (YYYY-MM-DD format or date range)

Returns: Dictionary containing the patient's vital signs

get_patient_lab_resultsC

Retrieve laboratory observations for a specific patient.

Args: patient_id: The FHIR patient ID date: Optional filter by date (YYYY-MM-DD format or date range)

Returns: Dictionary containing the patient's lab results

get_immunization_by_idA

Retrieve a specific immunization by ID.

Args: immunization_id: The FHIR Immunization ID

Returns: Dictionary containing the immunization information

get_patient_immunizationsA

Retrieve immunizations for a specific patient.

Args: patient_id: The FHIR patient ID date: Optional filter by date (YYYY-MM-DD format or date range) status: Optional filter by status (completed, not-done)

Returns: Dictionary containing the patient's immunizations

get_medication_request_by_idA

Retrieve a specific medication request by ID.

Args: medication_request_id: The FHIR MedicationRequest ID

Returns: Dictionary containing the medication request information

get_patient_medication_requestsA

Retrieve medication requests for a specific patient.

Args: patient_id: The FHIR patient ID status: Optional filter by status (active, completed, cancelled) intent: Optional filter by intent (order, plan, proposal)

Returns: Dictionary containing the patient's medication requests

get_appointment_by_idB

Retrieve a specific appointment by ID.

Args: appointment_id: The FHIR Appointment ID

Returns: Dictionary containing the appointment information

get_patient_appointmentsA

Retrieve appointments for a specific patient.

Args: patient_id: The FHIR patient ID date: Optional filter by date (YYYY-MM-DD format, automatically formatted with time component) status: Optional filter by status (proposed, pending, booked, arrived, fulfilled, cancelled)

Returns: Dictionary containing the patient's appointments

search_appointments_by_dateA

Search for appointments by date.

Args: date: Appointment date (YYYY-MM-DD format, automatically formatted with time component) status: Optional filter by status (proposed, pending, booked, arrived, fulfilled, cancelled)

Returns: Dictionary containing the appointments

get_fhir_capability_statementA

Retrieve the FHIR server's capability statement (metadata). This provides information about the server's capabilities and supported resources.

Returns: Dictionary containing the FHIR server capabilities

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sdesani/mcp-fhir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server