OmicVerse MCP 参考文档#
本页面是服务器标志、工具计数、返回信封和常见错误模式的简洁技术参考。
CLI 标志#
标志 |
默认值 |
描述 |
|---|---|---|
|
|
要暴露的部署阶段 |
|
|
|
|
|
会话标识符 |
|
tempdir |
|
|
|
AnnData 句柄的最大数量 |
|
|
artifact 句柄的最大数量 |
|
|
HTTP 绑定主机 |
|
|
HTTP 绑定端口 |
|
|
HTTP 路由路径 |
|
— |
显示版本 |
当前工具计数#
来自当前服务器的实际计数:
阶段选择 |
工具总数 |
|---|---|
|
40 |
|
53 |
|
58 |
细分:
P0:15 个分析工具P0.5:13 个额外分析工具P2:5 个高级分析工具元工具:25 个
响应信封#
大多数工具调用返回如下结构:
{
"ok": true,
"tool_name": "ov.utils.read",
"summary": "Loaded AnnData",
"outputs": [],
"state_updates": {},
"warnings": []
}
失败时使用:
{
"ok": false,
"error_code": "missing_data_requirements",
"message": "Missing required data",
"details": {},
"suggested_next_tools": []
}
JSON-RPC 示例#
tools/list#
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}
tools/call#
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "ov.utils.read",
"arguments": {
"path": "pbmc3k.h5ad"
}
}
}
使用 Claude Code 或 Claude Desktop 时,通常不需要手动发送原始 JSON-RPC。
常见输出类型#
object_ref:通常是adata_id或instance_idjson:结构化表格或元数据image:绘图结果
典型错误码#
错误码 |
含义 |
|---|---|
|
未找到 |
|
缺少前提数据,如 |
|
工具存在但因依赖或部署状态而无法执行 |
|
底层工具抛出错误 |
通用 stdio 客户端示例#
import subprocess
import json
proc = subprocess.Popen(
["python", "-m", "omicverse.mcp"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
)
request = {"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}
proc.stdin.write(json.dumps(request) + "\n")
proc.stdin.flush()
response = json.loads(proc.stdout.readline())
print(f"Available tools: {len(response['result']['tools'])}")
call_request = {
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "ov.utils.read",
"arguments": {"path": "pbmc3k.h5ad"},
},
}
proc.stdin.write(json.dumps(call_request) + "\n")
proc.stdin.flush()
print(json.loads(proc.stdout.readline()))
常用元工具#
ov.list_toolsov.describe_toolov.get_sessionov.list_handlesov.get_traceov.list_tracesov.get_health