Labsco
MCP SERVER

Biomart MCP

by jzinno

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

Biomedical: Genomics & Clinical Data
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`; Smithery will also install it for you. No credentials — Biomart is public.

Setup effort

One command — npx -y @smithery/cli install @jzinno/biomart-mcp --client claude