LABSCO SUMMARY
Built with the context window in mind, which is why the answers stay usable.
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.
What it is
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.
What you get
- 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
Requirements
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. No credentials — Biomart is public.
Setup effort
Build from source — git clone https://github.com/jzinno/biomart-mcp.git
USE CASES
01
Converting between identifier systems
Turn a list of gene symbols into Ensembl IDs mid-analysis instead of opening the Biomart web form.
02
Finding the right dataset first
List marts and datasets, then read that dataset's attributes and filters before composing a query.
03
Pulling annotation for a shortlist
Query with explicit filters so the result stays small enough to reason over.
BEFORE YOU INSTALL
What to know first
Requires
- uv (the Claude Desktop and Cursor routes run it)
- Python 3.10 or later
INSTALLATION
Connect your client
Server setup
TERMINAL
git clone https://github.com/jzinno/biomart-mcp.git
cd biomart-mcpMCP Clients
Claude Desktop
CLAUDE DESKTOP · TERMINAL
uv run --with "mcp[cli]" mcp install --with pybiomart biomart-mcp.pyRun it inside the biomart-mcp folder you cloned; it registers biomart-mcp.py with Claude Desktop.
Cursor
CURSOR · JSON
{
"mcpServers": {
"Biomart": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"pybiomart",
"mcp",
"run",
"<YOUR_PATH_TO_BIOMART_MCP>"
]
}
}
}<YOUR_PATH_TO_BIOMART_MCP> is the full path to biomart-mcp.py in the folder you cloned.