Skip to main content
Glama
biocontext-ai

BioContextAI Knowledgebase MCP

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort number on which to run the server when in PRODUCTION mode8000
MCP_ENVIRONMENTNoEnvironment setting for the server, can be set to PRODUCTION or DEVELOPMENT

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/biocontext-ai/knowledgebase-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server