LabscoMCP early access ↗
jzinnoMCP SERVER

Biomart MCP

Translate gene identifiers and pull annotation straight out of Biomart, without writing a pybiomart script.

by jzinno ↗Biomedical: Genomics & Clinical DataCommunity

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