SCP 服务使用教程
一、使用科学服务
科学工具把各科研服务封装为标准化的 SCP 工具(如蛋白结构预测、分子对接、序列检索等)。在 Python 项目中,仅需安装 MCP,即可通过 Streamable HTTP 连接对应服务并调用其 tool,无需自行搭建模型环境。
二、开始前的准备
1. 本机已安装 Python 3.10 及以上版本。
2. 已获取 API Key,用于调用鉴权:进入【密钥管理】页面,点击「创建 API Key」即可生成。
- 默认有效期 6 个月,到期需重新创建
- 默认限流 500 次 / 分钟(RPM)
- 请妥善保管你的 API Key,避免不必要的安全风险或资金损失



3. 在科学工具确定要调用的服务及其 Endpoint 和 tool 名称(在对应 SCP 详情页中查看)。
- Endpoint:服务的接口地址,用于 streamablehttp_client 的 url 参数
- 配置示例:包含 mcpServers 结构的 JSON 片段,可直接复制到你的客户端配置文件中,将 {Your API Key} 替换为实际密钥

三、安装 MCP
将 MCP 添加到你的 Python 项目下,仅需安装 MCP 即可:
pip install mcp
四、使用 Streamable HTTP 连接示例
以调用 Origene-UniProt 服务的 get_protein_sequence_by_name 工具为例:
import asyncio
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
async def main():
# 连接
transport = streamablehttp_client(
url="https://scp.intern-ai.org.cn/api/v1/mcp/10/Origene-UniProt",
headers={"SCP-HUB-API-KEY": "{Your API Key}"} # 替换为实际的 API Key
)
read, write, _ = await transport.__aenter__()
session_ctx = ClientSession(read, write)
session = await session_ctx.__aenter__()
await session.initialize()
# 调用工具
result = await session.call_tool("get_protein_sequence_by_name", arguments={"name": "..."})
# 输出结果
for item in result.content:
if hasattr(item, 'text'):
print(item.text)
# 清理
await session_ctx.__aexit__(None, None, None)
await transport.__aexit__(None, None, None)
if __name__ == '__main__':
asyncio.run(main())
关键参数说明:
| 参数 | 说明 |
|---|---|
url | 目标 SCP 服务的 Endpoint,在对应服务详情页「配置信息」中获取 |
SCP-HUB-API-KEY | 鉴权密钥,替换 {Your API Key} 为你在【密钥管理】中获取的实际 Key |
call_tool 第一个参数 | 要调用的 tool 名称(如 get_protein_sequence_by_name),在服务详情页查看可用 tool |
arguments | 该 tool 的入参,字段以 tool 的 Input Schema 为准 |
五、常见问题
| 问题 | 排查建议 |
|---|---|
pip install mcp 失败 | 确认 Python ≥ 3.10;网络受限时可更换 pip 源 |
| 连接返回鉴权失败 | 检查 SCP-HUB-API-KEY 是否填写正确、密钥是否有效 |
| 提示找不到 tool | 确认 tool 名称与服务详情页完全一致,注意大小写 |
| 调用参数报错 | 对照该 tool 的 Input Schema 检查 arguments 字段 |
六、服务详情页「如何使用」速览
每个服务详情页右侧都提供「如何使用」三步引导,与本文档一一对应:
- 安装 MCP SDK:
pip install mcp,支持 Python 3.10+ - 申请 API Key:前往【密钥管理】创建,注意默认有效期与限流
- 配置信息:复制该服务的 Endpoint 与配置示例,替换 API Key 后即可调用