addgene mcp
    
Addgene的MCP(模型上下文协议)服务器-质粒库
该服务器实现了Addgene的模型上下文协议(MCP),为访问世界上最大的质粒数据库提供了一个标准化的接口。MCP使AI助手和代理能够通过结构化界面搜索、过滤和检索全面的质粒信息。
该服务器可直接访问Addgene的质粒库,其中包含数千个可供研究的质粒,并附有详细的元数据、序列信息和可用性数据。非常适合分子生物学研究、合成生物学和基因工程应用。
Addgene存储库包含:
- 质粒搜索:通过高级过滤搜索数千个研究质粒
- 序列信息:以多种格式访问质粒序列(SnapGene、GenBank、FASTA)
- 元数据访问:完整的质粒信息,包括存放者、目的、图谱和服务
- 流行质粒:获取研究界趋势和高度引用的质粒
如果你想了解更多关于模型上下文协议是什么以及如何更有效地使用它,你可以采取 深度学习AI课程 或在YouTube上搜索MCP视频。
示例用法
关于MCP(模型上下文协议)
MCP是一种弥合人工智能系统和专业领域知识之间差距的协议。它能够:
- 结构化访问:直接连接到权威质粒库数据
- 自然语言查询:简化了与专业数据库的交互
- 类型安全:通过FastMCP进行强大的打字和验证
- 人工智能集成:与人工智能助手和代理无缝集成
可用工具
此服务器提供了三种与Addgene存储库交互的主要工具:
addgene_search_plasmids(...)-使用全面的过滤选项搜索质粒addgene_get_sequence_info(plasmid_id, format)-获取特定质粒的序列下载信息addgene_get_popular_plasmids(page_size)-检索趋势和流行质粒
可用资源
resource://addgene_api-info-完整的API文档和使用指南
快速开始
安装uv
# Download and install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Verify installation
uv --version
uvx --versionuvx是一个非常好的工具,可以在需要时运行安装它的python包。
用uvx运行
您可以直接使用uvx运行addgene-mcp服务器,而无需克隆存储库:
# Run the server in streamable HTTP mode (default)
uvx addgene-mcpOther uvx modes (STDIO, HTTP, SSE)
STDIO模式(对于需要STDIO的MCP客户端,当您想保存文件时可能很有用)
# Or explicitly specify stdio mode
uvx addgene-mcp stdioHTTP模式(Web服务器)
# Run the server in streamable HTTP mode on default (3001) port
uvx addgene-mcp server
# Run on a specific port
uvx addgene-mcp server --port 8000SSE模式(服务器发送事件)
# Run the server in SSE mode
uvx addgene-mcp sse在uvx出现问题的情况下,通常是由于清洁uv缓存引起的:
uv cache cleanHTTP模式将启动您可以在以下位置访问的web服务器 http://localhost:3001/mcpSTDIO模式专为通过标准输入/输出进行通信的MCP客户端而设计,而SSE模式使用服务器发送事件进行实时通信。
注: 目前,我们没有Swagger/OpenAPI接口,因此直接在浏览器中访问服务器不会显示太多有用的信息。要探索可用的工具和功能,您应该使用MCP检查器(见下文)或通过MCP客户端连接以查看可用的工具。
配置您的AI客户端(Anthropic Claude Desktop、Cursor、Windsurf等)
我们为不同的用例提供预配置的JSON文件:
- 对于STDIO模式(推荐): 使用
mcp-config-stdio.json - 对于HTTP模式: 使用
mcp-config.json
配置视频教程
有关如何使用AI客户端配置MCP服务器的视觉指南,请查看我们的 配置教程视频 我们的姊妹MCP服务器(biothings MCP)。Addgene MCP服务器的配置原则完全相同,只需使用上面提供的适当JSON配置文件即可。
检查Addgene MCP服务器
Using MCP Inspector to explore server capabilities
如果你想检查MCP服务器提供的方法,请使用npx(你可能需要安装nodejs和npm):
对于带uvx的STDIO模式:
npx @modelcontextprotocol/inspector --config mcp-config-stdio.json --server addgene-mcp对于HTTP模式(确保服务器首先运行):
npx @modelcontextprotocol/inspector --config mcp-config.json --server addgene-mcp您还可以手动运行检查器,并通过界面进行配置:
npx @modelcontextprotocol/inspector之后,您可以在以下网址使用MCP Inspector探索工具和资源http://127.0.0.1:6274(注意,如果您多次运行检查器,它可能会更改端口)
与人工智能系统集成
只需指向您的AI客户端(如Cursor、Windsurf、ClaudeDesktop、带有Copilot的VS Code,或 其他)使用存储库中的相应配置文件。
复制addgene mcp的可粘贴配置
只需将此JSON配置复制到您的MCP客户端(Cursor、Windsurf、Claude Desktop等):
{
"mcpServers": {
"addgene-mcp": {
"command": "uvx",
"args": ["addgene-mcp"],
"env": {
"MCP_PORT": "3001",
"MCP_HOST": "0.0.0.0",
"MCP_TRANSPORT": "stdio"
}
}
}
}Alternative configurations (HTTP mode, development deployment)
对于HTTP模式:
文件: mcp-config.json
{
"mcpServers": {
"addgene-mcp": {
"url": "http://localhost:3001/mcp",
"type": "streamable-http",
"env": {}
}
}
}对于开发部署(本地存储库):
文件: mcp-config-stdio-local.json
{
"mcpServers": {
"addgene-mcp": {
"command": "uv",
"args": ["run", "addgene-mcp"],
"env": {
"MCP_PORT": "3001",
"MCP_HOST": "0.0.0.0",
"MCP_TRANSPORT": "stdio"
}
}
}
}配置说明:
uvx-用于最终用户部署,无需克隆存储库uv-用于克隆存储库时的开发部署- STDIO模式 -默认设置,建议大多数MCP客户端使用
- HTTP模式 -更喜欢HTTP传输的客户端的替代方案
存储库设置
# Clone the repository
git clone https://github.com/longevity-genie/addgene-mcp.git
cd addgene-mcp
uv sync运行MCP服务器
如果你已经克隆了仓库,你可以用uv运行服务器:
# Start the MCP server locally (HTTP mode)
uv run server
# Or start in STDIO mode
uv run stdio
# Or start in SSE mode
uv run sse可用工具详细信息
addgene_search_plasmids
使用全面的过滤选项在Addgene存储库中搜索质粒。
参数:
query(可选):自由文本搜索查询page_size(可选):每页结果数(默认值:50,最大值:50)page_number(可选):分页页码(默认值:1)expression(可选):按表达系统过滤(“细菌”、“哺乳动物”、“昆虫”、“植物”、“蠕虫”、“酵母”)vector_types(可选):按向量类型过滤species(可选):按物种筛选plasmid_type(可选):按质粒类型过滤resistance_marker(可选):按电阻标记过滤bacterial_resistance(可选):按细菌抗性过滤popularity(可选):按受欢迎程度过滤(“高”、“中”、“低”)has_dna_service(可选):按DNA服务可用性筛选has_viral_service(可选):按病毒服务可用性筛选is_industry(可选):按行业可用性筛选
addgene_get_sequence_info
获取有关下载质粒序列的信息。
参数:
plasmid_id:添加基因质粒ID(必填)format(可选):序列格式-“snapgene”、“genbank”、“fasta”(默认值:“snapgene”)
addgene_get_popular_plasmids
从Addgene仓库获取流行质粒。
参数:
page_size(可选):要返回的结果数(默认值:50,最大值:50)
数据模型
质粒概述
包含全面的质粒信息:
id:添加基因质粒IDname:质粒名称depositor:存款人姓名purpose:目的/描述article_url:关联的发布URLinsert:插入信息tags:与质粒相关的标签mutation:突变信息plasmid_type:质粒类型vector_type:矢量类型/用途popularity:受欢迎程度(高/中/低)expression:表达系统promoter:推广商信息map_url:质粒图谱图像URLservices:可用服务is_industry:是否可供行业使用
搜索结果
包含搜索结果和元数据:
plasmids:质粒概览对象列表count:返回的结果数query:使用的搜索查询page:页码page_size:每页结果filters_applied:应用过滤器词典
序列下载信息
包含序列下载信息:
plasmid_id:质粒IDdownload_url:直接下载URLformat:序列格式available:序列是否可供下载
查询示例
Sample queries for common research needs
寻找CRISPR质粒
# Search for CRISPR-related plasmids
result = await search_plasmids(query="CRISPR Cas9", page_size=50)寻找哺乳动物表达载体
# Search for mammalian expression vectors
result = await search_plasmids(
expression="mammalian",
vector_types="expression",
page_size=15
)获取用于细菌表达的流行质粒
# Find popular bacterial expression plasmids
result = await search_plasmids(
expression="bacterial",
popularity="high",
page_size=50
)寻找特定的基因质粒
# Search for plasmids containing a specific gene
result = await search_plasmids(
query="GFP fluorescent protein",
plasmid_type="reporter"
)获取序列信息
# Get GenBank format sequence for a plasmid
seq_info = await get_sequence_info(
plasmid_id=12345,
format="genbank"
)研究应用
Tested queries you can explore with this MCP server
基于判断的测试可用:我们现在提供全面的基于判断的测试,评估MCP服务器回答这些研究问题的能力。看 test/README_JUDGE_TESTING.md 有关运行自动质量评估测试的详细信息。
核心功能测试
- 搜索含有“pLKO”的质粒,返回5个结果
- 查找具有哺乳动物表达和高流行度的GFP质粒,最多10个结果
数据结构验证
- 搜索质粒并验证数据结构,包括ID、姓名和存款人等必填字段
- 使用哺乳动物表达系统寻找质粒,并验证表达区是否包含“哺乳动物”
- 搜索质粒并检查article_url和map_url字段在存在时是否格式正确
- 通过搜索和检查is_industry布尔字段,测试行业与学术可用性
高级过滤
- 使用多个过滤器搜索质粒:single_insert质粒类型、哺乳动物表达和高流行度
- 搜索具有载体类型=“CRISPR”的CRISPR质粒
- 搜索具有载体类型=“逆转录病毒”的慢病毒质粒
- 利用细菌表达系统寻找质粒
序列信息
- 获取ID为12345的snapgene格式质粒的序列信息
- 以genbank格式获取ID为12345的质粒的序列信息
- 以fasta格式获取ID为12345的质粒的序列信息
- 获取页面大小为20的流行质粒
备注:这些查询基于我们的实际测试套件,代表了经过验证的功能。每个查询都经过测试,以确保它正确调用MCP函数并返回适当的数据结构。
安全功能
- 速率限制:恭敬地刮擦,适当延迟
- 错误处理:通过信息性消息进行全面的错误处理
- 输入验证:对所有输入参数进行稳健验证
- 重试逻辑:自动重试网络相关故障
测试与验证
MCP服务器包括对所有功能的全面测试:
运行测试
对MCP服务器运行测试:
# Set testing environment and run all tests
uv run pytest -vvv -s测试覆盖率
我们的测试套件包括:
- 单元测试:测试单个组件和功能
- 集成测试:测试端到端功能
- 模拟试验:使用模拟响应进行一致CI测试
- 过滤器测试:测试所有搜索筛选器组合
- 错误处理测试:测试错误条件和边缘情况
*使用MCP检查器是可选的。配置后,大多数MCP客户端(如Cursor、Windsurf等)将自动显示此服务器上的可用工具。然而,检查员对于详细的测试和探索可能很有用。*
*如果您选择通过以下方式使用检查器 npx请确保您已安装Node.js和npm。使用 非挥发性物质 建议使用(节点版本管理器)来管理Node.js版本。*
贡献
我们欢迎社区的贡献! 🎉 无论您是研究人员、开发人员还是对分子生物学和质粒研究感兴趣的爱好者,都有很多方法可以参与其中:
我们特别鼓励您尝试我们的MCP服务器,并与我们分享您的反馈! 您使用服务器的经验、遇到的任何问题以及改进建议对于使该工具更好地服务于整个研究社区来说都是非常有价值的。
贡献方式
- 🐛 错误报告:发现问题?请打开一个包含详细信息的GitHub问题
- 💡 功能请求:对新功能有想法吗?我们很乐意听到他们!
- 📝 文档:帮助改进我们的文档、示例或教程
- 🧪 测试:添加测试用例,特别是边缘用例或新的搜索模式
- 🔍 数据质量:帮助识别和报告数据不一致或提出改进建议
- 🚀 演出:优化抓取、改进缓存或提高服务器性能
- 🌐 整合:为新的MCP客户端或AI系统创建示例
- 🎥 教程和视频:创建教程、视频指南或教育内容,展示如何使用MCP服务器
- 📖 用户故事:使用我们的MCP服务器分享您的研究工作流程和成功案例
- 🤝 社区外展:帮助我们在分子生物学界宣传MCP的采用
教程、视频和用户故事对我们来说尤其有价值! 我们正在努力推动分子生物学界采用人工智能,研究人员如何使用我们的MCP服务器的真实例子有助于展示实际好处并鼓励更广泛的采用。
入门指南
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 进行更改并添加测试
- 运行测试套件(
TESTING=true uv run pytest) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到您的分支(
git push origin feature/amazing-feature) - 打开拉取请求
开发指南
- 遵循现有的代码风格(我们使用
ruff用于格式化和换行) - 添加新功能的测试
- 根据需要更新文档
- 保持提交的重点,并写明确的提交消息
- 在提交PR之前,确保所有测试都通过
问题或想法?
不要犹豫,打开一个问题进行讨论!我们很友好,总是很乐意帮助新来者开始。您的贡献有助于为每个人推进开放科学和分子生物学研究。 🧬✨
已知问题
Windows兼容性
MCP服务器尚未在Windows系统上进行全面测试。一些用户报告说,在Windows上搜索要么崩溃,要么不返回结果。如果您在Windows上遇到问题,请将其报告为GitHub问题,并详细说明您的Windows版本和错误消息。
报废限制
此MCP服务器依赖于对Addgene网站的网络抓取。虽然我们通过适当的延迟和错误处理实现了尊重的抓取实践,但服务器的功能取决于Addgene网站的当前结构。对网站的更改可能需要更新抓取逻辑。
速率限制
为了尊重Addgene的服务器,我们实施了速率限制。对于高容量使用,请考虑实现缓存或联系Addgene了解API访问。
测试覆盖率
虽然我们提供全面的测试,包括CI稳定性的模拟数据,但并非所有测试用例都已根据实时Addgene数据进行了验证。一些边缘情况可能需要额外的验证。
许可证
该项目根据MIT许可证获得许可。
致谢
该项目是 长寿精灵 该组织为健康、遗传学和长寿研究开发开源人工智能助手和图书馆。
MCP服务器
我们还为生物医学研究开发了其他专用MCP服务器:
- gget mcp:一个强大的生物信息学工具包,用于基因组学查询和分析,涵盖了流行的
gget图书馆。 - opengenes-mcp:OpenGenes项目的衰老和长寿研究的可查询数据库。
- 协同年龄mcp:SynergyAge的长寿协同和拮抗遗传相互作用数据库。
- 生物科技公司:访问BioThings.io API,获取全面的基因、变异、化学和分类数据。
- 药理学mcp:访问药物、靶点和配体信息的药理学数据库指南。
我们得到了以下方面的支持:

*健康生命延伸协会*
和

