Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
get_instructions | |
get_researcher |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
search | Search biomedical literature, clinical trials, and genetic variants. ⚠️ IMPORTANT: Have you used the 'think' tool first? If not, STOP and use it NOW!
The 'think' tool is REQUIRED for proper research planning and should be your FIRST step.
This tool provides access to biomedical data from PubMed/PubTator3, ClinicalTrials.gov,
and MyVariant.info. It supports two search modes:
## 1. UNIFIED QUERY LANGUAGE
Use the 'query' parameter with field-based syntax for precise cross-domain searches.
Syntax:
- Basic: "gene:BRAF"
- AND logic: "gene:BRAF AND disease:melanoma"
- OR logic: "gene:PTEN AND (R173 OR Arg173 OR 'position 173')"
- Domain-specific: "trials.condition:melanoma AND trials.phase:3"
Common fields:
- Cross-domain: gene, disease, variant, chemical/drug
- Articles: pmid, title, abstract, journal, author
- Trials: trials.condition, trials.intervention, trials.phase, trials.status
- Variants: variants.hgvs, variants.rsid, variants.significance
Example:
```
await search(
query="gene:BRAF AND disease:melanoma AND trials.phase:3",
max_results_per_domain=20
)
```
## 2. DOMAIN-SPECIFIC SEARCH
Use the 'domain' parameter with specific filters for targeted searches.
Domains:
- "article": Search PubMed/PubTator3 for research articles and preprints ABOUT genes, variants, diseases, or chemicals
- "trial": Search ClinicalTrials.gov for clinical studies
- "variant": Search MyVariant.info for genetic variant DATABASE RECORDS (population frequency, clinical significance, etc.) - NOT for articles about variants!
Example:
```
await search(
domain="article",
genes=["BRAF", "NRAS"],
diseases=["melanoma"],
page_size=50
)
```
## DOMAIN SELECTION EXAMPLES:
- To find ARTICLES about BRAF V600E mutation: domain="article", genes=["BRAF"], variants=["V600E"]
- To find VARIANT DATA for BRAF mutations: domain="variant", gene="BRAF"
- To find articles about ERBB2 p.D277Y: domain="article", genes=["ERBB2"], variants=["p.D277Y"]
- Common mistake: Using domain="variant" when you want articles about a variant
## IMPORTANT NOTES:
- For complex research questions, use the separate 'think' tool for systematic analysis
- The tool returns results in OpenAI MCP format: {"results": [{"id", "title", "text", "url"}, ...]}
- Search results do NOT include metadata (per OpenAI MCP specification)
- Use the fetch tool to get detailed metadata for specific records
- Use get_schema=True to explore available search fields
- Use explain_query=True to understand query parsing (unified mode)
- Domain-specific searches use AND logic for multiple values
- For OR logic, use the unified query language
- NEW: Article search keywords support OR with pipe separator: "R173|Arg173|p.R173"
- Remember: domain="article" finds LITERATURE, domain="variant" finds DATABASE RECORDS
## RETURN FORMAT:
All search modes return results in this format:
```json
{
"results": [
{
"id": "unique_identifier",
"title": "Human-readable title",
"text": "Summary or snippet of content",
"url": "Link to full resource"
}
]
}
``` |
fetch | Fetch comprehensive details for a specific biomedical record. This tool retrieves full information for articles, clinical trials, or genetic variants
using their unique identifiers. It returns data in a standardized format suitable for
detailed analysis and research.
## IDENTIFIER FORMATS:
- Articles: PMID (PubMed ID) - e.g., "35271234" OR DOI - e.g., "10.1101/2024.01.20.23288905"
- Trials: NCT ID (ClinicalTrials.gov ID) - e.g., "NCT04280705"
- Variants: HGVS notation or dbSNP ID - e.g., "chr7:g.140453136A>T" or "rs121913254"
The domain is automatically detected from the ID format if not provided:
- NCT* → trial
- Contains "/" with numeric prefix (DOI) → article
- Pure numeric → article (PMID)
- rs* or contains ':' or 'g.' → variant
## DOMAIN-SPECIFIC OPTIONS:
### Articles (domain="article"):
- Returns full article metadata, abstract, and full text when available
- Supports both PubMed articles (via PMID) and Europe PMC preprints (via DOI)
- Includes annotations for genes, diseases, chemicals, and variants (PubMed only)
- detail="full" attempts to retrieve full text content (PubMed only)
### Clinical Trials (domain="trial"):
- detail=None or "protocol": Core study information
- detail="locations": Study sites and contact information
- detail="outcomes": Primary/secondary outcomes and results
- detail="references": Related publications and citations
- detail="all": Complete trial record with all sections
### Variants (domain="variant"):
- Returns comprehensive variant information including:
- Clinical significance and interpretations
- Population frequencies
- Gene/protein effects
- External database links
- detail parameter is ignored (always returns full data)
## RETURN FORMAT:
All fetch operations return a standardized format:
```json
{
"id": "unique_identifier",
"title": "Record title or name",
"text": "Full content or comprehensive description",
"url": "Link to original source",
"metadata": {
// Domain-specific additional fields
}
}
```
## EXAMPLES:
Fetch article by PMID (domain auto-detected):
```
await fetch(id="35271234")
```
Fetch article by DOI (domain auto-detected):
```
await fetch(id="10.1101/2024.01.20.23288905")
```
Fetch complete trial information (domain auto-detected):
```
await fetch(
id="NCT04280705",
detail="all"
)
```
Fetch variant with clinical interpretations:
```
await fetch(id="rs121913254")
```
Explicitly specify domain (optional):
```
await fetch(
domain="variant",
id="chr7:g.140453136A>T"
)
``` |
think | REQUIRED FIRST STEP: Perform structured sequential thinking for ANY biomedical research task. 🚨 IMPORTANT: You MUST use this tool BEFORE any search or fetch operations when:
- Researching ANY biomedical topic (genes, diseases, variants, trials)
- Planning to use multiple BioMCP tools
- Answering questions that require analysis or synthesis
- Comparing information from different sources
- Making recommendations or drawing conclusions
⚠️ FAILURE TO USE THIS TOOL FIRST will result in:
- Incomplete or poorly structured analysis
- Missing important connections between data
- Suboptimal search strategies
- Overlooked critical information
Sequential thinking ensures you:
1. Fully understand the research question
2. Plan an optimal search strategy
3. Identify all relevant data sources
4. Structure your analysis properly
5. Deliver comprehensive, well-reasoned results
## Usage Pattern:
1. Start with thoughtNumber=1 to initiate analysis
2. Progress through numbered thoughts sequentially
3. Adjust totalThoughts estimate as understanding develops
4. Set nextThoughtNeeded=False only when analysis is complete
## Example:
```python
# Initial analysis
await think(
thought="Breaking down the relationship between BRAF mutations and melanoma treatment resistance...",
thoughtNumber=1,
totalThoughts=5,
nextThoughtNeeded=True
)
# Continue analysis
await think(
thought="Examining specific BRAF V600E mutation mechanisms...",
thoughtNumber=2,
totalThoughts=5,
nextThoughtNeeded=True
)
# Final thought
await think(
thought="Synthesizing findings and proposing research directions...",
thoughtNumber=5,
totalThoughts=5,
nextThoughtNeeded=False
)
```
## Important Notes:
- Each thought builds on previous ones within a session
- State is maintained throughout the MCP session
- Use thoughtful, detailed analysis in each step
- Revisions and branching are supported through the underlying implementation |
article_searcher | Search PubMed/PubTator3 for research articles and preprints. ⚠️ PREREQUISITE: Use the 'think' tool FIRST to plan your research strategy!
Use this tool to find scientific literature ABOUT genes, variants, diseases, or chemicals.
Results include articles from PubMed and optionally preprints from bioRxiv/medRxiv.
Important: This searches for ARTICLES ABOUT these topics, not database records.
For genetic variant database records, use variant_searcher instead.
Example usage:
- Find articles about BRAF mutations in melanoma
- Search for papers on a specific drug's effects
- Locate research on gene-disease associations |
article_getter | Fetch detailed information for a specific article. Retrieves the full abstract and available text for an article by its identifier.
Supports:
- PubMed IDs (PMID) for published articles
- PMC IDs for articles in PubMed Central
- DOIs for preprints from Europe PMC
Returns formatted text including:
- Title
- Abstract
- Full text (when available from PMC for published articles)
- Source information (PubMed or Europe PMC) |
trial_searcher | Search ClinicalTrials.gov for clinical studies. ⚠️ PREREQUISITE: Use the 'think' tool FIRST to plan your research strategy!
Comprehensive search tool for finding clinical trials based on multiple criteria.
Supports filtering by conditions, interventions, location, phase, and eligibility.
Location search notes:
- Use either location term OR lat/long coordinates, not both
- For city-based searches, AI agents should geocode to lat/long first
- Distance parameter only works with lat/long coordinates
Returns a formatted list of matching trials with key details. |
trial_getter | Fetch comprehensive details for a specific clinical trial. Retrieves all available information for a clinical trial by its NCT ID.
This includes protocol details, locations, outcomes, and references.
For specific sections only, use the specialized getter tools:
- trial_protocol_getter: Core protocol information
- trial_locations_getter: Site locations and contacts
- trial_outcomes_getter: Primary/secondary outcomes and results
- trial_references_getter: Publications and references |
trial_protocol_getter | Fetch core protocol information for a clinical trial. Retrieves essential protocol details including:
- Official title and brief summary
- Study status and sponsor information
- Study design (type, phase, allocation, masking)
- Eligibility criteria
- Primary completion date |
trial_references_getter | Fetch publications and references for a clinical trial. Retrieves all linked publications including:
- Published results papers
- Background literature
- Protocol publications
- Related analyses
Includes PubMed IDs when available for easy cross-referencing. |
trial_outcomes_getter | Fetch outcome measures and results for a clinical trial. Retrieves detailed outcome information including:
- Primary outcome measures
- Secondary outcome measures
- Results data (if available)
- Adverse events (if reported)
Note: Results are only available for completed trials that have posted data. |
trial_locations_getter | Fetch contact and location details for a clinical trial. Retrieves all study locations including:
- Facility names and addresses
- Principal investigator information
- Contact details (when recruiting)
- Recruitment status by site
Useful for finding trials near specific locations or contacting study teams. |
variant_searcher | Search MyVariant.info for genetic variant DATABASE RECORDS. ⚠️ PREREQUISITE: Use the 'think' tool FIRST to plan your research strategy!
Important: This searches for variant DATABASE RECORDS (frequency, significance, etc.),
NOT articles about variants. For articles about variants, use article_searcher.
Searches the comprehensive variant database including:
- Population frequencies (gnomAD, 1000 Genomes, etc.)
- Clinical significance (ClinVar)
- Functional predictions (SIFT, PolyPhen, CADD)
- Gene and protein consequences
Search by various identifiers or filter by clinical/functional criteria. |
variant_getter | Fetch comprehensive details for a specific genetic variant. Retrieves all available information for a variant including:
- Gene location and consequences
- Population frequencies across databases
- Clinical significance from ClinVar
- Functional predictions
- External annotations (TCGA cancer data, conservation scores)
Accepts various ID formats:
- HGVS: NM_004333.4:c.1799T>A
- rsID: rs113488022
- MyVariant ID: chr7:g.140753336A>T |
alphagenome_predictor | Predict variant effects on gene regulation using Google DeepMind's AlphaGenome. ⚠️ PREREQUISITE: Use the 'think' tool FIRST to plan your analysis strategy!
AlphaGenome provides state-of-the-art predictions for how genetic variants
affect gene regulation, including:
- Gene expression changes (RNA-seq)
- Chromatin accessibility impacts (ATAC-seq, DNase-seq)
- Splicing alterations
- Promoter activity changes (CAGE)
This tool requires:
1. AlphaGenome to be installed (see error message for instructions)
2. An API key from https://deepmind.google.com/science/alphagenome
API Key Options:
- Provide directly via the api_key parameter
- Or set ALPHAGENOME_API_KEY environment variable
Example usage:
- Predict regulatory effects of BRAF V600E mutation: chr7:140753336 A>T
- Assess non-coding variant impact on gene expression
- Evaluate promoter variants in specific tissues
Note: This is an optional tool that enhances variant interpretation
with AI predictions. Standard annotations remain available via variant_getter. |