biomcp
biomcp is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
BioMCP is an open-source toolkit designed to enhance AI assistants with specialized biomedical knowledge by connecting them to authoritative biomedical data sources.
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 - 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" } ] } ```
Try it
Result:
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" - Trials: NCT ID (ClinicalTrials.gov ID) - e.g., "NCT04280705" - Variants: HGVS notation or dbSNP ID - e.g., "chr7:g.140453136A>T" or "rs121913254" ## DOMAIN-SPECIFIC OPTIONS: ### Articles (domain="article"): - Returns full article metadata, abstract, and full text when available - Includes annotations for genes, diseases, chemicals, and variants - detail="full" attempts to retrieve full text content ### 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 with annotations: ``` await fetch( domain="article", id_="35271234" ) ``` Fetch complete trial information: ``` await fetch( domain="trial", id_="NCT04280705", detail="all" ) ``` Fetch variant with clinical interpretations: ``` await fetch( domain="variant", id_="rs121913254" ) ```
Try it
Result:
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
Try it
Result:
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
Try it
Result:
article_getter
Fetch detailed information for a specific PubMed article. Retrieves the full abstract and available text for a PubMed article by its ID. Supports both PMID and PMC IDs. Returns formatted text including: - Title - Abstract - Full text (when available from PMC)
Try it
Result:
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.
Try it
Result:
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
Try it
Result:
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
Try it
Result:
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.
Try it
Result:
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.
Try it
Result:
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.
Try it
Result:
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.
Try it
Result:
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