biomcpCertified
biomcp is hosted online, so all tools can be tested directly either in theTools 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.
BioMCP is a toolkit that empowers AI systems with specialized biomedical knowledge by connecting them to authoritative data sources. It is built on the Model Context Protocol (MCP) and provides structured access to clinical trials, biomedical literature, and genomic variants. BioMCP enables natural language queries to specialized databases, supporting biomedical research workflows through a consistent interface. It functions as an MCP server for AI assistants and agents, bridging the gap between general knowledge and specialized domain-specific information. BioMCP integrates with key biomedical data sources such as PubTator3/PubMed, ClinicalTrials.gov, and MyVariant.info, providing comprehensive access to biomedical literature, clinical trials, and genetic variant annotations.
Features
- Structured access to clinical trials, biomedical literature, and genomic variants.
- Natural language queries to specialized databases without requiring specific syntax knowledge.
- Consistent interface supporting biomedical research workflows.
- Functions as an MCP server for AI assistants and agents.
- Integration with key biomedical data sources like PubTator3/PubMed, ClinicalTrials.gov, and MyVariant.info.
Tools
search
Search biomedical literature, clinical trials, and genetic variants with integrated AI reasoning.
This tool provides comprehensive access to biomedical data from PubMed/PubTator3, ClinicalTrials.gov, and MyVariant.info. It supports three powerful search modes: ## 1. SEQUENTIAL THINKING MODE (Recommended for Complex Queries) Use domain="thinking" to engage systematic AI reasoning before searching. This is ESSENTIAL for complex biomedical research questions. Example: ``` await search( domain="thinking", thought="I need to analyze the relationship between BRAF mutations and melanoma treatment options...", thoughtNumber=1, totalThoughts=3, nextThoughtNeeded=True ) ``` ## 2. 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 ) ``` ## 3. DOMAIN-SPECIFIC SEARCH Use the 'domain' parameter with specific filters for targeted searches. Domains: - "article": Search PubMed/PubTator3 for research articles and preprints - "trial": Search ClinicalTrials.gov for clinical studies - "variant": Search MyVariant.info for genetic variants Example: ``` await search( domain="article", genes=["BRAF", "NRAS"], diseases=["melanoma"], page_size=50 ) ``` ## IMPORTANT NOTES: - ALWAYS start with sequential thinking (domain="thinking") for research questions - 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 ## 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" - 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" ) ```