BRaVa MCP
BRaVa MCP
Un servidor MCP para los resultados de asociación del consorcio Biobank Rare Variant Analysis (BRaVa): pruebas basadas en genes de variantes codificantes raras, metaanalizadas en ~1,2 millones de individuos de 10 biobancos globales, 44 rasgos armonizados y 7 estratos ancestrales.
Solo estadísticas resumidas. No apto para uso clínico.
Entrega la tabla, no un envoltorio
Los resultados a nivel de gen son una única tabla plana de hechos, y un modelo ya escribe SQL a nivel experto, por lo que query se la entrega: 61.791.444 filas, en local, sin red. Cualquier pregunta es una consulta, incluidas aquellas que un conjunto fijo de herramientas nunca habría anticipado.
-- what does this gene do
SELECT trait, mask, p_skato, beta FROM results
WHERE gene='PCSK9' AND ancestry='All' AND mask<>'synonymous'
ORDER BY p_skato LIMIT 20
-- most pleiotropic genes
SELECT gene, count(DISTINCT trait) traits FROM results
WHERE ancestry='All' AND p_skato < 1.39e-7 GROUP BY gene ORDER BY traits DESC
-- what a European-only study would have missed
SELECT a.gene, a.trait, a.p_skato FROM results a
WHERE a.ancestry='AFR' AND a.p_skato < 2.5e-6 AND NOT EXISTS (
SELECT 1 FROM results e WHERE e.ancestry='EUR'
AND e.gene_idx=a.gene_idx AND e.pheno=a.pheno AND e.p_skato < 2.5e-6)Related MCP server: gwas-mcp
Herramientas
Herramienta | Para qué sirve |
| SQL de solo lectura sobre toda la tabla a nivel de gen |
| Tablas, columnas, recetas ejecutables y las trampas que hacen que una consulta válida sea científicamente errónea. Léelo primero |
| Replicación entre ancestros para un par gen-rasgo, o un cribado sobre una lista de aciertos |
| Resultados de variante única, en todo el genoma para un rasgo o dentro de un gen |
Las tres herramientas no consulta cubren lo que SQL no puede.
gene_phenotype_detail, porque el recuento de concordancia debe excluir All y non_EUR, que agrupan a los mismos individuos que los estratos que se cuentan: el SQL obvio duplica el recuento y parece completamente razonable.
variants, porque el lanzamiento a nivel de variante es un formato ascendente separado, un orden de magnitud mayor y se reconstruye con la suficiente frecuencia como para que una copia local quede obsoleta en una semana.
schema(), porque una consulta sintácticamente perfecta puede ser científicamente errónea aquí. Los tamaños del efecto pertenecen a una prueba diferente del valor p que los acompaña, una máscara es un control de calibración en lugar de una categoría biológica, los estratos ancestrales se superponen, y un valor p de exactamente cero es el resultado más fuerte en lugar de uno faltante. Varios de ellos invierten una respuesta en lugar de degradarla, por lo que viajan con las columnas en lugar de estar en un README.
La base de datos
873 MB, publicada como un activo de lanzamiento y descargada una vez en ~/.cache/brava-mcp/ en el primer uso. Deliberadamente no incluida en el repositorio: los despliegues reinician el clon en cada inicio, por lo que un gigabyte dentro de él se volvería a descargar para siempre. Clonar este repositorio cuesta 3,9 MB.
Construida por etl/build_db.py a partir de los 280 archivos phenotype/{P}.{ANC}.json publicados. Estos contienen los mismos datos que los 19.541 archivos por gen, por lo que el pivote se elige por cortesía: 280 solicitudes frente a 19.541 para una cobertura idéntica, una vez, en lugar de una por gen consultada para siempre. Las operaciones de Clase B son el recurso escaso en el nivel gratuito ascendente; la salida es gratuita en R2.
Ordenada en las columnas clave de baja cardinalidad y construida sin índices ART: 2,49 GB con índices, 1,75 GB sin ellos, 0,87 GB ordenada. No se echa de menos ningún índice, porque se trata de escaneos filtrados y los zonemaps de DuckDB ya los sirven. Cada consulta anterior devuelve resultados en menos de 70 ms.
Ejecución
make sync # install
make db # download the published database (873 MB, once)
make test # offline suite
make test-all # + live-data checks
make eval # 14 benchmark questions, answers derived independently
make serve # HTTP daemon on :3163
uv run python server.py # stdioReconstruye la base de datos desde el origen con uv run python etl/build_db.py (~200 s: 120 s de descargas, 76 s de carga, luego la compactación ordenada).
Variable | Por defecto | Propósito |
|
|
|
|
| puerto del demonio |
| el activo de lanzamiento | dónde descargar la base de datos |
|
| base de datos local |
| R2 ascendente | archivos a nivel de variante |
Lectura de los resultados
beta > 0 aumenta el riesgo (rasgos binarios) o el valor del rasgo (cuantitativo).
betaysesiempre provienen del metaanálisis Burden ponderado por varianza inversa, incluso en filas donde leesp_skato. No hay un tamaño del efecto SKAT-O.SKAT-O es la prueba ómnibus principal. Burden es más potente cuando las variantes de un gen apuntan en la misma dirección; SKAT cuando están mezcladas.
La máscara
synonymouses un control de calibración. Un resultado sinónimo significativo indica inflación residual de la prueba, no biología.Umbrales del artículo principal: gen × máscara Bonferroni 1,39e-7, Cauchy a nivel de gen 2,5e-6, a nivel de variante 1,82e-8.
BRaVa no contiene frecuencias alélicas ni GWAS de variantes comunes. Las filas de variantes enlazan a gnomAD para las primeras.
schema() devuelve todo esto, más cinco trampas adicionales, junto con las columnas.
Evaluación
evals/questions.json contiene catorce preguntas, las catorce resueltas directamente a partir de los archivos ascendentes originales por evals/resolve_golds.py, que no importa nada de brava, por lo que el punto de referencia no puede coincidir con un error de decodificación y funciona como un detector de desviación ascendente.
evals/selfcheck.py recorre cada pregunta a través de las herramientas: actualmente 14/14, una mediana de una llamada por pregunta y cero solicitudes HTTP salientes para todo el conjunto. Comprueba la evidence de cada pregunta (los valores que las herramientas deben devolver) y nunca su answer, porque varias respuestas son conclusiones que ninguna coincidencia de cadenas puede verificar. Por lo tanto, demuestra que los datos son accesibles y a qué costo, no que un modelo llegue a la conclusión correcta; esa mitad necesita un ejecutor con modelo en el bucle y aún falta.
Tráfico
Las preguntas a nivel de gen son locales, por lo que no cuestan nada al proyecto ascendente. Solo variants realiza búsquedas, y cada archivo se almacena en caché de forma permanente. Construir la base de datos cuesta 280 solicitudes, una vez. Consulta nikbaya/brava_browser#1 para la conversación con el autor ascendente.
Citación
Palmer, Hill, Hodgson, et al. Rare variant association analyses across 10 global biobanks. medRxiv (2026). doi:10.64898/2026.05.21.26353759
La base de datos se deriva de ese lanzamiento a través de los archivos publicados del navegador BRaVa y se redistribuye bajo la licencia MIT del navegador.
Licencia
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceAccess to 1000 Genomes Project dataset, hosted online in Dnaerys variant store2Apache 2.0
- AlicenseCqualityFmaintenanceProvides AI-powered access to major biological databases for GWAS and bioinformatics research. Enables natural language queries for protein, gene, variant, pathway, and drug discovery analysis.441MIT
- Alicense-qualityDmaintenanceEnables real-time pharmacogenomics analysis, including variant clinical significance, drug-gene interactions, and dosing guidelines, by connecting to ClinVar, PharmGKB, gnomAD, and other databases.1MIT
- Alicense-qualityDmaintenanceEnables AI agents to query clinical genomics databases, retrieve supporting literature, analyze population genetics, and visualize biological pathways.22MIT
Related MCP Connectors
GTEx — Genotype-Tissue Expression human gene-expression atlas
Broad Institute gnomAD genomic variant database (GraphQL)
Canine genomics for agents: breed allele frequencies, AI pathogenicity + OMIA clinical disease layer
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/plemio/brava-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server