Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port number on which to run the server when in PRODUCTION mode | 8000 |
| MCP_ENVIRONMENT | No | Environment setting for the server, can be set to PRODUCTION or DEVELOPMENT |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bc_get_uniprot_id_by_protein_symbol | Retrieve UniProt accession ID from protein name and species. Returns the primary accession or None if not found. Returns: str or None: UniProt accession ID string (e.g., 'P04637') or None if not found. |
| bc_get_uniprot_protein_info | Retrieve protein information from UniProt database. Provide at least one of protein_id, protein_name, or gene_symbol. Returns: dict: Protein information with accession, proteinDescription, genes, organism, sequence, functions, keywords, references or error message. |
| bc_get_alphafold_info_by_protein_symbol | Query AlphaFold database using protein name. First converts protein symbol to UniProt ID, then fetches structure predictions. Returns: dict: AlphaFold prediction data including PDB/CIF file URLs, confidence scores, and metadata or error message. |
| bc_get_antibody_information | Get detailed antibody information by ID. Retrieves catalog number, vendor, clonality, epitope, applications, and more. Returns: dict: Antibody details including abId, catalog numbers, vendor, clonality, epitope, applications, target species, isotype, citations or error message. |
| bc_get_antibody_list | Search Antibody Registry for antibodies. Returns catalog numbers, vendors, clonality, applications, and metadata. Returns: dict: Search results containing list of antibodies with catalog numbers, vendors, clonality, applications, metadata or error message. |
| bc_get_biorxiv_preprint_details | Get detailed preprint metadata by DOI. Retrieves title, authors, abstract, date, version, category, license, and publication status. Returns: dict: Preprint metadata including doi, title, authors, abstract, date, version, category, license, publication status or error message. |
| bc_get_recent_biorxiv_preprints | Search bioRxiv/medRxiv preprints by date range or recent count. Specify one search method: date range, days, or recent_count. Returns: dict: Search results with server, search_params, total_returned, papers list (each with title, authors, abstract, metadata), pagination info or error message. |
| bc_get_recruiting_studies_by_location | Find recruiting clinical trials by geographic location. Returns paginated results with summary breakdowns. Returns: dict: Studies list with summary containing search location, total studies, study type/phase/condition breakdowns, recruiting locations or error message. |
| bc_get_studies_by_condition | Search trials by condition with summary statistics. Returns paginated results with breakdowns by status, study type, and phase. Returns: dict: Studies list with summary containing condition searched, total studies, status/study type/phase breakdowns or error message. |
| bc_get_studies_by_intervention | Search trials by intervention with condition and phase filters. Returns paginated results with breakdowns. Returns: dict: Studies list with summary containing intervention searched, total studies, status/phase breakdowns, top conditions/sponsors or error message. |
| bc_get_study_details | Get complete trial details by NCT ID. Retrieves study design, eligibility, outcomes, locations, contacts, and metadata. Returns: dict: Study details with protocol sections including identification, status, sponsors, description, conditions, design, interventions, outcomes, eligibility, locations or error message. |
| bc_search_studies | Advanced search for trials with flexible multi-field filtering. Specify at least one search parameter. Returns: dict: Paginated search results containing studies list with trial metadata or error message. |
| bc_get_ensembl_id_from_gene_symbol | Get Ensembl gene ID from gene symbol. Returns the stable Ensembl ID (ENSG*) for the given gene symbol and species. Returns: dict: Ensembl gene ID in format {'ensembl_id': 'ENSG...'} or error message. |
| bc_get_europepmc_articles | Search Europe PMC articles by query, title, abstract, or author. Combine search terms with 'and'/'or' logic. Returns: dict: Search results with resultList containing articles (title, authors, abstract, journal, PMC/DOI IDs) or error message. |
| bc_get_europepmc_fulltext | Get full-text XML for a PMC ID. Returns the complete article XML for processing and analysis. Returns: dict: Full-text XML content in format {'fulltext_xml': '...'} or error message. |
| bc_search_grants_gov | Search grants.gov by keyword, agency, or other criteria. Returns opportunity listings with deadlines and eligibility. Returns: dict: Grant opportunities list with titles, agencies, deadlines, funding amounts, eligibility criteria or error message. |
| bc_get_interpro_entry | Get InterPro entry details (family, domain, or functional site). Returns metadata from member databases like PFAM, PROSITE. Returns: dict: Entry metadata including name, type, description, member databases, optionally interactions/pathways/cross-references or error message. |
| bc_get_protein_domains | Get protein domain architecture and InterPro matches. Returns all InterPro domains, functional sites, and domain architecture. Returns: dict: Protein metadata with interpro_matches array, interpro_match_count, domain_architecture, optionally structure data or error message. |
| bc_search_interpro_entries | Search InterPro entries by name, type, database, GO term, or species. Returns matching entries with metadata. Returns: dict: Search results with results array (InterPro entries), count, total_available, search_criteria or error message. |
| bc_get_available_ontologies | Query OLS for all available ontologies with their metadata. Use this first to discover available ontologies. Returns: dict: Ontologies list with id, name, description, prefix, homepage, number of terms, status or error message. |
| bc_get_cell_ontology_terms | Search OLS for Cell Ontology (CL) terms using a controlled vocabulary for cell types. Returns: dict: Cell ontology terms with cl_terms array containing id, label, definition, synonyms or error message. |
| bc_get_chebi_terms_by_chemical | Search OLS for ChEBI (Chemical Entities of Biological Interest) terms for a chemical or drug name. Returns: dict: ChEBI terms with chebi_terms array containing id, label, description, synonyms or error message. |
| bc_get_efo_id_by_disease_name | Search OLS for EFO/Mondo/HP IDs related to a disease name. Use this to get EFO IDs for Open Targets queries. Returns: dict: EFO IDs with efo_ids array containing id, label, description or error message. |
| bc_get_go_terms_by_gene | Search OLS for Gene Ontology (GO) terms related to a gene name using structured vocabularies. Returns: dict: GO terms with go_terms array containing id, label, description, type or error message. |
| bc_get_term_details | Get comprehensive details about a specific ontology term including definition, synonyms, hierarchical relationships. Returns: dict: Term details with id, label, definition, synonyms, hierarchical info, num_descendants or error message. |
| bc_get_term_hierarchical_children | Get hierarchical children of an ontology term from OLS. Includes subclasses and hierarchical properties. Returns: dict: Parent term, hierarchical_children array with id/label/definition, total_children, page_info or error message. |
| bc_search_ontology_terms | Search for terms across multiple ontologies in OLS. Use get_available_ontologies() first to discover ontologies. Returns: dict: Terms array, terms_by_ontology grouped results, total_results, ontologies_found list or error message. |
| bc_get_available_pharmacologic_classes | Get available pharmacologic classes from FDA database. Call this first to see available options. Returns: dict: Class type, field, available_classes array with term/count, total_found or error message. |
| bc_search_drugs_by_therapeutic_class | Search for drugs by therapeutic or pharmacologic class. Use get_available_pharmacologic_classes() first for exact terms. Returns: dict: FDA drug results array with application info, products, sponsor names or error message. |
| bc_get_generic_equivalents | Find generic equivalents for a brand name drug. Searches ANDA entries with matching active ingredients. Returns: dict: Brand drug info, generic_equivalents array, total_generics_found count or error message. |
| bc_count_drugs_by_field | Count unique values in a field across FDA-approved drugs. Useful for statistical analysis. Returns: dict: Results array with term and count for each unique value or error message. |
| bc_get_drug_statistics | Get general statistics about the FDA Drugs@FDA database. Includes top sponsors, dosage forms, routes, marketing status. Returns: dict: Top sponsors, dosage_forms, administration_routes, marketing_statuses with counts or error message. |
| bc_get_drug_by_application_number | Get detailed information about an FDA-approved drug by application number. Format: NDA/ANDA/BLA followed by 6 digits. Returns: dict: FDA drug results with application details, products, sponsor information or error message. |
| bc_get_drug_label_info | Get comprehensive drug labeling information from FDA. Includes active ingredients, dosage forms, administration routes. Returns: dict: Drug label results with indications, warnings, dosage, active ingredients or error message. |
| bc_search_drugs_fda | Search FDA Drugs@FDA database for approved drug products. Supports multiple search criteria. Returns: dict: Results array with drug products including application numbers, sponsors, products array or error message. |
| bc_get_open_targets_graphql_schema | Retrieve the Open Targets GraphQL schema for query construction. Returns: dict: Schema string in format {'schema': '...'} containing GraphQL type definitions or error message. |
| bc_get_open_targets_query_examples | Retrieve example GraphQL queries for the Open Targets API. Examples demonstrate common use cases. Returns: dict: Example queries mapped by category (informationForTarget, drugsForTarget, associatedDiseases, etc.) with GraphQL query strings. |
| bc_query_open_targets_graphql | Execute GraphQL queries against the Open Targets API. Use get_open_targets_query_examples() or get_open_targets_graphql_schema() first. Returns: dict: GraphQL response with data field containing targets, diseases, drugs, variants, studies or error message. |
| bc_get_panglaodb_marker_genes | Retrieve marker genes from PanglaoDB dataset with optional filters. Supports filtering by species, scores, organ, cell type, gene symbol. Returns: dict: Markers array with gene symbols, cell types, organs, sensitivity/specificity scores or error message. |
| bc_get_panglaodb_options | Retrieve available filter options for PanglaoDB marker genes. Returns unique values for organs and cell types. Returns: dict: Lists of unique organ and cell_type values available in PanglaoDB dataset or error message. |
| bc_get_pride_project | Retrieve detailed information about a specific PRIDE mass spectrometry proteomics project. Returns metadata and experimental details. Returns: dict: Project details with accession, title, description, organisms, instruments, publications, optionally files/similar_projects or error message. |
| bc_search_pride_projects | Search PRIDE database for mass spectrometry proteomics projects using keywords and filters. Returns: dict: Results array with project accessions, titles, descriptions, organisms, instruments, experiment types, count, search_criteria or error message. |
| bc_search_pride_proteins | Search for proteins identified in a specific PRIDE mass spectrometry project. Useful for finding specific proteins in proteomics datasets. Returns: dict: Proteins list with accessions, names, genes, sequences, modifications, associated projects or error message. |
| bc_get_human_protein_atlas_info | Retrieve Human Protein Atlas information including expression, localization, and pathology data. Provide either gene_id or gene_symbol. Returns: dict: Protein atlas data with tissue_expression, subcellular_location, pathology, antibodies, RNA/protein levels or error message. |
| bc_get_reactome_info_by_identifier | Query the Reactome API identifier endpoint. Use this endpoint to retrieve pathways associated with a given identifier. Always provide the species parameter to ensure the correct protein is returned. Args: identifier (str): The identifier of the element to be retrieved base_url (str): Base URL for the Reactome API interactors (bool): Include interactors species (str or list): List of species to filter the result (accepts taxonomy ids, species names and dbId) page_size (int): Pathways per page page (int): Page number sort_by (str): Field to sort results by (e.g., "ENTITIES_PVALUE", "ENTITIES_FDR") order (str): Sort order ("ASC" or "DESC") resource (str): Resource to filter by (TOTAL includes all molecule types) p_value (float): P-value threshold (only pathways with p-value <= threshold will be returned) include_disease (bool): Set to False to exclude disease pathways min_entities (int): Minimum number of contained entities per pathway max_entities (int): Maximum number of contained entities per pathway importable_only (bool): Filter to only include importable resources timeout (int): Request timeout in seconds Returns: dict: API response data or error information |
| bc_get_string_id | Map protein identifiers (gene names, synonyms, UniProt IDs) to STRING database IDs. Using STRING IDs improves reliability. Returns: str or dict: STRING ID string (e.g., '9606.ENSP00000269305') or dict with error message. |
| bc_get_string_interactions | Retrieve protein-protein interactions for a given protein with scores above threshold. Always provide species parameter. Returns: list or dict: Protein interactions array with stringId_A, stringId_B, preferredName_A/B, score, evidence channels or error message. |
| bc_get_string_network_image | Generate protein-protein interaction network image from STRING database. Always provide species parameter. Returns: Image or dict: Network visualization as PNG image object or error message. |
| bc_get_string_similarity_scores | Retrieve protein homology similarity scores from STRING database based on Smith-Waterman bit scores. Only scores above 50 reported. Returns: list or dict: Similarity scores array with stringId_A, stringId_B, bitscore or error message. |
| bc_get_kegg_id_by_gene_symbol | Convert gene symbol to KEGG ID for use in subsequent API calls. Returns KEGG gene ID required for query_kegg(). Returns: str or dict: KEGG gene ID string (e.g., 'hsa:7157') or error dict. |
| bc_query_kegg | Execute flexible KEGG API queries across pathways, genes, compounds, diseases, drugs. Use get_kegg_id_by_gene_symbol() first. Returns: str or dict: Raw text response from KEGG API with requested data (pathways, genes, compounds, etc.) or error dict. |
| bc_search_google_scholar_publications | Search Google Scholar for publications with support for author search using 'author:"Name"' syntax. WARNING: Use responsibly, may block excessive queries. Returns: dict: Publications list with title, authors, venue, year, citations, abstract, bib entry or error message. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |