Skip to main content
Glama

UniProt MCP 服务器

一个模型上下文协议 (MCP) 服务器,提供对 UniProt 蛋白质信息的访问。该服务器允许 AI 助手直接从 UniProt 获取蛋白质功能和序列信息。

特征

  • 通过 UniProt 登录号获取蛋白质信息

  • 批量检索多种蛋白质

  • 缓存以提高性能(24 小时 TTL)

  • 错误处理和日志记录

  • 信息包括:

    • 蛋白质名称

    • 功能描述

    • 完整序列

    • 序列长度

    • 生物

Related MCP server: AI Agent Marketplace Index Search

快速入门

  1. 确保安装了 Python 3.10 或更高版本

  2. 克隆此存储库:

    git clone https://github.com/TakumiY235/uniprot-mcp-server.git cd uniprot-mcp-server
  3. 安装依赖项:

    # Using uv (recommended) uv pip install -r requirements.txt # Or using pip pip install -r requirements.txt

配置

添加到您的 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"] } } }

使用示例

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

Can you get the protein information for UniProt accession number P98160?

对于批量查询:

Can you get and compare the protein information for both P04637 and P02747?

API 参考

工具

  1. get_protein_info

    • 获取单个蛋白质的信息

    • 必需参数: accession (UniProt 登录号)

    • 响应示例:

      { "accession": "P12345", "protein_name": "Example protein", "function": ["Description of protein function"], "sequence": "MLTVX...", "length": 123, "organism": "Homo sapiens" }
  2. get_batch_protein_info

    • 获取多种蛋白质的信息

    • 必需参数: accessions (UniProt 登录号数组)

    • 返回蛋白质信息对象数组

发展

设置开发环境

  1. 克隆存储库

  2. 创建虚拟环境:

    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. 安装开发依赖项:

    pip install -e ".[dev]"

运行测试

pytest

代码风格

该项目使用:

  • 黑色表示代码格式

  • isort 用于导入排序

  • flake8 用于 linting

  • mypy 用于类型检查

  • 强盗进行安全检查

  • 依赖项漏洞检查的安全性

运行所有检查:

black . isort . flake8 . mypy . bandit -r src/ safety check

技术细节

  • 使用 MCP Python SDK 构建

  • 使用 httpx 进行异步 HTTP 请求

  • 使用基于 OrderedDict 的缓存实现 24 小时 TTL 的缓存

  • 处理速率限制和重试

  • 提供详细的错误消息

错误处理

服务器处理各种错误情况:

  • 无效的登录号(404 个响应)

  • API 连接问题(网络错误)

  • 速率限制(429 条回复)

  • 格式错误的响应(JSON 解析错误)

  • 缓存管理(TTL 和大小限制)

贡献

欢迎大家贡献代码!欢迎提交 Pull 请求。贡献方式如下:

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add some amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

请确保适当更新测试并遵守现有的编码风格。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

致谢

  • UniProt 提供蛋白质数据 API

  • Anthropic 的模型上下文协议规范

  • 帮助改进此项目的贡献者

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TakumiY235/uniprot-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server