非官方UniProt MCP服务器是一个全面的模型上下文协议(MCP)服务器,它提供了对UniProt蛋白质数据库的高级访问。该服务器拥有26种专业的生物信息学工具,使AI助手和MCP客户端能够通过UniProt的REST API直接进行复杂的蛋白质研究、比较基因组学、结构生物学分析和系统生物学研究。
由增强自然开发
git clone
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
该服务器设计为通过标准输入输出进行通信的MCP服务器:
npm start
将服务器添加到您的MCP客户端配置(例如Claude Desktop):
{
"mcpServers": {
"uniprot": {
"command": "node",
"args": ["/path/to/uniprot-server/build/index.js"],
"env": {}
}
}
}
通过名称、关键词或生物体在UniProt数据库中搜索蛋白质。 参数:
query(必需):搜索查询(蛋白质名称、关键词或复杂搜索)organism(可选):生物体名称或分类学ID以过滤结果size(可选):返回的结果数量(1 - 500,默认值:25)format(可选):输出格式 - json、tsv、fasta、xml(默认值:json)
示例:{
"query": "insulin",
"organism": "human",
"size": 5
}
通过UniProt编号获取特定蛋白质的详细信息。 参数:
accession(必需):UniProt编号(例如,P04637)format(可选):输出格式 - json、tsv、fasta、xml(默认值:json)
示例:{
"accession": "P01308",
"format": "json"
}
通过基因名称或符号搜索蛋白质。 参数:
gene(必需):基因名称或符号(例如,BRCA1、INS)organism(可选):生物体名称或分类学ID以过滤结果size(可选):返回的结果数量(1 - 500,默认值:25)
示例:{
"gene": "BRCA1",
"organism": "human"
}
获取蛋白质的氨基酸序列。 参数:
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/insulin在人类中搜索胰岛素蛋白质:
// 工具调用
{
"tool": "search_proteins",
"arguments": {
"query": "insulin",
"organism": "human",
"size": 10
}
}
检索人类胰岛素的全面信息:
// 工具调用
{
"tool": "get_protein_info",
"arguments": {
"accession": "P01308"
}
}
查找与BRCA1基因相关的蛋白质:
// 工具调用
{
"tool": "search_by_gene",
"arguments": {
"gene": "BRCA1",
"organism": "human"
}
}
获取人类胰岛素的氨基酸序列:
// 工具调用
{
"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服务器由**增强自然**开发,该公司是人工智能驱动的生物信息学和计算生物学解决方案的领先创新者。增强自然专注于创建先进的工具,弥合人工智能与生物学研究之间的差距,使研究人员能够从生物数据中获得更深入的见解。
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访问3D结构信息。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 - 获取详细的分类学信息。如果您在研究或出版物中使用此项目,请按以下方式引用:
@misc{uniprotmcp2025,
author = {Moudather Chelbi},
title = {UniProt MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Augmented-Nature-UniProt-MCP-Server/},
note = {Accessed: 2025-06-29}
}