remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
UniProt MCP 服务器
一个模型上下文协议 (MCP) 服务器,提供对 UniProt 蛋白质信息的访问。该服务器允许 AI 助手直接从 UniProt 获取蛋白质功能和序列信息。
特征
- 通过 UniProt 登录号获取蛋白质信息
- 批量检索多种蛋白质
- 缓存以提高性能(24 小时 TTL)
- 错误处理和日志记录
- 信息包括:
- 蛋白质名称
- 功能描述
- 完整序列
- 序列长度
- 生物
快速入门
- 确保安装了 Python 3.10 或更高版本
- 克隆此存储库:Copy
- 安装依赖项:Copy
配置
添加到您的 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
Copy
使用示例
在 Claude Desktop 中配置服务器后,您可以提出以下问题:
Copy
对于批量查询:
Copy
API 参考
工具
get_protein_info
- 获取单个蛋白质的信息
- 必需参数:
accession
(UniProt 登录号) - 响应示例:Copy
get_batch_protein_info
- 获取多种蛋白质的信息
- 必需参数:
accessions
(UniProt 登录号数组) - 返回蛋白质信息对象数组
发展
设置开发环境
- 克隆存储库
- 创建虚拟环境:Copy
- 安装开发依赖项:Copy
运行测试
Copy
代码风格
该项目使用:
- 黑色表示代码格式
- isort 用于导入排序
- flake8 用于 linting
- mypy 用于类型检查
- 强盗进行安全检查
- 依赖项漏洞检查的安全性
运行所有检查:
Copy
技术细节
- 使用 MCP Python SDK 构建
- 使用 httpx 进行异步 HTTP 请求
- 使用基于 OrderedDict 的缓存实现 24 小时 TTL 的缓存
- 处理速率限制和重试
- 提供详细的错误消息
错误处理
服务器处理各种错误情况:
- 无效的登录号(404 个响应)
- API 连接问题(网络错误)
- 速率限制(429 条回复)
- 格式错误的响应(JSON 解析错误)
- 缓存管理(TTL 和大小限制)
贡献
欢迎大家贡献代码!欢迎提交 Pull 请求。贡献方式如下:
- 分叉存储库
- 创建你的功能分支(
git checkout -b feature/amazing-feature
) - 提交您的更改(
git commit -m 'Add some amazing feature'
) - 推送到分支(
git push origin feature/amazing-feature
) - 打开拉取请求
请确保适当更新测试并遵守现有的编码风格。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
致谢
- UniProt 提供蛋白质数据 API
- Anthropic 的模型上下文协议规范
- 帮助改进此项目的贡献者
You must be authenticated.
使 AI 助手能够直接从 UniProt 访问蛋白质信息,从而可以通过登录号检索蛋白质名称、功能、序列和生物体数据。
- Features
- Quick Start
- Configuration
- Usage Examples
- API Reference
- Development
- Technical Details
- Contributing
- License
- Acknowledgments