biotools-mcp
biotools-mcp provides 11 scientifically verified bioinformatics and statistical tools, backed by BioPython and scipy, designed to prevent AI agents from hallucinating calculations. These tools are exposed via an MCP server (stdio or streamable HTTP) for programmatic access by AI agents.
Sequence Utilities:
seq_gc_content– Calculate GC content percentage (0–100) from DNA/RNA, excluding ambiguous bases.seq_reverse_complement– Compute reverse complement with full IUPAC ambiguity support.seq_translate– Translate nucleotide sequence to protein using any NCBI genetic code table.seq_orf_finder– Find ORFs in forward strand (frames 0–2) with configurable minimum length.seq_motif_scan– Scan for IUPAC motifs supporting bracket groups (e.g., ATG[AC]) and overlap control.seq_stats– Compute length, mononucleotide/dinucleotide composition, and GC skew.
Statistical Tests & Analysis:
stats_describe– Descriptive statistics: n, min, max, mean, median, variance, std dev, skewness, kurtosis.stats_t_test– Two-sample t-test (Student/Welch) with Cohen's d, one- or two-sided.stats_chi_square– Chi-square test of independence with optional Yates' correction.stats_mann_whitney– Mann-Whitney U test with exact/asymptotic p-value.stats_correlation– Pearson or Spearman correlation between two paired variables.
Data formats: Accepts sequences and numeric arrays; returns structured results suitable for analysis. Use cases include sequence analysis and statistical hypothesis testing in bioinformatics.
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., "@biotools-mcp Calculate the GC content of the sequence ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG"
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.
biotools-mcp
Verified bioinformatics tools for AI agents — sequence utilities + statistics, backed by BioPython/scipy, exposed as an MCP server, companion Skill, and Python package.
MIT · public · benchmarked.
Research agents hallucinate bioinformatics math. This project builds the missing layer: battle-tested scientific computation wrapped in a clean, agent-native surface.
What's inside
Sequence utilities — GC content, reverse complement, translation, ORF finding, motif scanning, sequence stats (BioPython-backed; ORF finder + motif-overlap are custom logic, checked against independent references).
Statistics — descriptive stats, t-test, chi-square, Mann–Whitney U, correlation (scipy-backed, reference-vector tested against published/R values).
MCP server — stdio + streamable HTTP, 11 action-oriented tools (
seq_gc_content,stats_t_test, …), pydantic v2 schemas with structured output.Companion Skill — agentskills.io spec: when to use which tool, input requirements, and what not to do.
Every tool is reference-vector tested against published values (GenBank records, R t.test
output, Mendel's 1866 pea counts, Anscombe's quartet) — never against the wrapper itself.
Related MCP server: protein-design-mcp
Install
Published on PyPI as biotools-mcp (requires Python 3.11+).
# Install as a standalone CLI (MCP server entry point)
uv tool install biotools-mcp
# Or run without installing
uvx biotools-mcp
# Or plain pip
pip install biotools-mcpAs a library:
uv add biotools-mcpfrom biotools_mcp.seq import gc_content
from biotools_mcp.stats import t_test
print(gc_content("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG").gc_percent) # 56.4103
print(t_test([1, 2, 3], [4, 5, 6]).statistic) # -3.6742MCP configuration
Point your agent at the server over stdio:
Claude Code (.mcp.json):
{
"mcpServers": {
"biotools-mcp": {
"command": "uvx",
"args": ["biotools-mcp"]
}
}
}Cursor — Settings → MCP → Add:
{
"mcpServers": {
"biotools-mcp": {
"command": "uvx",
"args": ["biotools-mcp"]
}
}
}Codex / Gemini CLI — same mcpServers block in the agent's MCP config file.
Streamable HTTP (for remote use):
uvx biotools-mcp --transport streamable-httpTools
Tool | Description |
| GC content as a percentage (ambiguous bases excluded) |
| Reverse complement (IUPAC-aware, DNA/RNA) |
| Translate to protein (NCBI tables, incl. mitochondrial) |
| Open reading frames, forward strand, frames 0–2 |
| IUPAC motif scanning with bracket groups + overlap policy |
| Length, mono/di composition, GC skew |
| Descriptive statistics (n, mean, median, var, skew, kurtosis) |
| Student/Welch two-sample t-test with Cohen's d |
| Chi-square test of independence (Yates optional) |
| Mann-Whitney U test (exact/asymptotic) |
| Pearson or Spearman correlation |
Benchmarks
Wedge subset of BioAgent Bench + BioTaskBench (sequence utilities + statistics) run against the tools and published in benchmarks/results.md. Every task in the subset runs — failures are published alongside passes.
Current: 15/15 passed (100%) — bioagent-bench subset 7/7, bioTaskBench subset 8/8. Pinned harness, see the results file for task-level detail.
uv run python benchmarks/run_bioagent_bench.py # 7/7
uv run python benchmarks/run_biotaskbench.py # 8/8
uv run python benchmarks/harness.py --suite all # combined 15/15Companion Skill
The skills/biotools-mcp skill (agentskills.io spec) teaches agents the tool inventory, when to use which tool, input requirements, and what not to do (never compute GC/translation/t-tests by hand). Load it into any skills-compatible agent.
Documented solutions
Past problems and the patterns they produced live in
docs/solutions — including the uvx grandchild-process leak in
subprocess tests, mcp SDK v2 tool-registration conventions, and the CI matrix Python-version
trap. Relevant when implementing or debugging in those areas.
Development
uv sync --extra dev
uv run pytest # reference-vector suite (skips slow packaging by default)
uv run python benchmarks/harness.py --suite all # regenerate benchmark results
uvx ruff check src tests benchmarksCI runs lint + tests on Python 3.11/3.12; a nightly workflow regenerates the benchmark table;
a tag-pushed v* triggers the PyPI publish workflow.
Contributing
See CONTRIBUTING.md — verification is non-circular (reference-vector fixtures from published values), degenerate inputs must fail loudly, and benchmark tasks are never dropped to keep numbers green. Changes are tracked in CHANGELOG.md.
License
MIT — see LICENSE.
Available Tools
11 toolsseq_gc_contentGC ContentARead-onlyIdempotent
Compute GC content of a nucleotide sequence as a percentage (0-100).
Inputs: sequence (required). Returns: Result of GC content analysis.
seq_motif_scanMotif ScanARead-onlyIdempotent
Scan a nucleotide sequence for IUPAC motif occurrences (supports bracket groups).
Inputs: motif (required), sequence (required), max_matches, overlapping. Returns: Result of motif scanning.
seq_orf_finderORF FinderARead-onlyIdempotent
Find open reading frames (forward strand, frames 0-2) in a nucleotide sequence.
Inputs: sequence (required), min_length. Returns: Result of ORF finding.
seq_reverse_complementReverse ComplementARead-onlyIdempotent
Compute the reverse complement of a nucleotide sequence (DNA or RNA).
Inputs: sequence (required). Returns: Result of reverse complement computation.
seq_statsSequence StatisticsARead-onlyIdempotent
Compute sequence length, mono/dinucleotide composition, and GC skew.
Inputs: sequence (required). Returns: Result of sequence statistics.
seq_translateTranslateARead-onlyIdempotent
Translate a nucleotide sequence to protein using an NCBI genetic code table.
Inputs: sequence (required), to_stop, table_id. Returns: Result of DNA/RNA translation.
stats_chi_squareChi-Square TestARead-onlyIdempotent
Run a chi-square test of independence on a contingency table (Yates correction optional).
Inputs: table (required), correction. Returns: Result of a chi-square contingency test.
stats_correlationCorrelationARead-onlyIdempotent
Compute Pearson or Spearman correlation between two paired variables.
Inputs: x (required), y (required), method. Returns: Result of a Pearson or Spearman correlation.
stats_describeDescriptive StatisticsARead-onlyIdempotent
Compute descriptive statistics (n, min, max, mean, median, variance, std, skew, kurtosis).
Inputs: data (required). Returns: Result of descriptive statistics.
stats_mann_whitneyMann-Whitney U TestARead-onlyIdempotent
Run a Mann-Whitney U test on two independent groups.
Inputs: group_a (required), group_b (required), alternative. Returns: Result of a Mann-Whitney U test.
stats_t_testTwo-Sample t-TestARead-onlyIdempotent
Run a two-sample Student or Welch t-test with Cohen's d effect size.
Inputs: group_a (required), group_b (required), equal_var, alternative. Returns: Result of a two-sample t-test.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool has a distinct purpose within its domain. The seq_* tools cover motif scanning, GC content, reverse complement, translation, ORF finding, and sequence stats with no overlap. The stats_* tools cover descriptive statistics, t-test, chi-square, Mann-Whitney, and correlation, also without ambiguity. The two domains are clearly separated by prefix and description.
Tool names follow a consistent domain-prefix pattern: seq_ for sequence operations and stats_ for statistical tests. However, within each prefix, the naming style is mixed (e.g., seq_translate is a verb, seq_orf_finder is a noun; stats_describe is a verb, stats_t_test is a noun). This minor inconsistency lowers the score from 5 to 4, but the prefix convention makes names predictable.
With 11 tools, the server is well-scoped for a bioinformatics toolkit. It covers a reasonable set of sequence analysis functions and common statistical tests without being bloated. The count falls well within the ideal range for a focused utility server.
The tool surface covers core sequence operations (translation, reverse complement, GC content, motif scanning, ORF finding, and stats) and common statistical tests (descriptive, t-test, chi-square, Mann-Whitney, correlation). Minor gaps exist, such as sequence alignment or advanced statistical tests like ANOVA, but agents can perform most basic workflows without dead ends.
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
AI tool directory MCP server, live since July 2026. Tools, agents, models, companies, services.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Provenance and metadata tools for AI agents. Paid tools use x402 (USDC) at /mcp/<tool>.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables scRNA-Seq analysis through natural language, providing tools for data preprocessing, clustering, and biological visualization. It supports both predefined function execution and a flexible code mode powered by a Jupyter backend for automated single-cell transcriptomics workflows.16BSD 3-Clause
- AlicenseNot gradedqualityBmaintenanceAn MCP server that gives LLM agents access to computational protein design tools.19Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP-native scientific skills for reproducible computational biology and AI-driven drug-discovery workflows. It combines deterministic scientific tools with an MCP server to give AI agents real computational capabilities.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA statistical analysis MCP server offering 30 tools for descriptive statistics, hypothesis tests, regression, and time series, all returning Markdown reports with automatic interpretations to enable AI agents to perform comprehensive data analysis.MIT