Biomart MCP
Interface with Biomart, a biological data query tool, using the pybiomart Python package.
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.
Installation
Installing via Smithery
To install Biomart MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @jzinno/biomart-mcp --client claude
Clone the repository
git clone https://github.com/jzinno/biomart-mcp.git
cd biomart-mcp
Claude Desktop
uv run --with mcp[cli] mcp install --with pybiomart biomart-mcp.py
Cursor
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.py
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)
Contributing
Pull requests are welcome! Some small notes on development:
- We are only using
@mcp.tool()here by design, this is to maximize compatibility with clients that support MCP as seen in the docs. - We are using
@lru_cacheto cache results of functions that are computationally expensive or make external API calls. - We need to be mindful to not blow up the context window of the model, for example you'll see
df.to_csv(index=False).replace("\r", "")in many places. This csv style return is much more token efficient than something likedf.to_string()where the majority of the tokens are whitespace. Also be mindful of the fact that pulling all genes from a chromosome or similar large request will also be too large for the context window.
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 - $...$
Servidores relacionados
Chroma MCP Server
An MCP server for the Chroma embedding database, providing persistent, searchable working memory for AI-assisted development with features like automated context recall and codebase indexing.
SurrealDB MCP Server
A standardized interface for AI assistants to interact with a SurrealDB database.
MCP Memory libSQL
A persistent memory system for MCP using libSQL, providing vector search and efficient knowledge storage.
StockFlow
Provides real-time stock data and options analysis from Yahoo Finance, enabling market data access, stock analysis, and options strategy evaluation.
Simple PostgreSQL MCP Server
An MCP server for interacting with PostgreSQL databases using tools, resources, and prompts.
Metabase MCP Server
Interact with Metabase, the open-source business intelligence platform, using Large Language Models.
Poland Parliament
MCP server providing access to official records of activities of the Polish Parliament, including information on members, voting records, committees, and proceedings.
AnalyticDB for MySQL
An interface for AI agents to interact with AnalyticDB for MySQL databases, allowing them to retrieve metadata and execute SQL operations.
mnemon-mcp
Persistent layered memory for AI agents — 4-layer model, FTS5 search, fact versioning, EN+RU stemming. Local-first, zero-cloud, single SQLite file.
Toronto Open Data Tools
Query, analyze, and retrieve datasets from Toronto's CKAN-powered open data portal.