gene-family-mcp
Click on "Install 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., "@gene-family-mcpValidate this FASTA and show me the summary"
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.
Gene Family MCP
Gene Family MCP 是一个纯 API 的基因家族分析服务,供 Codex、Claude Desktop 等 MCP 客户端调用。仓库只有两个运行单元:
MCP Client <──stdio──> mcp_server <──HTTP/JSON──> backend_service
├── Django Ninja API
├── django-q2 worker
├── PlantCARE provider
└── 分析结果存储mcp_server 处理 MCP 协议,backend_service 提供 Django Ninja API、django-q2 队列、分析程序适配器和 Artifact 存储。两者只通过 HTTP/JSON 通信。项目没有前端页面、Django 模板或 Admin 路由。
目前可以完成 FASTA 校验与标准化、MAFFT 多序列比对、FastTree 系统发育树和 PlantCARE 顺式作用元件预测。其中 run_sequence_phylogeny 已把 FASTA → MAFFT → FastTree 串成一个持久化工作流。BLAST/DIAMOND、HMMER、MEME、基因结构分析和 IQ-TREE 尚未接入,因此这还不是完整的基因家族鉴定流水线。
两个服务的职责
mcp_server
MCP 协议适配层,供 Codex、Claude Desktop 等 MCP 客户端连接。
它负责:
注册 MCP tools。
将工具调用转换成后端 HTTP 请求。
返回结构化任务状态和结果。
隐藏后端内部数据库、队列和 provider 实现。
它不直接访问数据库、邮箱、PlantCARE,也不执行生信程序。
当前 tools:
Tool | 说明 |
| 检查后端 API 是否可用 |
| 查看可用分析能力与队列后端 |
| 上传、校验并标准化 DNA 或蛋白 FASTA |
| 使用 MAFFT 对规范化 FASTA Artifact 进行多序列比对 |
| 使用 FastTree 从 aligned FASTA 生成 Newick 树 |
| 一次启动 FASTA 校验、MAFFT 和 FastTree 持久化工作流 |
| 提交 DNA 启动子序列分析 |
| 查询业务任务状态与阶段 |
| 获取完成任务的结构化结果和产物 |
| 取消未结束任务 |
backend_service
无前端页面的 API 与任务后端。
它负责:
Django Ninja REST API。
输入校验、任务创建和状态查询。
django-q2 worker 与任务执行。
PlantCARE HTTP 提交、IMAP 邮件回收和附件保存。
后续本地生信工具与分析工作流。
当前 API:
方法 | 路径 | 说明 |
|
| 后端健康检查 |
|
| 分析能力与执行后端 |
|
| 上传并按内容去重保存 FASTA 输入 |
|
| 下载原始输入 |
|
| 创建通用分析任务 |
|
| 查询业务任务 |
|
| 按状态列出任务 |
|
| 查询状态与 provider 事件 |
|
| 获取结果与产物清单 |
|
| 取消任务 |
|
| 下载产物 |
|
| 提交顺式作用元件分析 |
|
| 查询状态或结果 |
|
| OpenAPI 文档 |
仓库不再提供 HTML 预测页面和 Django Admin 路由。
Related MCP server: BioQC-MCP
目录结构
gene-family-mcp/
├── mcp_server/
│ ├── server.py # MCP tools 和 stdio 入口
│ ├── backend_client.py # 后端 HTTP client
│ ├── settings.py # MCP 侧配置
│ └── requirements.txt
├── backend_service/
│ ├── config/ # Django 配置与 API 路由
│ ├── core/ # 健康检查等基础 API
│ ├── cis_elements/ # PlantCARE API 与 provider 原型
│ ├── jobs/ # 业务任务、事件、产物与 q2 worker 入口
│ │ └── local_tools/ # MAFFT、FastTree 适配器与能力探测
│ ├── scripts/ # PlantCARE 独立调试脚本
│ ├── tests/fixtures/ # 测试输入
│ ├── manage.py
│ └── requirements.txt
├── docs/
│ ├── architecture.md # 架构边界与演进方案
│ ├── operations.md # 部署、备份与故障排查
│ └── plantcare-cli.md # 独立脚本使用说明
└── README.md快速开始
1. 创建虚拟环境
python -m venv venv
.\venv\Scripts\python.exe -m pip install -r .\requirements-dev.txt2. 配置后端
本地开发可以直接使用 SQLite。建议至少为 API 配置一个随机 Token,并让 MCP 使用同一个值:
$env:BACKEND_API_TOKEN = "replace-with-a-random-token"
$env:GENE_FAMILY_BACKEND_TOKEN = $env:BACKEND_API_TOKENFASTA 校验不依赖外部程序。本机运行 MAFFT 和 FastTree 时,可按安装位置覆盖可执行文件名称或绝对路径:
$env:MAFFT_EXECUTABLE = "mafft"
$env:FASTTREE_EXECUTABLE = "FastTree"Docker 后端镜像已经安装 MAFFT 和 FastTree。本机是否可用以 /api/core/capabilities 的实时探测结果为准。
只有使用 PlantCARE 时才需要配置邮箱。应填写 IMAP 授权码,不要使用网页登录密码:
$env:PLANTCARE_EMAIL = "your-email@qq.com"
$env:PLANTCARE_AUTH_CODE = "your-imap-auth-code"
$env:PLANTCARE_IMAP_HOST = "imap.qq.com"3. 启动后端 API
Set-Location .\backend_service
..\venv\Scripts\python.exe manage.py migrate
..\venv\Scripts\python.exe manage.py runserver后端默认地址为 http://127.0.0.1:8000/api。
4. 启动 worker
在第二个终端执行:
Set-Location .\backend_service
..\venv\Scripts\python.exe manage.py qcluster5. 启动 MCP Server
在第三个终端回到仓库根目录:
$env:GENE_FAMILY_BACKEND_URL = "http://127.0.0.1:8000/api"
.\venv\Scripts\python.exe -m mcp_server.serverMCP Server 默认使用 stdio transport。客户端配置时,命令应指向虚拟环境 Python,参数为 -m mcp_server.server,工作目录为仓库根目录。
提交工具支持可选 idempotency_key。相同分析类型和幂等键会返回原业务任务,不会重复提交 django-q2 或 PlantCARE。
相同幂等键如果携带不同参数会返回 IDEMPOTENCY_CONFLICT。后端还可以通过 MAX_SEQUENCE_LENGTH 和 MAX_ACTIVE_JOBS 限制输入与活跃任务容量。
API 示例
以下示例假设后端已配置 BACKEND_API_TOKEN:
$headers = @{ Authorization = "Bearer $env:BACKEND_API_TOKEN" }使用通用任务接口提交分析:
$body = @{
analysis_type = "cis_elements"
parameters = @{ sequence = "ACGTACGTNNACGT" }
} | ConvertTo-Json -Depth 3
Invoke-RestMethod `
-Method Post `
-Uri http://127.0.0.1:8000/api/jobs `
-Headers $headers `
-ContentType application/json `
-Body $body查询状态:
Invoke-RestMethod `
-Uri http://127.0.0.1:8000/api/jobs/<job_id> `
-Headers $headersFASTA 输入先创建 content-addressed Input Artifact,再提交异步任务:
$input = Invoke-RestMethod `
-Method Post `
-Uri http://127.0.0.1:8000/api/inputs/fasta `
-Headers $headers `
-ContentType application/json `
-Body (@{
filename = "family.fa"
content = ">gene1`nACGTACGT`n>gene2`nACGTTCGT`n>gene3`nACGGACGT`n"
} | ConvertTo-Json)
$jobBody = @{
analysis_type = "fasta_validation"
parameters = @{
input_artifact_id = $input.input_artifact_id
alphabet = "auto"
}
} | ConvertTo-Json -Depth 3
Invoke-RestMethod `
-Method Post `
-Uri http://127.0.0.1:8000/api/jobs `
-Headers $headers `
-ContentType application/json `
-Body $jobBodyfasta_validation 检查 FASTA 结构、唯一标识符、DNA/蛋白字母表和容量限制。成功后返回记录数、总残基数、长度统计、检测字母表、DNA GC 比例,以及 normalized_fasta 和 fasta_validation_summary 两种 Artifact。
将 normalized_fasta 的 artifact_id 提交为 multiple_sequence_alignment,即可使用 MAFFT 生成 aligned_fasta。支持 auto、linsi、ginsi 和 einsi 策略;运行前应查询 /api/core/capabilities,因为本机安装模式下 MAFFT 是可选依赖,生产 Docker 镜像则已显式安装。
将 aligned_fasta 的 artifact_id 提交为 phylogenetic_tree,FastTree 会生成经过语法、叶数和安全标签校验的 Newick Artifact。DNA 支持 auto/gtr/jc,蛋白支持 auto/jtt/lg/wag;auto 分别选择 GTR 和 LG。
run_sequence_phylogeny 将上述三步组合为一个持久化父任务。父任务使用稳定 UUID,响应中的 workflow_steps 显示每个子任务;django-q2 Schedule 每分钟推进已完成依赖,因此 API/worker 重启后仍可继续。最终结果聚合记录数、字母表、比对长度、树叶数和 Newick Artifact。
使用刚才创建的 $input 可以直接启动完整工作流:
$workflowBody = @{
analysis_type = "sequence_phylogeny"
parameters = @{
input_artifact_id = $input.input_artifact_id
alphabet = "dna"
alignment_strategy = "auto"
tree_model = "auto"
threads = 2
}
} | ConvertTo-Json -Depth 3
Invoke-RestMethod `
-Method Post `
-Uri http://127.0.0.1:8000/api/jobs `
-Headers $headers `
-ContentType application/json `
-Body $workflowBody对应的 MCP 调用是 run_sequence_phylogeny(fasta, alphabet, alignment_strategy, tree_model, threads, filename, idempotency_key)。调用后用返回的父 job_id 查询 get_job_status 和 get_job_result。
目标分析流程
flowchart LR
A["输入序列或基因 ID"] --> B["标准化与校验"]
B --> C["同源检索"]
C --> D["结构域验证"]
D --> E["多序列比对"]
E --> F["系统发育树"]
D --> G["基因结构与保守基序"]
D --> H["启动子顺式元件"]
F --> I["家族结果与报告"]
G --> I
H --> I当前已实现输入标准化、多序列比对、FastTree 建树和 PlantCARE;同源检索、结构域验证、基因结构、保守基序和完整报告仍是规划能力。后端负责执行和持久化已接入的流程,MCP 只提供稳定的工具接口。
下一阶段
建立业务级
AnalysisJob、Artifact和AnalysisEvent表。将 PlantCARE 长时间邮箱等待改为 django-q2 Schedule 周期检查。
使用业务 UUID 和持久化状态解决任务查询问题。
为 MCP 与后端通信增加认证、稳定错误码和超时策略。
增加后端 Bearer Token、MCP 凭据转发、请求 ID 与幂等提交。
增加单元测试、API 集成测试和 MCP 工具测试。
增加 FASTA 输入 Artifact、校验、标准化与下载 API。
安全解析 PlantCARE 归档与
.tab,生成结构化 JSON Artifact。接入 MAFFT 多序列比对 adapter、能力探测和 Artifact 溯源。
接入 FastTree 系统发育 adapter、Newick 校验和 Artifact 溯源。
建立可恢复的 FASTA → MAFFT → FastTree django-q2 工作流。
接入 BLAST/DIAMOND、HMMER 和高精度 IQ-TREE。
工程检查
Windows 开发环境可以运行:
.\scripts\check.ps1该命令执行 Django 系统检查、迁移漂移检查、后端测试、MCP 测试、Python 编译和 Git diff 检查。GitHub Actions 会在 push 和 pull request 时执行对应检查。
更详细的状态模型、数据模型和迁移计划见 架构文档。 生产进程、Docker Compose、备份和故障排查见 运行与部署手册。
安全说明
不要提交邮箱授权码和
.env。MCP Server 不应接触 provider 密钥。
后端响应不应暴露邮箱正文、绝对路径或完整 traceback。
正式部署需要关闭 Django
DEBUG、设置随机密钥,并配置非空的BACKEND_API_TOKEN。
License
项目尚未添加开源许可证。公开发布前需要明确许可证,并核对 PlantCARE 及后续生信工具和数据库的使用条款。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn 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 gradedqualityCmaintenanceA professional MCP server for comprehensive bioinformatics quality control, providing automated FastQC/MultiQC analysis, HTML report parsing, and advanced data visualization for sequencing data.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for querying gene annotations, full-text gene search, and species taxonomy via MyGene.info. Enables AI agents to access gene data through natural language questions.15MIT
- AlicenseAqualityBmaintenanceMCP server offering verified bioinformatics tools for sequence utilities and statistics, backed by BioPython/scipy. Enables AI agents to perform accurate GC content, translation, ORF finding, motif scanning, and statistical tests through natural language.11MIT
Related MCP Connectors
MCP gateway federating 21 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
MCP server for Wan AI video generation
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xxay-16/gene-family-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server