A side-by-side look at the Hpo Api and Fhir MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Hpo Api for biology, medicine and bioinformatics work as a local process; choose Fhir MCP Server for biology, medicine and bioinformatics as a local process. You can also run both side by side in one mcpServers block.
term, search, term_children.FHIR_SERVER_BASE_URL, FHIR_SERVER_CLIENT_ID, FHIR_SERVER_CLIENT_SECRET, FHIR_SERVER_SCOPES.get_capabilities, type, search.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology, Medicine and Bioinformatics | Biology, Medicine and Bioinformatics |
| Quality signal | 60/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | OAuth 2.0 |
| Pricing | Not declared | Free |
| Required env vars | None listed | FHIR_SERVER_BASE_URLFHIR_SERVER_CLIENT_IDFHIR_SERVER_CLIENT_SECRETFHIR_SERVER_SCOPES |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 137 |
| Directory activity | 3 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 7 | 13 |
| Full listing | View Hpo Api | View Fhir MCP Server |
term"What does HP:[N] mean" / "look up HPO phenotype [ID]" — fetch a single Human Phenotype Ontology (HPO) term by ID. HPO is the standard ontology for clinical phenotypes used in rare-disease research. Returns label, definition, synonyms, cross-references. Example ID: HP:0001250 (Seizure).search"HPO term for [symptom]" / "phenotype code for [clinical sign]" / "find HPO IDs about [feature]" / "what's the HPO for seizures / autism / short stature" — text search the Human Phenotype Ontology (HPO). Returns ranked terms with HP: IDs. Use to map clinical descriptions to standard ontology terms for rare-disease workups, genomics, or clinical phenotype databases.term_children"More specific HPO phenotypes under [HP:N]" / "child terms of [phenotype]" — direct children of an HPO term in the ontology graph. Use to narrow from a general phenotype (e.g. "Abnormality of the nervous system") to specifics (seizures, ataxia, etc).term_parents"What broader phenotype is [HP:N] under" / "parent term of [HPO ID]" — direct parents of an HPO term in the ontology graph. Use to walk up to a more general phenotype class.term_descendants"All phenotypes under [HP:N]" / "full subtree of [HPO term]" — transitive descendants (children, grandchildren, …) of an HPO term. Use for exhaustive coverage (e.g. "every cardiac phenotype" via descendants of HP:0001626).gene_diseases"What diseases is gene [NCBIGene:N] associated with" / "diseases linked to gene [X]" / "TP53 disease associations" — fetch diseases associated with a gene ID (NCBIGene:N format). Use for gene-to-disease lookups in rare-disease research, variant prioritization. Example ID: NCBIGene:7157 (TP53).disease_phenotypes"What symptoms / clinical features does [disease] cause" / "HPO phenotypes for [OMIM N]" / "clinical signs of [rare disease]" — list HPO phenotype terms for a disease ID (OMIM:N, ORPHA:N, or MONDO:N format). Use to enumerate clinical features of rare diseases. Example ID: OMIM:154700 (Marfan syndrome).get_capabilitiesRetrieves metadata about a specified FHIR resource type, including its supported search parameters and custom operations.typeThe FHIR resource type name (e.g., "Patient", "Observation", "Encounter")searchExecutes a standard FHIR search interaction on a given resource type, returning a bundle or list of matching resources.searchParamA mapping of FHIR search parameter names to their desired values (e.g., {"family":"Simpson","birthdate":"1956-05-12"}).response_filter_fhirpaths(Optional) An array of FHIRPath expressions (e.g., `["Patient.name", "Patient.birthDate", "Bundle.link.where(relation='next').url"]`) to apply to the resources in the response bundle.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.idThe logical ID of a specific FHIR resource instance.operationThe name of a custom FHIR operation or extended query defined for the resource (e.g., "$everything").createExecutes a FHIR "create" interaction to persist a new resource of the specified type.payloadA JSON object representing the full FHIR resource body to be created.updatePerforms a FHIR "update" interaction by replacing an existing resource instance's content with the provided payload.deleteExecute a FHIR "delete" interaction on a specific resource instance.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"hpo-api": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-hpo-api"
]
}
}
}
{
"mcpServers": {
"wso2-fhir-mcp-server": {
"command": "uvx",
"args": [
"fhir-mcp-server"
],
"env": {
"FHIR_SERVER_BASE_URL": "YOUR_FHIR_SERVER_BASE_URL_HERE",
"FHIR_SERVER_CLIENT_ID": "YOUR_FHIR_SERVER_CLIENT_ID_HERE",
"FHIR_SERVER_CLIENT_SECRET": "YOUR_FHIR_SERVER_CLIENT_SECRET_HERE",
"FHIR_SERVER_SCOPES": "YOUR_FHIR_SERVER_SCOPES_HERE"
}
}
}
}