orphanet-link
The orphanet-link server provides read-only access to Orphanet's rare disease knowledge base — for research use only, not for clinical decision-making — enabling AI models and tools to query, search, and retrieve detailed rare disease information via MCP tools and resources.
Discovery & Diagnostics: Discover server capabilities, tool signatures, response modes, error taxonomy (
get_server_capabilities), and check index status, disorder counts, schema version, build time, and runtime metrics like latency percentiles and cache hit rates (get_diagnostics).Disease Resolution & Search: Resolve disease labels, synonyms, ORPHA codes, or external cross-reference CURIEs to canonical Orphanet terms (
resolve_disease); perform full-text searches with relevance ranking and pagination (search_diseases); batch-resolve up to 50 queries in a single call with per-item partial success (resolve_disease_batch).Disease Record Retrieval: Fetch full disorder records including definitions, synonyms, cross-references, classification, age of onset, inheritance patterns, and disorder type (
get_disease), with batch support for up to 50 records and sparse field projection (get_disease_batch).Gene Associations: Retrieve gene-disease associations (symbol, HGNC ID, association type, source PMIDs) for a disorder (
get_disease_genes), or reverse-lookup all disorders linked to a given HGNC gene symbol (find_diseases_by_gene).Phenotype (HPO) Annotations: Retrieve HPO phenotype annotations with frequency categories and optional filtering (
get_disease_phenotypes), or reverse-lookup all disorders annotated with a given HPO term (find_diseases_by_phenotype).Epidemiology & Natural History: Access prevalence records (class band, geography, numeric estimate, validation status) (
get_disease_prevalence) and natural history data including age-of-onset categories and inheritance patterns (get_disease_natural_history).Functional Disability: Retrieve functional consequence annotations covering affected ability categories and severity grades (
get_disease_disability).Classification & Hierarchy: Get immediate parents and children in Orphanet's poly-hierarchical trees (
get_disease_classification), all transitive ancestors (get_disease_ancestors), and all transitive descendants (get_disease_descendants) via precomputed closure with pagination.Cross-Ontology Mapping: Map a disorder's cross-references to external ontologies (OMIM, MONDO, ICD-10/11, UMLS, GARD, MeSH, MedDRA), optionally filtered by prefix (
map_cross_ontology), or resolve an external CURIE back to matching Orphanet disorders (resolve_xref).MCP Resources: Access research-use disclaimer, citation, license, and usage guide via
orphanet://URIs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@orphanet-linkshow me the prevalence data for cystic fibrosis"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
orphanet-link
A read-only Model Context Protocol (MCP) server that grounds rare-disease questions in Orphanet's scientific knowledge files (Orphadata, INSERM), served from a locally-built SQLite + FTS5 index of the eight English Orphadata XML products.
Research use only. Not clinical decision support. Do not use for diagnosis, treatment, triage, or patient management.
Why
Orphadata ships its rare-disease knowledge as eight separate bulk XML products — nomenclature, cross-references, ~33 per-specialty classification files, gene associations, HPO phenotypes, epidemiology, natural history, functional consequences. They are a download, not a query surface: asking "which genes are linked to Aicardi syndrome, what is its prevalence, and what is it called in OMIM?" means fetching ~150 MB of XML, joining four products on ORPHAcode, and walking a poly-hierarchy by hand.
orphanet-link does that join once — into a normalized, read-only SQLite + FTS5 index with
precomputed classification closures — and serves it as MCP tools. A free-text label, a synonym, a
bare ORPHA code, or an external CURIE (OMIM, MONDO, ICD-10/11, UMLS, GARD, MeSH, MedDRA) all
resolve to the same canonical disorder, and every answer is reproducible against a stated Orphanet
release.
Related MCP server: gencc-link
Quick start
The GeneFoundry instance is hosted — no install:
claude mcp add --transport http orphanet-link https://orphanet-link.genefoundry.org/mcpLocally (Python 3.12+ and uv):
git clone https://github.com/berntpopp/orphanet-link.git
cd orphanet-link
uv sync --group dev
make data-fetch # pull the prebuilt SQLite index from the GitHub Release
make dev # unified REST + MCP → http://127.0.0.1:8000/mcp
claude mcp add --transport http orphanet-link http://127.0.0.1:8000/mcpThe server needs a database before it can answer. make data-fetch pulls the prebuilt one
published by CI; make data builds it from the Orphadata XML instead (~150 MB). Either way the
server also bootstraps one on first start when none is present — see Data.
make dev runs --transport unified, the only mode that serves MCP; --transport http is
REST/health-only. make docker-up runs the container stack and prints its MCP URL. See
Deployment.
Tools
Every tool is read-only, accepts response_mode (minimal / compact / standard / full,
default compact), and returns the fleet's success / _meta / payload-or-error envelope.
_meta.next_commands carries ready-to-call follow-ups — see
Architecture & the MCP surface.
Tool | Purpose |
| Discovery: tool signatures, response modes, workflows, error taxonomy, limits, Orphanet release |
| Index status: Orphanet release, disorder counts, schema version, build time, runtime metrics |
| Free-text label, synonym, ORPHA code ( |
| FTS over disease names and synonyms; relevance-ranked, paginated, optional obsolete inclusion |
| Full disorder record: type/group, synonyms, grouped cross-references, classification parents/children, association counts; sparse |
| Gene associations: symbol, HGNC id, association type and status, source PMIDs, gene xrefs |
| HPO annotations: HPO id, term name, frequency category; optional frequency filter |
| Epidemiology: prevalence type, class band, numeric ValMoy, geography, validation status, source |
| Age-of-onset categories and inheritance patterns |
| Functional-consequence annotations: ability categories affected and severity grades |
| Immediate parents and children in Orphanet's poly-hierarchical classification trees |
| Transitive classification ancestors (precomputed closure), paginated |
| Transitive classification descendants (precomputed closure), paginated |
| A disorder's cross-references grouped by source (OMIM, MONDO, ICD-10/11, UMLS, GARD, MeSH, MedDRA) with mapping relations |
| External CURIE → matching Orphanet disorder(s), paginated |
| Reverse lookup: HGNC gene symbol → associated disorders, paginated |
| Reverse lookup: HPO term id → associated disorders, paginated |
| Batch-resolve up to |
| Batch-fetch up to |
Leaf names are intentionally unprefixed, per the fleet's Tool-Naming Standard v1. Behind
genefoundry-router this server mounts under the
orphanet namespace, so tools surface as orphanet_<tool> — e.g. orphanet_resolve_disease, the
pinned entry point.
Data & provenance
Source — Orphadata, the free-access scientific-knowledge file distribution of Orphanet (INSERM, Paris). Eight English XML products, downloaded directly with no authentication.
Refresh — Orphanet releases bi-annually. CI rebuilds the index weekly and publishes it as a
versioned data-<release> GitHub Release (orphanet.sqlite.gz); the server fetches that artifact,
verifies its sha256, and falls back to a local build when it is unavailable. make data-status
prints the loaded release. Details: Data & the build pipeline.
Licence — Orphadata are CC BY 4.0. Redistributing a derived SQLite database is explicitly permitted provided attribution is given and changes are indicated.
Required citation — also served by the orphanet://citation resource:
"Orphadata Science: Free access data from Orphanet. © INSERM 1999. Available on http://sciences.orphadata.com/. Data version [date/version]." Changes: "Converted Orphadata XML to a normalized SQLite database."
This derived database is not an official Orphanet product and has not been validated by Orphanet or INSERM.
Documentation
Data & the build pipeline — the eight Orphadata products, the data CLI, licensing, and the CI artifact pipeline.
Deployment — transports (and the
--transport httpfootgun), Docker, the Host/Origin/CORS boundary, router integration, deploy verification.Configuration — the
ORPHANET_LINK_*variables;.env.exampleis the exhaustive annotated reference.Architecture & the MCP surface — response envelope, response modes,
orphanet://resources, error taxonomy, and where the research-use warning lives.AGENTS.md— engineering conventions: the two planes, invariants, the determinism contract, package layout.CHANGELOG.md— release history.
Contributing
See AGENTS.md for the conventions and the definition of done. make ci-local is the
gate — format, lint, line budget, README standard, action pins, mypy, and tests — and it must be
green before merge.
License
Code: MIT © 2026 Bernt Popp.
Data: Orphadata is CC BY 4.0 © INSERM 1999 — attribution required and changes indicated, as stated under Data & provenance.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/berntpopp/orphanet-link'
If you have feedback or need assistance with the MCP directory API, please join our Discord server