bahmni-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BAHMNI_URL | Yes | Base URL of your Bahmni instance (e.g. https://bahmni.example.com/openmrs/ws) | |
| BAHMNI_USER | Yes | Bahmni username | |
| BAHMNI_PASSWORD | Yes | Bahmni password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| createOrUpdateEncounterTransactionC | Bundles observations, diagnoses, orders, and dispositions into a single transaction. |
| findEncountersC | Search for encounters by parameters. |
| deleteEncounterC | Void/delete an encounter |
| getObservationsC | Get observations for a visit or an encounter. |
| manageVisitsC | Manage, open, or close visits. |
| getDrugOrdersC | Get drug orders for a patient. |
| getDiagnosesC | Get diagnoses for a patient. |
| createOrUpdatePatientProfileC | Create or update patient demographics and identifiers. |
| getDispositionA | Get disposition rules (admit/discharge/transfer). |
| getDrugByIdD | Get drug details |
| searchTerminologyConceptsD | Search concepts/terminology |
| getAddressHierarchyEntryC | Get address hierarchy entry |
| getDiseaseTemplatesC | Get disease templates for a patient. |
| searchPatientsD | Search patients |
| getPatientByIdB | Get patient by UUID |
| getVisitsForPatientC | Get visits for a patient |
| searchOpenMRSConceptsD | Search standard concepts |
| getAllLocationsB | Get all locations |
| getSessionInfoA | Get current session info or validate authentication. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools target distinct resources (patient, encounter, observation, etc.), but createOrUpdateEncounterTransaction bundles multiple data types including diagnoses and orders, causing potential overlap with individual getters. Overall, tools are mostly distinct.
All names use camelCase and start with verbs (get, search, createOrUpdate), but verb choice is inconsistent (e.g., findEncounters vs getVisitsForPatient, manageVisits is vague). The pattern is readable but could be more uniform.
19 tools is a reasonable scope for a healthcare MCP, covering core entities without being excessive. The count feels appropriate for the domain.
The tool surface heavily favors read operations; write operations are limited to patient profiles and a single composite encounter transaction. Missing separate create/update for observations, diagnoses, orders, etc., which will cause agent failures in common workflows.