aria-mcp-server
🧬 ARIA Clinical Research MCP Server
Автономный MCP-сервер, который предоставляет любому агенту Claude доступ в реальном времени к биомедицинской литературе и клиническим исследованиям — API-ключи не требуются.
Инструменты
Инструмент | Описание |
| Поиск по более чем 35 млн рецензируемых статей через NCBI E-utilities |
| Поиск по более чем 400 тыс. исследований через API ClinicalTrials.gov v2 |
| Поиск по исследованиям в Великобритании/Европе через реестр ISRCTN |
Related MCP server: clinicaltrials-mcp
Промпты
Промпт | Описание |
| Комплексные данные и краткий обзор исследований по заболеванию |
| Структурированный анализ нежелательных явлений и профиля безопасности препарата |
| Оценка соответствия пациента критериям для участия в текущих исследованиях |
Ресурсы
Ресурс | Описание |
| Обзор возможностей ARIA и источников данных |
| Определения фаз I–IV и особые статусы FDA |
| Курируемый список высокорейтинговых журналов по специальностям |
| Базы данных FDA для исследований лекарственных средств, безопасности и нормативно-правовой базы |
Примеры запросов
После подключения спросите Claude:
"Search PubMed for ketogenic diet pediatric epilepsy outcomes"
"Find recruiting trials for lung cancer immunotherapy"
"What does the literature say about veliparib in ovarian cancer, and are there active trials?"
"Find UK and European trials for pediatric epilepsy via ISRCTN"
Быстрый старт
pip install aria-mcp-server
aria-mcp-serverПодключение к Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"aria-clinical-research": {
"command": "aria-mcp-server"
}
}
}Перезапустите Claude Desktop. Сервер появится в разделе Settings → Developer → Local MCP Servers.
Источники данных
PubMed — NCBI E-utilities (публичный API, ключ не требуется)
ClinicalTrials.gov — REST API v2 (публичный API, ключ не требуется)
ISRCTN — Реестр клинических исследований Великобритании/Европы (публичный API, ключ не требуется)
Технологический стек
FastMCP — фреймворк для MCP-серверов
Python 3.12+
Варианты использования
Исследователи в области медико-биологических наук, которым нужен доступ к литературе в реальном времени
Координаторы клинических исследований, проверяющие критерии участия и статус набора пациентов
Команды по разработке лекарств, сопоставляющие опубликованные данные с текущими исследованиями
Любой агент Claude, которому требуются обоснованные биомедицинские знания
Структура проекта
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.jsonРазработчик
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