aria-mcp-server
🧬 Servidor MCP de investigación clínica ARIA
Un servidor MCP independiente que proporciona a cualquier agente de Claude acceso en tiempo real a literatura biomédica y ensayos clínicos, sin necesidad de claves de API.
Herramientas
Herramienta | Descripción |
| Busca en más de 35 millones de artículos revisados por pares a través de NCBI E-utilities |
| Busca en más de 400 000 ensayos a través de la API v2 de ClinicalTrials.gov |
| Busca ensayos en el Reino Unido/Europa a través del registro ISRCTN |
Related MCP server: clinicaltrials-mcp
Prompts
Prompt | Descripción |
| Resumen completo de evidencia + ensayo para una afección |
| Perfil estructurado de EA y seguridad para un fármaco |
| Evaluación de elegibilidad del paciente en ensayos en fase de reclutamiento |
Recursos
Recurso | Descripción |
| Descripción general de las capacidades y fuentes de datos de ARIA |
| Definiciones de las fases I-IV y designaciones especiales de la FDA |
| Revistas de alto impacto seleccionadas por especialidad |
| Bases de datos de la FDA para investigación de fármacos, seguridad y normativa |
Consultas de ejemplo
Una vez conectado, pregunte a Claude:
"Busca en PubMed resultados sobre la dieta cetogénica en la epilepsia pediátrica"
"Encuentra ensayos en fase de reclutamiento para inmunoterapia contra el cáncer de pulmón"
"¿Qué dice la literatura sobre el veliparib en el cáncer de ovario y hay ensayos activos?"
"Encuentra ensayos en el Reino Unido y Europa para la epilepsia pediátrica a través de ISRCTN"
Inicio rápido
pip install aria-mcp-server
aria-mcp-serverConectar a Claude Desktop
Añadir a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"aria-clinical-research": {
"command": "aria-mcp-server"
}
}
}Reinicie Claude Desktop. El servidor aparecerá en Ajustes → Desarrollador → Servidores MCP locales.
Fuentes de datos
PubMed — NCBI E-utilities (API pública, no requiere clave)
ClinicalTrials.gov — API REST v2 (API pública, no requiere clave)
ISRCTN — Registro de ensayos clínicos del Reino Unido/Europa (API pública, no requiere clave)
Stack tecnológico
FastMCP — Framework de servidor MCP
Python 3.12+
Casos de uso
Investigadores de ciencias biológicas que necesitan acceso a literatura en tiempo real
Coordinadores de ensayos clínicos que verifican la elegibilidad y el estado de reclutamiento
Equipos de descubrimiento de fármacos que contrastan la evidencia publicada con ensayos activos
Cualquier agente de Claude que necesite conocimientos biomédicos fundamentados
Estructura del proyecto
aria-mcp-server/ ← root, where mcp-publisher runs
├── aria_mcp_server/ ← Python package
│ ├── __init__.py
│ ├── server.py
│ └── tools.py
├── server.json ← MCP registry metadata
├── pyproject.toml
├── README.md
├── LICENSE
└── glama.jsonCreado por
Pooja Kotecha · dinq.me/pkotecha-eng
Available Tools
3 toolssearch_clinical_trialsA
Search ClinicalTrials.gov for clinical studies. Read-only operation. No authentication required. Uses ClinicalTrials.gov v2 public API (no rate limit documented). Returns up to 10 results per call. No pagination. Returns 'No clinical trials found.' if no results match. Use for: active trials, recruiting studies, inclusion/exclusion criteria, phase information, sponsor details, and trial locations.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Trial status: RECRUITING, COMPLETED, or ALL | RECRUITING |
| condition | Yes | Disease or condition e.g. 'pediatric epilepsy', 'lung cancer' | |
| max_results | No | Number of trials to return, between 1 and 10 | |
| intervention | No | Optional drug or intervention name to narrow results |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Formatted list of trials with NCT ID, title, phase, status, sponsor, conditions, interventions, and eligibility criteria (inclusion and exclusion, listed separately). Returns 'no results' message if nothing found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses read-only, no auth required, public API with no documented rate limit, batch size (up to 10), no pagination, fallback message. Sufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a crisp list of use cases. Front-loaded with core purpose. Slightly redundant use-case list could be integrated, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values are covered. Description covers purpose, usage, behavioral details, and limitations. No gaps given the tool's simplicity and existing structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all 4 parameters. Description adds no additional semantic value beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches ClinicalTrials.gov for clinical studies. Lists specific use cases (active trials, recruiting studies, etc.). Distinguishes from sibling tools (search_isrctn, search_pubmed) by focusing on this specific database.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists what to use it for and mentions constraints (max 10 results, no pagination, no auth). Lacks explicit 'when not to use' but context is clear given siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_isrctnA
Search the ISRCTN registry for UK and European clinical trials. Read-only operation. No authentication required. Complements ClinicalTrials.gov by covering trials at UK academic institutions and European research centers not listed on ClinicalTrials.gov. Returns up to 10 results per call, filtered for relevance. Returns 'No ISRCTN trials found.' if no results match. Use for: UK/European trials, academic institution studies, international coverage beyond ClinicalTrials.gov.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Condition or search terms e.g. 'pediatric epilepsy', 'type 2 diabetes' | |
| max_results | No | Number of trials to return, between 1 and 10 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Formatted list of trials with ISRCTN ID, title, phase, status, sponsor, condition, outcomes, countries, and inclusion/exclusion criteria. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only operation, no authentication required, result limits (up to 10), relevance filtering, and empty response message. With no annotations provided, description carries full burden and does well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
4 sentences covering purpose, behavior, complementary role, and usage hints. Front-loaded and no unnecessary words, though could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, behavior, and limitations. With an output schema present, return values are presumably documented elsewhere. Sufficient for a moderate-complexity search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. Description adds minimal extra meaning (e.g., 'filtered for relevance'), but mostly restates schema info like max results limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool searches the ISRCTN registry for UK and European clinical trials, distinguishing itself from sibling tools like search_clinical_trials by explicitly noting it complements ClinicalTrials.gov coverage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: UK/European trials, academic studies, international coverage beyond ClinicalTrials.gov. Implicitly suggests alternatives by noting it complements other registries, though does not explicitly state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pubmedA
Search PubMed for peer-reviewed biomedical literature. Read-only operation. No authentication required. Uses NCBI E-utilities public API (rate limit: ~3 requests/sec). Returns up to 10 results per call. No pagination. Returns 'No papers found.' if no results match. Use for: research papers, drug mechanisms, clinical outcomes, disease studies, safety/efficacy data, biomarkers, diagnostics, and any scientific question.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query e.g. 'velarixin pediatric epilepsy phase 2' | |
| max_results | No | Number of papers to return, between 1 and 10 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Formatted list of papers with title, authors, journal, year, PMID, and abstract. Returns 'no results' message if nothing found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: read-only operation, no authentication, NCBI E-utilities API with rate limit, max 10 results, no pagination, and empty result message. This is thorough and adds significant value beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise paragraph, front-loaded with the purpose, followed by behavioral traits and usage context. Every sentence adds value with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all necessary aspects: purpose, behavioral traits, rate limits, result limits, empty result handling, and usage contexts. With an output schema present, return values are not needed. It is complete for a simple tool with two parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond what is already in the schema for the two parameters (query and max_results). It restates the max_results limit but provides no new semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches PubMed for peer-reviewed biomedical literature, with a specific verb and resource. It distinguishes from sibling tools (clinical trials, ISRCTN) by listing use cases like research papers and drug mechanisms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'Use for' list that implies contexts (research papers, drug mechanisms, clinical outcomes, etc.), but does not explicitly state when not to use or name alternative tools. The sibling context provides implicit guidance, so it is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.2.1- Changed
search_clinical_trials1 field changed- changed
Output schema / properties / result / descriptionPrevious value: -"Formatted list of trials with NCT ID, title, phase, status, sponsor, conditions, interventions, and eligibility criteria. Returns 'no results' message if nothing found."New value: +"Formatted list of trials with NCT ID, title, phase, status, sponsor, conditions, interventions, and eligibility criteria (inclusion and exclusion, listed separately). Returns 'no results' message if nothing found."
3 tool updates
v0.2.0- Changed
search_clinical_trials4 fields changed- added
Input schema / properties / condition / minLengthAdded value: +1 - added
Input schema / properties / max_results / maximumAdded value: +10 - added
Input schema / properties / max_results / minimumAdded value: +1 - added
Input schema / properties / status / enumAdded value: +[ + "RECRUITING", + "COMPLETED", + "ALL" +]
- Changed
search_isrctn4 fields changed- added
Input schema / properties / max_results / maximumAdded value: +10 - added
Input schema / properties / max_results / minimumAdded value: +1 - added
Input schema / properties / query / minLengthAdded value: +1 - changed
Output schema / properties / result / descriptionPrevious value: -"Formatted list of trials with ISRCTN ID, title, phase, status, sponsor, condition, outcomes, countries, and eligibility criteria."New value: +"Formatted list of trials with ISRCTN ID, title, phase, status, sponsor, condition, outcomes, countries, and inclusion/exclusion criteria."
- Changed
search_pubmed3 fields changed- added
Input schema / properties / max_results / maximumAdded value: +10 - added
Input schema / properties / max_results / minimumAdded value: +1 - added
Input schema / properties / query / minLengthAdded value: +1
1 tool update
v0.1.8- Added
search_isrctn
2 tool updates
v0.1.2- Changed
search_clinical_trials5 fields changed- changed
Input schema / properties / condition / descriptionPrevious value: -"Disease or condition (e.g. \"pediatric epilepsy\", \"lung cancer\")"New value: +"Disease or condition e.g. 'pediatric epilepsy', 'lung cancer'" - changed
Input schema / properties / max_results / descriptionPrevious value: -"Number of trials to return (1-10, default 5)"New value: +"Number of trials to return, between 1 and 10" - changed
Input schema / properties / status / descriptionPrevious value: -"Trial status — RECRUITING, COMPLETED, or ALL (default: RECRUITING)"New value: +"Trial status: RECRUITING, COMPLETED, or ALL" - added
Output schema / properties / result / descriptionAdded value: +"Formatted list of trials with NCT ID, title, phase, status, sponsor, conditions, interventions, and eligibility criteria. Returns 'no results' message if nothing found." - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
search_pubmed4 fields changed- changed
Input schema / properties / max_results / descriptionPrevious value: -"Number of papers to return (1-10, default 5)"New value: +"Number of papers to return, between 1 and 10" - changed
Input schema / properties / query / descriptionPrevious value: -"Search query (e.g. \"velarixin pediatric epilepsy phase 2\")"New value: +"Search query e.g. 'velarixin pediatric epilepsy phase 2'" - added
Output schema / properties / result / descriptionAdded value: +"Formatted list of papers with title, authors, journal, year, PMID, and abstract. Returns 'no results' message if nothing found." - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
2 tool updates
- First observed
search_clinical_trials - First observed
search_pubmed
TDQS
Scored across 3 tools
Each tool targets a distinct data source: PubMed (literature), ClinicalTrials.gov (global trials), and ISRCTN (UK/European trials). The descriptions include specific use cases and overlap is minimal, so an agent can easily select the appropriate tool.
All tools follow a clear 'search_<source>' pattern, making the naming perfectly consistent and predictable. The verb 'search' is used uniformly with the database name as the object.
Three tools are appropriate for a search-focused server covering the key biomedical research databases. Each tool provides a distinct and essential capability without unnecessary bloat.
The server covers the main sources for biomedical literature and clinical trials, but lacks other registries (e.g., EU-CTR, WHO ICTRP). Minor gaps exist, but the core search workflows are well covered and agents can work around them.
Maintenance
Related MCP Connectors
ClinicalTrials MCP — wraps ClinicalTrials.gov API v2 (free, no auth)
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
PubMed MCP — wraps the NCBI E-utilities API (biomedical literature, free, no auth)
Search 36M+ PubMed biomedical articles and ClinicalTrials.gov studies.
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides access to the ClinicalTrials.gov API, enabling search, analysis, and retrieval of clinical trial data through MCP tools.178-
- AlicenseAqualityFmaintenanceEnables conversational access to 400,000+ clinical trials on ClinicalTrials.gov, allowing users to search, compare, and retrieve trial details using plain English through MCP-compatible clients like Cursor and Claude Desktop.53MIT
- FlicenseNot gradedqualityCmaintenanceA production-quality MCP server that wraps the ClinicalTrials.gov v2 API, providing structured, TTL-cached access to trial data worldwide and Turkey via 4 MCP tools.-
- AlicenseAqualityCmaintenanceA lightweight MCP server for clinical biomedical literature retrieval, enabling PubMed search, article metadata, full-text access, and evidence summarization through MCP-compatible clients.10MIT