Skip to content

Configuration Reference

This page classifies supported operator runtime configuration separately from internal fixture overrides and release/install variables.

Operator API Keys

Variable Purpose
ALPHAGENOME_API_KEY Enables get variant <id> predict
DISGENET_API_KEY Enables gene/disease disgenet sections
NCBI_API_KEY Improves NCBI E-utilities quota for ClinVar, PubMed, PubTator, PMC OA, and ID Converter paths
NCI_API_KEY Enables trial operations with --source nci
ONCOKB_TOKEN Enables the explicit variant oncokb <id> helper
OPENFDA_API_KEY Improves OpenFDA quota headroom
S2_API_KEY Enables authenticated Semantic Scholar quota
UMLS_API_KEY Enables optional discover cross-vocabulary enrichment

Operator Data and Cache Knobs

Variable or file Purpose
BIOMCP_CACHE_DIR Overrides the BioMCP cache root
BIOMCP_CACHE_MODE Cache behavior; infinite is used for local replay/spec cache hits
BIOMCP_CACHE_MAX_AGE Optional cache age limit, as a positive integer number of seconds
BIOMCP_CACHE_MAX_SIZE Optional cache size limit
BIOMCP_CACHE_MIN_DISK_FREE Minimum free disk budget before cache eviction
BIOMCP_DEFAULT_ASSEMBLY Preferred genome assembly when a source returns equally supported GRCh37 and GRCh38 identities; accepts GRCh37 or GRCh38 and defaults to GRCh38
BIOMCP_STUDY_DIR Local cBioPortal-style study dataset root
BIOMCP_DDINTER_DIR Local DDInter download bundle root
BIOMCP_EMA_DIR Local EMA human-medicines download root
BIOMCP_WHO_DIR Local WHO Prequalification download root
BIOMCP_CVX_DIR Local CDC CVX/MVX download root
BIOMCP_GTR_DIR Local GTR download root
BIOMCP_GENCC_DIR Private durable GenCC normalized-dataset root; defaults to the platform data directory under biomcp/gencc
BIOMCP_WHO_IVD_DIR Local WHO IVD download root
cache.toml Persistent cache defaults under the resolved config root
RUST_LOG stderr tracing filter; default CLI behavior is quiet, and tools/biomcp-ci sets error

Cache runtime precedence is environment, then cache.toml, then built-in default. The resolved root contains the managed HTTP response cache in http/ and the ten-minute article-search loop-breaker records in sessions/. Cache reads, writes, statistics, and maintenance physically remove entries older than max_age_secs; opening the session store removes expired sessions. Managed directories and files are private to the current OS user. BioMCP repairs overly broad permissions inside the managed root and refuses linked regular files rather than risking access through another pathname. The global --no-cache flag bypasses these HTTP and session stores completely for one invocation. It does not override explicit output paths or provider retention. In particular, it neither deletes nor force-refreshes the GenCC durable dataset; use biomcp gencc sync for explicit revalidation. BIOMCP_CACHE_MAX_AGE overrides [cache].max_age_secs; both values are positive integer seconds.

Internal and Measurement Controls

Variable Purpose
BIOMCP_GENE_GET_STRATEGY Internal gene retrieval strategy control used for measurement and rollout comparisons
BIOMCP_GENE_OPTIONAL_TIMEOUT_MS Internal timeout, in milliseconds, for optional gene enrichment branches
BIOMCP_GENE_TIMING_PATH Internal measurement output path; when set, gene retrieval may write a local JSON timing report to that caller-provided path

Test and Fixture Override Seams

BIOMCP_*_BASE, BIOMCP_*_URL, and fixture process variables are internal fixture overrides unless this page lists them in an operator section. They let BioMCP's own verification harness redirect a source to a local server or fixture file. Do not treat those base-URL overrides as stable operator API.

Known examples include BIOMCP_CSPEC_FIXTURE_ORIGIN (an exact loopback origin for the runner-owned CSpec fixture), BIOMCP_ALPHAGENOME_BASE, BIOMCP_CANCERHOTSPOTS_BASE, BIOMCP_CBIOPORTAL_BASE, BIOMCP_CBIOPORTAL_DATAHUB_BASE, BIOMCP_CHEMBL_BASE, BIOMCP_CIVIC_BASE, BIOMCP_CLINVAR_BASE, BIOMCP_CLINGEN_BASE, BIOMCP_CLINGEN_CAR_BASE, BIOMCP_CLINGEN_EREPO_BASE, BIOMCP_COMPLEXPORTAL_BASE, BIOMCP_CPIC_BASE, BIOMCP_CTGOV_BASE, BIOMCP_CTGOV_CDN_BASE, BIOMCP_DBSNP_BASE, BIOMCP_DGIDB_BASE, BIOMCP_DISGENET_BASE, BIOMCP_EMA_REPORT_BASE, BIOMCP_ENRICHR_BASE, BIOMCP_EUROPEPMC_BASE, BIOMCP_FIGSHARE_BASE, BIOMCP_GNOMAD_BASE, BIOMCP_GPROFILER_BASE, BIOMCP_GTEX_BASE, BIOMCP_GWAS_BASE, BIOMCP_HPA_BASE, BIOMCP_HPO_BASE, BIOMCP_INTERPRO_BASE, BIOMCP_KEGG_BASE, BIOMCP_LITSENSE2_BASE, BIOMCP_MEDLINEPLUS_BASE, BIOMCP_MONARCH_BASE, BIOMCP_MUTALYZER_BASE_URL, BIOMCP_MYCHEM_BASE, BIOMCP_MYDISEASE_BASE, BIOMCP_MYGENE_BASE, BIOMCP_MYVARIANT_BASE, BIOMCP_NCBI_IDCONV_BASE, BIOMCP_NCI_CTS_BASE, BIOMCP_NIH_REPORTER_BASE, BIOMCP_OLS4_BASE, BIOMCP_ONCOKB_BASE, BIOMCP_OPENFDA_BASE, BIOMCP_OPENTARGETS_BASE, BIOMCP_PHARMGKB_BASE, BIOMCP_PMC_HTML_BASE, BIOMCP_PMC_OA_BASE, BIOMCP_PUBMED_BASE, BIOMCP_PUBTATOR_BASE, BIOMCP_QUICKGO_BASE, BIOMCP_REACTOME_BASE, BIOMCP_S2_BASE, BIOMCP_SEER_BASE, BIOMCP_STRING_BASE, BIOMCP_UMLS_BASE, BIOMCP_UNIPROT_BASE, BIOMCP_VAERS_BASE, BIOMCP_VARIANTVALIDATOR_BASE_URL, BIOMCP_WIKIPATHWAYS_BASE, BIOMCP_WHO_PQ_URL, BIOMCP_WHO_PQ_API_URL, BIOMCP_WHO_VACCINES_URL, BIOMCP_WHO_IVD_URL, BIOMCP_GTR_TEST_VERSION_URL, BIOMCP_GTR_CONDITION_GENE_URL, BIOMCP_CVX_URL, BIOMCP_CVX_TRADENAME_URL, and BIOMCP_MVX_URL. Internal cBioPortal fixture/source-selection seams include BIOMCP_CBIOPORTAL_STUDY, BIOMCP_CBIOPORTAL_SAMPLE_LIST, and BIOMCP_CBIOPORTAL_MUTATION_PROFILE.

Release and Install Variables

Variable Purpose
BIOMCP_BIN Selects a built binary for spec wrappers and local demos
BIOMCP_GITHUB_REPO Installer repository override
BIOMCP_INSTALL_DIR Installer destination override
BIOMCP_TAG Release/tag helper override
BIOMCP_VERSION Installer/version override
BIOMCP_SPEC_CACHE_HIT Spec wrapper hint that enables replay-style cache mode when unset by the caller

Observability and Degradation

Variable Purpose
BIOMCP_DISABLE_KEGG Operator-supported degradation control that disables KEGG pathway calls when KEGG should be avoided
  • Human-facing diagnostics and tracing go to stderr, never JSON stdout.
  • JSON query responses use _meta.source_status where a command has structured source availability/auth state to expose.
  • biomcp health --apis-only reports API/source connectivity and excluded key-gated rows; full biomcp health also reports local runtime data and cache readiness.
  • Optional entity lookups expose typed outcomes in JSON/MCP. inapplicable means a required input was absent and no provider was contacted; empty is a successful zero-result query; unavailable means retrieval produced no usable result; and degraded preserves partial evidence. _meta.section_sources repeats requested section outcomes and credits only providers that returned usable evidence. Outcome-only helpers such as variant structure may expose the same state model on their documented status surface.
  • SourceUnavailable means the source is supported but temporarily unavailable. It is distinct from unsupported sections or invalid command grammar.