raras
Disease Twin — Brazil's rare-disease knowledge graph (10,468) over MCP. Source-grounded, PT-BR.
사용해야 할까요
품질 및 안전성
발견 사항 (12)
- HIGH
- MEDIUMget_literature_relations에서
- LOWget_disease_detail에서
- LOWfind_diseases_by_phenotypes에서
- LOWget_sus_coverage에서
- LOWfind_reference_centers에서
- LOWfind_active_trials에서
- LOWfind_similar_diseases에서
- LOWsearch_papers_semantic에서
- LOWfind_papers_for_disease에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"raras": {
"url": "https://raras.org/api/mcp"
}
}
}원격 엔드포인트
https://raras.org/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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).
입력 스키마
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"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).
입력 스키마
{
"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#"
}출력 스키마
{
"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".
입력 스키마
{
"type": "object",
"properties": {
"orphaCode": {
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"orphaCode"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"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
}커뮤니티
증거