UniProt

UniProt

🚀 UniProt MCP 服务器

UniProt MCP 服务器是一个基于模型上下文协议(MCP)的服务器,它能够为 AI 助手提供直接从 UniProt 获取蛋白质功能和序列信息的能力,有效解决了 AI 助手获取蛋白质信息的难题,为相关研究和应用提供了便利。

🚀 快速开始

  1. 确保安装了 Python 3.10 或更高版本。
  2. 克隆此仓库:
    git clone https://github.com/TakumiY235/uniprot-mcp-server.git
    cd uniprot-mcp-server
    
  3. 安装依赖项:
    # 使用uv(推荐)
    uv pip install -r requirements.txt
    
    # 或使用pip
    pip install -r requirements.txt
    

✨ 主要特性

  • 精准查询:可通过 UniProt 访问号获取蛋白质信息。
  • 批量检索:支持批量检索多个蛋白质的信息。
  • 性能优化:带有 24 小时过期时间的缓存以提高性能。
  • 稳定可靠:具备错误处理和日志记录功能。
  • 信息丰富:提供的信息包括蛋白质名称、功能描述、完整序列、序列长度和生物体。

📦 安装指南

克隆仓库

git clone https://github.com/TakumiY235/uniprot-mcp-server.git
cd uniprot-mcp-server

安装依赖

# 使用uv(推荐)
uv pip install -r requirements.txt

# 或使用pip
pip install -r requirements.txt

💻 使用示例

基础用法

在配置好服务器的 Claude Desktop 中,您可以提出以下问题:

你能获取 UniProt 访问号 P98160 的蛋白质信息吗?

高级用法

对于批量查询:

你能并比较 P04637 和 P02747 两个 UniProt 访问号的蛋白质信息吗?

📚 详细文档

配置说明

将以下内容添加到 Claude Desktop 配置文件中:

  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"uniprot": {
"command": "uv",
"args": ["--directory", "path/to/uniprot-mcp-server", "run", "uniprot-mcp-server"]
}
}
}

API 参考

工具

  1. get_protein_info
    • 功能:获取单个蛋白质的信息。
    • 必需参数accession(UniProt 访问号)。
    • 示例响应
      {
      "accession": "P12345",
      "name": "Test Protein",
      "function": "This is a test protein function.",
      "sequence": "MSRSLLLRFLLFLLLLPPLP",
      "length": 20,
      "organism": "Homo sapiens"
      }
      
  2. get_proteins_info
    • 功能:批量获取多个蛋白质的信息。
    • 必需参数accessions(UniProt 访问号的列表)。
    • 示例响应
      [
      {
      "accession": "P12345",
      "name": "Test Protein 1",
      "function": "This is the function of test protein 1.",
      "sequence": "MSRSLLLRFLLFLLLLPPLP",
      "length": 20,
      "organism": "Homo sapiens"
      },
      {
      "accession": "QWERTY",
      "name": "Test Protein 2",
      "function": "This is the function of test protein 2.",
      "sequence": "MSRSLLLRFLLFLLLLPPLP",
      "length": 20,
      "organism": "Homo sapiens"
      }
      ]
      

开发说明

安装依赖项

pip install -r requirements.txt

运行服务器

python server.py

测试

使用提供的测试用例进行测试:

pytest tests/

🔧 技术细节

  • 使用 Flask 构建 Web 界面。
  • 使用 requests 库处理 API 请求。
  • 使用 json 库解析和生成 JSON 数据。

错误处理

常见错误

  1. 无效访问号:如果提供的 UniProt 访问号不存在,服务器将返回 404 错误。
  2. 批量请求中包含无效访问号:服务器将忽略无效的访问号并返回有效的蛋白质信息。

贡献指南

如何贡献代码

  1. fork 仓库。
  2. 创建功能分支。
  3. 提交更改。
  4. push 到远程仓库。
  5. 提交 pull request。

如何报告问题

  • 提交 Issues 到 GitHub 仓库。

📄 许可证

本项目遵守 MIT 许可证 - 详细信息请参阅LICENSE文件。

致谢

  • UniProt 提供蛋白质数据 API。
  • Anthropic 提供模型上下文协议规范。
  • 所有贡献者帮助改进此项目。
  • 0 关注
  • 0 收藏,17 浏览
  • system 提出于 2025-09-21 09:00

相似服务问题

相关AI产品