MCP cover image
See in Github
2025-04-08

Un serveur MCP pour s'interfacer avec BioMart

1

Github Watches

1

Github Forks

0

Github Stars

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.

Demo showing biomart-mcp in action

There is a short demo video showing the MCP server in action on Claude Desktop.

Installation

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

Biomart MCP server

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_cache to 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 like df.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 collated Comments and Description Text from UniProtKB section from it's page on UCSC
  • $...$

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • https://jgadvisorycpa.com
  • This GPT assists in finding a top-rated business CPA - local or virtual. We account for their qualifications, experience, testimonials and reviews. Business operators provide a short description of your business, services wanted, and city or state.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • OffchainLabs
  • Aller la mise en œuvre de la preuve de la participation Ethereum

  • modelcontextprotocol
  • Serveurs de protocole de contexte modèle

  • huahuayu
  • Une passerelle API unifiée pour intégrer plusieurs API d'explorateur de blockchain de type étherscan avec la prise en charge du protocole de contexte modèle (MCP) pour les assistants d'IA.

  • Mintplex-Labs
  • L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.

    Reviews

    4 (1)
    Avatar
    user_rbJH60Fm
    2025-04-16

    As a dedicated user of biomart-mcp, this tool has significantly streamlined my data analysis workflows. Authored by jzinno, it's incredibly user-friendly and efficient. Highly recommend checking it out on GitHub!