Uniprot Mcp Server

Uniprot Mcp Server

🚀 UniProt MCP 服务器

UniProt MCP 服务器是一个基于模型上下文协议(MCP)的服务器,它能够让 AI 助手直接从 UniProt 获取蛋白质的功能和序列信息,为蛋白质信息的获取提供了便捷的途径。

🚀 快速开始

  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 访问ion号获取蛋白质信息。
  • 支持批量检索多个蛋白质的信息。
  • 带有 24 小时过期时间的缓存机制,有效提高性能。
  • 具备错误处理和日志记录功能。
  • 可提供的信息包括:
    • 蛋白质名称
    • 功能描述
    • 完整序列
    • 序列长度
    • 生物物种

📦 安装指南

克隆仓库

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

安装依赖项

pip install -r requirements.txt

启动服务器

python server.py

💻 使用示例

基础用法

在将服务器配置到 Claude Desktop 后,您可以提出如下问题:

能否获取UniProt访问ion号P98160的蛋白质信息?

高级用法

对于批量查询,您可以这样提问:

能否获取并比较P04637和P02747两个 UniProt 访问ion号对应的蛋白质信息?

📚 详细文档

配置

将以下内容添加到您的 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 访问ion号)。
    • 示例响应:
      {
      "accession": "P12345",
      "name": "蛋白质名称",
      "function": "蛋白质功能描述",
      "sequence": "MKTMDVLLMVLTALAVLYQRL...",
      "length": 1024,
      "species": "Homo sapiens"
      }
      
  2. get_batch_proteins
    • 功能:批量获取多个蛋白质的信息。
    • 必要参数:accessions(包含多个访问ion号的列表)。
    • 可选参数:include_sequence(是否包含序列,默认为 true)。

🔧 技术细节

  • 使用 httpx 进行 HTTP 请求。
  • 基于 OrderedDict 实现缓存机制。
  • 支持多线程处理并发请求。
  • 内置错误处理机制。

错误处理

可能的错误

  1. 无效访问ion号
    • 返回 400 Bad Request。
    • 示例响应:
      {
      "error": "Invalid accession number"
      }
      
  2. 网络错误
    • 返回 503 Service Unavailable。
    • 示例响应:
      {
      "error": "Network error occurred while fetching data"
      }
      

贡献指南

如何贡献

  1. 叉仓库:git clone https://github.com/TakumiY235/uniprot-mcp-server.git
  2. 创建功能分支:git checkout -b feature/your-feature-name
  3. 提交更改:git commit -m "你的提交信息"
  4. 推送到远程仓库:git push origin feature/your-feature-name
  5. 提交拉取请求。

代码规范

  • 遵循 PEP8 编码规范。
  • 使用有意义的变量名。
  • 添加详细的注释,确保代码可读性。

📄 许可证

本项目遵循 MIT 许可证 - 请查看 LICENSE 文件以获取详细信息。

致谢

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

相似服务问题

相关AI产品