raras
Disease Twin — Brazil's rare-disease knowledge graph (10,468) over MCP. Source-grounded, PT-BR.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (12)
- HIGH
- MEDIUMen get_literature_relations
- LOWen get_disease_detail
- LOWen find_diseases_by_phenotypes
- LOWen get_sus_coverage
- LOWen find_reference_centers
- LOWen find_active_trials
- LOWen find_similar_diseases
- LOWen search_papers_semantic
- LOWen find_papers_for_disease
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"raras": {
"url": "https://raras.org/api/mcp"
}
}
}Puntos de conexión remotos
https://raras.org/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (20)
🟢search_diseases(query, limit, filter_has_sus_coverage, filter_has_active_trials)
Full-text search em 10.468 doenças raras. Suporta filtros SUS/trials.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"filter_has_sus_coverage": {
"type": "boolean"
},
"filter_has_active_trials": {
"type": "boolean"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_disease_detail(orphaCode)
Fenótipos HPO, genes, SUS, trials, descrição clínica em PT.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_diseases_by_phenotypes(hpo_ids, limit)
Match por IDs HPO. Use para diagnóstico diferencial.
Esquema de entrada
{
"type": "object",
"properties": {
"hpo_ids": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^HP:\\d+$"
}
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 30
}
},
"required": [
"hpo_ids"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_phenotypes(query, limit)
Lookup HPO em PT-BR (encoder Araras-HPO-Brasil + léxico leigo) ou EN (vocabulário HPO). Retorna IDs HP: com estado de asserção: termo NEGADO ("nunca desmaiei") NÃO vira fenótipo. Outros idiomas não são cobertos. Limite de taxa: use poucas chamadas por minuto (429 = espere).
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2
},
"limit": {
"default": 15,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"assertion": {
"type": "string",
"enum": [
"PRESENT",
"NEGATED"
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hpoId": {
"type": "string"
},
"name": {
"type": "string"
},
"namePt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"match": {
"type": "string",
"enum": [
"exact",
"approximate"
]
},
"via": {
"type": "string"
},
"similarity": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"hpoId",
"name",
"namePt",
"match",
"via",
"similarity"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
},
"languages": {
"type": "string"
},
"meta": {}
},
"required": [
"query",
"assertion",
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_sus_coverage(orphaCode)
CEAF, SIGTAP, PNTN, nível de integração.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_reference_centers(orphaCode, state, limit)
Centros por doença e/ou UF, com CNES.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
},
"state": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_active_trials(orphaCode, in_brazil_only, limit)
Trials ativos com filtro Brazil.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
},
"in_brazil_only": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 15,
"type": "integer",
"minimum": 1,
"maximum": 30
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_similar_diseases(orphaCode, limit)
Vector similarity via embeddings SOTA.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_phenotypically_similar(orphaCode, limit)
Doenças com perfil de fenótipos HPO semelhante (simGIC pré-computado, explicável: nº de fenótipos em comum). Complementa find_similar_diseases (semântico).
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 30
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"method": {
"type": "string"
},
"orphaCode": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"orphaCode": {
"type": "string"
},
"name": {
"type": "string"
},
"score": {
"type": "number"
},
"sharedPhenotypes": {
"type": "number"
},
"url": {
"type": "string"
}
},
"required": [
"orphaCode",
"name",
"score",
"sharedPhenotypes",
"url"
],
"additionalProperties": false
}
},
"meta": {}
},
"required": [
"method",
"orphaCode",
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_graph_stats
Contagens e métricas do dataset.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_papers_semantic(query, limit, min_score)
Busca vetorial sobre 424k papers do PubMed. Use caso clínico, pergunta ou conjunto de sintomas.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 3
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 30
},
"min_score": {
"default": 0.8,
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_papers_for_disease(orphaCode, limit, min_score)
Literatura relacionada a uma doença via embeddings (:SEMANTIC_MATCH, fallback vetorial).
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 30
},
"min_score": {
"default": 0.8,
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢analyze_clinical_case(case_description, papers_limit, diseases_limit)
Caso clínico → doenças candidatas + literatura relevante em 1 chamada. Apenas informativo, nunca diagnóstico.
Esquema de entrada
{
"type": "object",
"properties": {
"case_description": {
"type": "string",
"minLength": 20
},
"papers_limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
},
"diseases_limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"case_description"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_schema
Node labels, relationship types e property keys do grafo. Use antes de cypher_query.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢explain_relation(query, hpo_ids, max_hops)
Raciocínio fundamentado sobre o grafo: dada uma pergunta (ex.: "por que o gene X se associa à doença Y?", "como a droga Z se relaciona a esta doença?"), retorna caminhos de evidência multi-hop (doença↔gene↔via↔droga↔fenótipo) com proveniência citável. Se não houver caminho no grafo, recusa — nunca inventa.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 3
},
"hpo_ids": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^HP:\\d+$"
}
},
"max_hops": {
"default": 2,
"anyOf": [
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"hasEvidence": {
"type": "boolean"
},
"summary": {
"type": "object",
"properties": {
"diseases": {
"type": "number"
},
"phenotypes": {
"type": "number"
},
"genes": {
"type": "number"
},
"drugs": {
"type": "number"
}
},
"required": [
"diseases",
"phenotypes",
"genes",
"drugs"
],
"additionalProperties": false
},
"paths": {
"type": "array",
"items": {
"type": "object",
"properties": {
"score": {
"type": "number"
},
"chain": {
"type": "array",
"items": {
"type": "string"
}
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"score",
"chain",
"sources"
],
"additionalProperties": false
}
}
},
"required": [
"query",
"hasEvidence",
"summary",
"paths"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_literature_relations(orphaCode, predicate)
Relações tipadas extraídas da literatura biomédica (associate/treat/cause/inhibit/stimulate/prevent) entre a doença e genes/fármacos, com nº de publicações como proveniência. Filtrável por predicado.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
},
"predicate": {
"type": "string",
"enum": [
"associate",
"treat",
"cause",
"inhibit",
"stimulate",
"prevent",
"positive_correlation",
"negative_correlation"
]
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string"
},
"source": {
"type": "string"
},
"relations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"predicate": {
"type": "string"
},
"partner": {
"type": "string"
},
"partnerType": {
"type": "string"
},
"publications": {
"type": "number"
},
"direction": {
"type": "string"
}
},
"required": [
"predicate",
"partner",
"partnerType",
"publications",
"direction"
],
"additionalProperties": false
}
}
},
"required": [
"orphaCode",
"source",
"relations"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_hypotheses(orphaCode)
Candidatos a reposicionamento de fármacos gerados por associação de genes (guilt-by-association): drogas que tratam outras doenças que compartilham genes com esta. HIPÓTESES para investigação, NUNCA recomendações clínicas — cada uma rastreável (via gene X, da doença Y).
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string"
},
"name": {
"type": "string"
},
"method": {
"type": "string"
},
"isRecommendation": {
"type": "boolean"
},
"hypotheses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"drug": {
"type": "string"
},
"viaGenes": {
"type": "array",
"items": {
"type": "string"
}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"orpha": {
"type": "string"
}
},
"required": [
"name",
"orpha"
],
"additionalProperties": false
}
},
"geneOverlap": {
"type": "number"
}
},
"required": [
"drug",
"viaGenes",
"sources",
"geneOverlap"
],
"additionalProperties": false
}
}
},
"required": [
"orphaCode",
"name",
"method",
"isRecommendation",
"hypotheses"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_research_log(orphaCode)
Registro cronológico do que o agente autônomo fez por esta doença: autoria, mineração de literatura, evidência genética, verificação, prospecção de fontes, recomputação de relações. Prova de que o gêmeo digital estuda a doença continuamente.
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string"
},
"name": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"date",
"type",
"title",
"detail"
],
"additionalProperties": false
}
}
},
"required": [
"orphaCode",
"name",
"events"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_recent_updates(days, limit)
Doenças cujo gêmeo digital ganhou evidência nova (autoria, PubTator3, Open Targets, verificação) nos últimos N dias. Faça polling para acompanhar mudanças (substituto stateless de subscriptions).
Esquema de entrada
{
"type": "object",
"properties": {
"days": {
"default": 7,
"type": "integer",
"minimum": 1,
"maximum": 90
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"sinceDays": {
"type": "number"
},
"updates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"orphaCode": {
"type": "string"
},
"name": {
"type": "string"
},
"lastUpdated": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"resource": {
"type": "string"
}
},
"required": [
"orphaCode",
"name",
"lastUpdated",
"sources",
"resource"
],
"additionalProperties": false
}
}
},
"required": [
"sinceDays",
"updates"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_evidence(orphaCode)
Cross-references de autoridade (Orphanet, MONDO, OMIM, MeSH, GARD, UMLS), status de verificação e PMIDs de uma doença. A base da regra "nunca inventar".
Esquema de entrada
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"xrefs": {
"type": "object",
"properties": {
"orphanet": {
"type": "string"
},
"mondo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"omim": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"mesh": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"gard": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"umls": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pubtator3": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"orphanet",
"mondo",
"omim",
"mesh",
"gard",
"umls",
"pubtator3"
],
"additionalProperties": false
},
"verification": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"checkedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"checkedAt"
],
"additionalProperties": false
},
"diseaseTwin": {
"type": "object",
"properties": {
"authoredAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groundingPct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"authoredAt",
"groundingPct"
],
"additionalProperties": false
},
"pmids": {
"type": "array",
"items": {
"type": "string"
}
},
"neverInvent": {
"type": "boolean"
}
},
"required": [
"orphaCode",
"name",
"xrefs",
"verification",
"diseaseTwin",
"pmids",
"neverInvent"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Comunidad
Evidencia