NCBI BLAST MCP服务器
MCP服务器和Gradio网络应用程序,使用NCBI的BLAST服务执行DNA序列相似性搜索。它允许用户输入DNA序列,并从NCBI数据库中获取前十个序列匹配,从而能够识别生物体和基因。
此应用程序的功能是 模型上下文协议(MCP)服务器 与AI助手集成。
Model Context Protocol (MCP) is an open protocol that standardizes how
applications provide context to LLMs. MCP enables models to interact
with the world. Learn more at modelcontextprotocol.io为 HuggingFace Gradio代理商和MCP黑客马拉松2025.Track 1(mcp服务器跟踪):通过构建Gradio应用程序来完成任何特定任务,从而扩展您最喜欢的LLM的功能。
HuggingFaceSpaces上的MCP/Gradio应用程序: 代理MCP黑客马拉松/ncbi-blast MCP服务器
使用光标桌面的演示视频:“https://youtu.be/yCpaTvcDeqM"
特性
- 用于AI助手集成的MCP服务器
- Web界面和程序化API访问
- 使用NCBI BLAST进行DNA序列相似性搜索
- 以FASTA或原始格式提交DNA序列
- 自动序列验证和清洗
- 以JSON格式返回前10个匹配项
Cursor IDE中的快速入门
克隆或下载此存储库,然后在Cursor终端中运行:
pip install -r requirements.txt
python app.py打开提供的本地URL(http://localhost:7860)访问web界面。
Web UI使用情况
输入:以FASTA格式或原始核苷酸粘贴您的DNA序列
>My sequence
AGTCTGNYRGWACGT或者只是:
AGTCTGNYRGWACGT输出:查看生成的顶部序列匹配的JSON输出
程序化使用
使用Python以编程方式查询正在运行的服务器:
pip install gradio_client
from gradio_client import Client
client = Client("/ncbi-blast-mcp-server")
result = client.predict(
seq="ATGGACACCTACTCCTCTGGAGAAGATTTAGTTATTAAGACACGAAAACCGTATACAATTACCAAGCAACGGGAACGATGGACAGAGGAGGAGCATAA
TAGGTTTCTAGAAGCCTTAAAACTCTATGGGCGAGCGTGGCAACGTATCGAAGAACATATAGGAACCAAGACTGCTGTGCAGATCAGAAGTCATGCACA
GAAATTCTTTACAAAGTTGGAGAAGGAAGCTCTTGTGAAAGGAGTTCCAATAAGACAAGCTATTGACATAGAGATTCCTCCTCCGCGCCCTAAAAGGAA
ACCAAGCAATCCTTATCCTCGAAAGACTGGTGTGGCAACACCTAGTCTGCAGGTGGGAGCAAAGGATGGGAATAATTCATCATCAGTTTCTTCTTCCTG
CACTGCCACTGGTAAACAAATACTGGACTTGGAAAGAGAACCACTACCTGAGAAACCTGATGGAGATGAAAAGCAAGAAAATGCCAAAGAAAACCAGGA
TGAGGGAAATTTCTCTGAAGTTTTAACCCTTTTCCAAGAAGCTCCGTGTACGTCCTTGTCTTCAGTGGACAAAGATTCCATTCGAACACTGGCGGCACC",
api_name="/blast_ui"
)查看顶部结果:
import json
blast_data = json.loads(result[1])
if "error" not in blast_data:
top_hit = blast_data["top_hits"][0]
print(f"Organism: {top_hit['description']}")
print(f"Identity: {top_hit['identity_percent']}%")输入要求
- 仅单个序列(没有多个FASTA条目)
- DNA序列作为输入
- 最大长度:3000个碱基对
- 支持IUPAC DNA编码,包括模糊碱基
- 自动删除页眉和空格
备注
- 使用NCBI的公共BLAST服务
- 结果通常在30-180秒内可用
- 尊重NCBI使用指南
- 从描述中删除“PREDICTED:”前缀
未来工作
- 启用多序列输入
- 启用蛋白质和RNA搜索功能
