Token导航 LogoToken导航TokenDH.com
ENA MCP logo
AI代理stdio官方级别未说明来源级核验

ENA MCP

MCP Server

通过模型上下文协议(MCP)公开欧洲核苷酸档案(ENA)的REST服务子集,使AI代理能够以安全、结构化和可复现的方式与ENA进行程序化交互。

工具数

5

提示词数

0

GitHub Stars

1

资源数

0
生物信息学Python数据分析AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Sumithraju

提供方

Sumithraju

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

ENA REST MCP-模型上下文协议服务器

通过模型上下文协议(MCP)公开精心挑选的欧洲核苷酸档案(ENA)REST服务子集,使AI代理能够以安全、结构化和可重复的方式与ENA进行编程交互。

概述

欧洲核苷酸档案馆(ENA)提供了一套丰富的REST API,允许用户查询基因组元数据、序列记录和提交信息。该项目通过MCP将ENA服务与现代AI代理连接起来。

主要特点

  • 灵活的数据查询接口:支持自然语言、结构化查询和API端点过滤
  • 多格式响应支持:CSV、Excel、JSON输出,可下载报告
  • 可下载摘要和报告:包含分析和原始数据集链接的简明摘要
  • 内部认证:安全处理受保护ENA服务的身份验证
  • 性能优化:快速响应时间和高精度

项目目标

  1. 单片MCP服务器:单个MCP服务器从多个ENA服务公开REST API
  2. 数据访问:用户可以请求简单格式的数据或带有清晰摘要的纯文本数据
  3. 全栈交付:具有适当测试用例和可选UI的后端MCP服务

综合服务

核心服务

  • Webin REST:用于元数据存储和访问的ENA核心服务(需要身份验证)
  • Webin报告:用于报告ENA数据库查询的服务(需要身份验证)
  • EBI搜索服务:BM25文本搜索服务(https://www.ebi.ac.uk/ebisearch/ws/rest/sra-sample)
  • ENA浏览器:公众获取基因组元数据

项目结构

ENA-MCP/
├── src/
│   ├── mcp_server/        # MCP server implementation
│   ├── ena_api/           # ENA API client and wrappers
│   ├── utils/             # Utility functions
│   └── __init__.py
├── tests/                 # Test suite
├── docs/                  # Documentation
├── config/                # Configuration files
├── requirements.txt       # Python dependencies
├── setup.py              # Package setup
├── .gitignore            # Git ignore rules
├── .env.example          # Environment variables template
└── README.md             # This file

安装

先决条件

  • Python 3.8+
  • pip或conda

设置

  1. 克隆存储库:
git clone https://github.com/Sumithraju/ena-mcp.git
cd ENA-MCP
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env
# Edit .env with your ENA credentials (if needed)

用法

启动MCP服务器

python src/mcp_server/main.py

查询示例

自然语言查询:

"Show widely used Mpox samples"
"Give me latest Covid related submission details"

结构化查询:

{
  "query_type": "sample_search",
  "keywords": ["Mpox"],
  "fields": ["acc", "description", "name"],
  "format": "json",
  "limit": 100
}

API终点

MCP服务器公开了以下主要工具:

  • search_samples:搜索ENA示例记录
  • search_studies:查询研究元数据
  • search_runs:查找运行/序列记录
  • get_submission_details:检索提交信息
  • download_data:生成可下载的报告

配置

配置通过以下方式管理:

  • .env 凭证文件
  • config/ 服务器设置目录
  • 运行时选项的命令行参数

测试

运行测试套件:

pytest tests/ -v

生成覆盖率报告:

pytest tests/ --cov=src --cov-report=html

文档

  • API参考:请参阅 docs/API.md
  • 架构:请参见 docs/ARCHITECTURE.md
  • ENA程序化访问:https://ena-docs.readthedocs.io/en/latest/retrieval/programmatic-access.html

发展

贡献

  1. 创建要素分支: git checkout -b feature/your-feature
  2. 进行更改并编写测试
  3. 以明确的信息承诺: git commit -m "Add feature: description"
  4. 推你的叉子: git push origin feature/your-feature
  5. 创建拉取请求

代码风格

本项目遵循PEP 8风格指南。使用 blackflake8 用于格式化和换行:

black src/
flake8 src/

绩效目标

  • 响应时间:典型查询\<2秒
  • 测试覆盖率:≥95%
  • 支持具有可下载报告的大型数据集

项目时间表(GSoC 2026)

  • 第一阶段:研究和设置
  • 第2阶段:核心MCP服务器实现
  • 第三期:ENA API集成
  • 阶段4:测试和优化
  • 阶段5:文档和UI(可选)

参考文献

  • ENA浏览器: https://www.ebi.ac.uk/ena/browser/home
  • Webin报告Swagger: https://www.ebi.ac.uk/ena/submit/report/swagger-ui/index.html
  • ENA程序化访问: https://ena-docs.readthedocs.io/en/latest/retrieval/programmatic-access.html
  • FastMCP: https://gofastmcp.com/getting-started/welcome
  • MCP Python SDK: https://github.com/modelcontextprotocol/python-sdk
  • GSoC 2026时间表: https://developers.google.com/open-source/gsoc/timeline

许可证

该项目是EMBL-EBI的谷歌代码之夏2026计划的一部分。

作者

苏米特拉·拉朱 -GSoC 2026 EMBL-EBI贡献者

支持

对于问题、疑问或贡献,请在GitHub上打开问题或联系开发团队。

______________________________________________________________________

最后更新2026年3月16日

目录标签

目录标签

生物信息学Python数据分析AI代理基因组数据本地部署RESTAPI数据查询

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP