biosamples-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@biosamples-mcpRecommend a checklist for a soil metagenome sample"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Biosamples - MCP
A Model Context Protocol (MCP) server for biological sample checklist validation and recommendation.
Built as part of GSoC 2026 proposal preparation for EMBL-EBI (Project: Expose BioSamples Submission and Search Capabilities as MCP Tools for AI-Assisted Metadata Interaction).
What it does
Exposes 3 MCP tools that an LLM (e.g. Claude) can call:
Tool | Description |
| Validates sample metadata against a specific ENA checklist via BioValidator API |
| Returns all mandatory and optional fields for a given checklist ID |
| Scores sample metadata against 15 checklists and returns ranked recommendations with confidence scores |
Related MCP server: clingen-link
Architecture
Key findings from API research
BioValidator (
/biosamples/validate) validates JSON structure but does not enforce checklist mandatory fields — the MCP server's scoring engine fills this gap independentlyENA Browser XML API (
/ena/browser/api/xml/{id}) is the reliable public source for checklist field definitionsBioSamples JSON Schema Store (internal MongoDB) is not publicly accessible — flagged as a risk in the GSoC proposal with ENA XML as a confirmed working alternative
Validation errors return as structured
{dataPath, errors}arrays — machine-parseable and LLM-friendly
Setup
git clone https://github.com/rithvik318/biosamples-mcp
cd biosamples-mcp
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
pip install -r requirements.txtRun
python server.pyTest with MCP Inspector
npx @modelcontextprotocol/inspector python D:\biosamples-mcp\server.pyOpen http://localhost:6274 and connect using:
Command:
D:\biosamples-mcp\venv\Scripts\python.exeArguments:
D:\biosamples-mcp\server.py
Example tool calls
validate_sample
{
"sample_name": "soil sample from Delhi",
"characteristics": "{\"organism\": [{\"text\": \"soil metagenome\"}], \"collection_date\": [{\"text\": \"2024-01-01\"}], \"geographic_location_country_andor_sea\": [{\"text\": \"India\"}]}",
"checklist_id": "ERC000011"
}recommend_checklist
{
"sample_name": "soil metagenome sample",
"characteristics": "{\"organism\": [{\"text\": \"soil metagenome\"}], \"collection_date\": [{\"text\": \"2024-01-01\"}]}",
"top_n": 3
}Technologies
Python 3.10+
httpx (async HTTP)
xml.etree.ElementTree (XML parsing)
Tested with MCP Inspector v0.21.1
This server cannot be deployed
Maintenance
Related MCP Connectors
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
MetaboLights MCP — EBI's metabolomics study repository.
JSON Schema validation MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server for querying BV-BRC biological data, submitting analysis jobs (assembly, annotation, BLAST, etc.), and managing workspace files via natural language.-
- AlicenseNot gradedqualityAmaintenanceEnables querying ClinGen curated evidence for gene-disease validity, dosage, actionability, and variant pathogenicity via MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to EBI's MetaboLights metabolomics study repository via an MCP gateway, enabling querying and retrieval of metabolomics data.2 npmMIT
- AlicenseBqualityBmaintenanceEnables biomedical research workflows via MCP, including experiment and document search, PDF text extraction, evidence retrieval, and validation with provenance tracking.10MIT