【技术文档摘要】
这是一个全面的模型上下文协议(MCP)服务器,提供对 UniProt 蛋白质数据库的高级访问。该服务器提供了 26 种专门的生物信息学工具,使 AI 助手和 MCP 客户端能够通过 UniProt 的 REST API 直接进行复杂的蛋白质研究、比较基因组学、结构生物学分析以及系统生物学调查。
由 Augmented Nature 开发
git clone <repository-url>
cd uniprot-server
npm install
npm run build
构建 Docker 镜像:
docker build -t uniprot-mcp-server .
运行容器:
docker run -i uniprot-mcp-server
对于 MCP 客户端集成,可以直接使用容器:
{
"mcpServers": {
"uniprot": {
"command": "docker",
"args": ["run", "-i", "uniprot-mcp-server"],
"env": {}
}
}
}
创建一个 docker-compose.yml 文件以便于管理:
version: "3.8"
services:
uniprot-mcp:
build: .
image: uniprot-mcp-server
stdin_open: true
tty: true
运行:
docker-compose up
该服务器设计为通过标准 I/O 通信的 MCP 服务器:
npm start
将服务器添加到您的 MCP 客户端配置(例如 Claude Desktop):
{
"mcpServers": {
"uniprot": {
"command": "node",
"args": ["/path/to/uniprot-server/build/index.js"],
"env": {}
}
}
}
按名称、关键词或生物体搜索 UniProt 数据库中的蛋白质。
参数:
query(必需):搜索查询(蛋白质名称、关键词或复杂搜索)organism(可选):用于筛选结果的生物体名称或分类学 IDsize(可选):返回的结果数量(1-500,默认:25)format(可选):输出格式 - json、tsv、fasta、xml(默认:json)示例:
{
"query": "胰岛素",
"organism": "人类",
"size": 5
}
通过 UniProt 访问号获取特定蛋白质的详细信息。
参数:
accession(必需):UniProt 访问号(例如 P04637)format(可选):输出格式 - json、tsv、fasta、xml(默认:json)示例:
{
"accession": "P01308",
"format": "json"
}
按基因名称或符号搜索蛋白质。
参数:
gene(必需):基因名称或符号(例如 BRCA1、INS)organism(可选):用于筛选结果的生物体名称或分类学 IDsize(可选):返回的结果数量(1-500,默认:25)示例:
{
"gene": "BRCA1",
"organism": "人类"
}
获取蛋白质的氨基酸序列。
参数:
accession(必需):UniProt 访问号format(可选):输出格式 - fasta、json(默认:fasta)示例:
{
"accession": "P01308",
"format": "fasta"
}
获取蛋白质的功能特征和域。
参数:
accession(必需):UniProt 访问号示例:
{
"accession": "P01308"
}
该服务器通过 URI 模板直接访问 UniProt 数据:
uniprot://protein/{accession}uniprot://protein/P01308uniprot://sequence/{accession}uniprot://sequence/P01308uniprot://search/{query}uniprot://search/胰岛素搜索人类的胰岛素蛋白质:
// 工具调用
{
"tool": "search_proteins",
"arguments": {
"query": "胰岛素",
"organism": "人类",
"size": 10
}
}
检索关于人类胰岛素的综合信息:
// 工具调用
{
"tool": "get_protein_info",
"arguments": {
"accession": "P01308"
}
}
查找与 BRCA1 基因相关的蛋白质:
// 工具调用
{
"tool": "search_by_gene",
"arguments": {
"gene": "BRCA1",
"organism": "人类"
}
}
获取人类胰岛素的氨基酸序列:
// 工具调用
{
"tool": "get_protein_sequence",
"arguments": {
"accession": "P01308",
"format": "fasta"
}
}
获取人类胰岛素的功能域和特征:
// 工具调用
{
"tool": "get_protein_features",
"arguments": {
"accession": "P01308"
}
}
此服务器通过 UniProt REST API 实现程序化访问蛋白质数据。有关 UniProt 的更多信息:
所有 API 请求包括:
UniProt-MCP-Server/1.0.0https://rest.uniprot.org(仅限程序化访问)该服务器包括全面的错误处理:
npm run build
在监视模式下运行 TypeScript 编译器:
npm run dev
uniprot-server/
├── src/
│ └── index.ts # 主服务器实现
├── build/ # 编译后的 JavaScript 输出
├── package.json # Node.js 依赖项和脚本
├── tsconfig.json # TypeScript 配置
└── README.md # 本文件
MIT 许可证
对于问题和疑问:
这个全面的 UniProt MCP 服务器是由 Augmented Nature 开发的,该公司是人工智能驱动的生物信息学和计算生物学解决方案的领先创新者。Augmented Nature 专注于创建先进的工具,弥合人工智能和生物研究之间的差距,使研究人员能够从生物数据中获得更深层次的见解。
search_proteins - 按名称、关键词或生物体搜索 UniProt 数据库get_protein_info - 通过访问号获取详细蛋白质信息search_by_gene - 按基因名称或符号查找蛋白质get_protein_sequence - 检索氨基酸序列get_protein_features - 访问功能特征和域compare_proteins - 并排比较多个蛋白质get_protein_homologs - 在物种间查找同源蛋白质get_protein_orthologs - 识别直系同源物get_phylogenetic_info - 检索进化关系get_protein_structure - 访问来自 PDB 的三维结构信息get_protein_domains_detailed - 增强的域分析(InterPro、Pfam、SMART)get_protein_variants - 疾病相关的变异和突变analyze_sequence_composition - 氨基酸组成分析get_protein_pathways - 相关的生物通路(KEGG、Reactome)get_protein_interactions - 蛋白质-蛋白质相互作用网络search_by_function - 按 GO 术语或功能注释搜索search_by_localization - 按亚细胞定位查找蛋白质batch_protein_lookup - 高效处理多个访问号advanced_search - 具有多个过滤器的复杂查询search_by_taxonomy - 按分类学分类搜索get_external_references - 链接到其他数据库(PDB、EMBL、RefSeq 等)get_literature_references - 相关出版物和引文get_annotation_confidence - 注释的质量分数export_protein_data - 导出至专用格式(GFF、GenBank、EMBL、XML)validate_accession - 检查访问号的有效性get_taxonomy_info - 详细的分类学信息如果您在研究或出版物中使用了该项目,请按照以下方式引用:
author = {Moudather Chelbi},
title = {UniProt MCP 服务器},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Augmented-Nature-UniProt-MCP-Server/},
note = {访问日期:2025-06-29}