
Biomart MCP
โ 7from jzinno
Interface with Biomart, a biological data query tool, using the pybiomart Python package.
โ labsco summary โ our analysis, not the vendor's
What it is โ an MCP server that interfaces with Biomart biological databases via the pybiomart package, for bioinformatics queries from Claude or Cursor.
What you get โ
- Mart and dataset discovery to explore Biomart structure
- Attribute and filter exploration for specific datasets
- Data retrieval with specified attributes and filters โ e.g. "map these Ensembl gene IDs to gene symbols"
- Works across MCP clients including Claude Desktop and Cursor (also usable by OpenAI/DeepSeek models)
Requirements โ nothing โ env is empty and Biomart needs no key; requires the mcp[cli] and pybiomart Python packages.
Cost snapshot โ free and open source, MIT licensed; Biomart is a free public service, so no usage cost.
Setup effort โ install via Smithery one-liner or uv run --with mcp[cli] mcp install --with pybiomart biomart-mcp.py.
Our take โ A useful bridge for genomics researchers. Practical caveat: it depends on the external Biomart service (pybiomart) being available, and large queries can be heavy to return.
Source: the project README โ summarized 2026-07-08.
โ readme from github โ mirrored (latest on GitHub โ)
Biomart MCP
A MCP server to interface with Biomart
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs developed by Anthropic. Here we use the MCP python-sdk to create a MCP server that interfaces with Biomart via the pybiomart package.

There is a short demo video showing the MCP server in action on Claude Desktop.
Features
Biomart-MCP provides several tools to interact with Biomart databases:
- Mart and Dataset Discovery: List available marts and datasets to explore the Biomart database structure
- Attribute and Filter Exploration: View common or all available attributes and filters for specific datasets
- Data Retrieval: Query Biomart with specific attributes and filters to get biological data
- ID Translation: Convert between different biological identifiers (e.g., gene symbols to Ensembl IDs)
Potential Future Features
There of course many more features that could be added, some maybe beyond the scope of the name biomart-mcp. Here are some ideas:
- Add webscraping for resource sites with
bs4, for example we got the Ensembl gene ID for NOTCH1 then maybe in some cases it would be usful to grap the collatedComments and Description Text from UniProtKBsection from it's page on UCSC - $...$
{
"mcpServers": {
"Biomart": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"pybiomart",
"mcp",
"run",
"/your/path/to/biomart-mcp.py"
]
}
}
}Installation
Installing via Smithery
To install Biomart MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @jzinno/biomart-mcp --client claudeClone the repository
git clone https://github.com/jzinno/biomart-mcp.git
cd biomart-mcpClaude Desktop
uv run --with mcp[cli] mcp install --with pybiomart biomart-mcp.pyCursor
Via Cusror's agent mode, other models can take advantage of MCP servers as well, such as those form OpenAI or DeepSeek. Click the cursor setting cogwheel and naviagate to MCP and either add the MCP server to the global config or add it to the a project scope by adding .cursor/mcp.json to the project.
Example .cursor/mcp.json:
{
"mcpServers": {
"Biomart": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"pybiomart",
"mcp",
"run",
"/your/path/to/biomart-mcp.py"
]
}
}
}Glama
Development
# Create a virtual environment
uv venv
# MacOS/Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate
uv sync #or uv add mcp[cli] pybiomart
# Run the server in dev mode
mcp dev biomart-mcp.pyNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ