Design · MODEL CONTEXT PROTOCOL

jzinno biomart mcp

A MCP server to interface with Biomart

WHAT IT CONNECTS

What jzinno biomart mcp gives an AI Agent

  • **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)
  • We are only using `@mcp.tool()` here by design, this is to maximize compatibility with clients that support MCP as seen in the [docs](https://modelcontextprotocol.io/clients).
  • 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.
  • 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](https://genome.ucsc.edu/cgi-bin/hgGene?db=hg38&hgg_chrom=chr9&hgg_gene=ENST00000651671.1&hgg_start=136494433&hgg_end=136546048&hgg_type=knownGene)
  • $...$

SECURITY

An MCP listing is not a security review

An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.