Skip to content

Dependencies

BioMCP is a single Rust binary. All dependencies are compiled in — no runtime installations required.

Key Dependencies

Kuva — Charting

Kuva (v0.1.4) is the charting engine behind BioMCP's --chart flag. It renders 8 chart types (bar, pie, histogram, density, box, violin, ridgeline, survival) to terminal, SVG, and PNG.

Kuva is linked as a Rust library, not called as a subprocess. Charts are generated in-process with no additional runtime dependencies.

See the charting guide for examples of every chart type.

RMCP — Model Context Protocol

RMCP (v1.1.1) provides the MCP server implementation. BioMCP supports both stdio transport (for local use with Claude Desktop) and streamable HTTP transport (for remote deployment).

Reqwest — HTTP Client

Reqwest (v0.12) handles all upstream API calls to biomedical databases. BioMCP adds middleware for:

  • Retries via reqwest-retry — automatic retry with exponential backoff
  • Caching via http-cache-reqwest — local HTTP cache to avoid redundant API calls
  • TLS via rustls — no OpenSSL dependency

Clap — CLI Framework

Clap (v4) generates the command-line interface. BioMCP's search, get, study, and chart command hierarchy is defined using Clap's derive macros.

Tokio — Async Runtime

Tokio (v1) provides the async runtime. BioMCP uses parallel API fan-out — multiple upstream sources are queried concurrently for faster responses.

Tonic + Prost — gRPC

Tonic (v0.12) and Prost (v0.13) support gRPC communication with services that use Protocol Buffers.

MiniJinja — Templating

MiniJinja (v2) renders BioMCP's markdown output templates. Each entity type's output format is defined as a Jinja template.

Data Processing

Crate Version Purpose
serde / serde_json 1.0 JSON serialization for all API responses
csv 1.0 cBioPortal study data parsing (TSV files)
roxmltree 0.20 XML parsing for PubMed and ClinicalTrials.gov
regex 1.0 Pattern matching for variant notation parsing
flate2 1.0 Gzip decompression for downloaded study archives
tar 0.4 Tar archive extraction for study downloads
zip 0.6 ZIP archive handling
zstd 0.13 Zstandard compression

Security

Crate Version Purpose
sha2 0.10 SHA-256 hashing for cache keys
md5 0.7 MD5 hashing for content deduplication
base64 0.22 Base64 encoding for binary data

Full Dependency List

BioMCP's complete dependency tree is defined in Cargo.toml and locked in Cargo.lock.