Returning CSV instead of a formatted table is a deliberate choice by the author, because whitespace in a wide result eats most of the tokens. The same constraint sets the limit: asking for every gene on a chromosome will still be too large for the model to hold, so scope the filters before you run the query.
A Python server that sits on top of the pybiomart package and exposes Biomart as conversational tools. It is deliberately tools-only — no resources, no prompts — which the author chose for the widest client compatibility.
- Mart and dataset discovery, so you can find the right dataset before querying it
- Attribute and filter exploration for a dataset — the common ones or the full list
- Data retrieval: query Biomart with the attributes and filters you picked
- Identifier translation, for example gene symbols to Ensembl IDs
- Results come back CSV-style rather than as a padded table, which keeps them far cheaper in context
- Expensive lookups are cached in-process
The Python package `biomart-mcp`, version 0.1.0, plus pybiomart. Install for Claude Desktop with `uv run --with mcp[cli] mcp install --with pybiomart biomart-mcp.py`, or add a uv command to `.cursor/mcp.json`; Smithery will also install it for you. No credentials — Biomart is public.
One command — npx -y @smithery/cli install @jzinno/biomart-mcp --client claude
