关于 三域医研 · 科研算法引擎 (SanYu Research Engine)
三域医研 · 科研算法引擎是面向医学研究的 MCP 服务,提供统计、生信、序列、文献及写作相关工具。响应会标注数据来源和核验状态;确定性计算与生成类动作分别处理,生成类工具需相应密钥。
主要功能
- 01统计检验、生存分析与研究设计
- 02生信分析及序列处理
- 03文献检索与引文格式化
- 04研究方案、写作和审稿生成
- 05响应附数据来源与核验标签
适用场景
- 01执行 ROC/AUC 或生存分析
- 02开展差异表达或富集分析
- 03检索 PubMed 文献并格式化引文
- 04生成论文草稿后轮询任务结果
MCP 相关
通过 Streamable HTTP MCP 服务暴露 147 个工具,包括 145 个研究动作和两个元工具。目录可公开查看;执行需要 Bearer 密钥,生成类动作还需 generate scope,并通过 sanyu_job_status 查询异步结果。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://sanyu.wentangkeji.com/api/mcpclaude mcp add --transport http kfx2026-sanyu-research https://sanyu.wentangkeji.com/api/mcp{"mcpServers":{"kfx2026-sanyu-research":{"type":"http","url":"https://sanyu.wentangkeji.com/api/mcp"}}}在 Cursor 中打开{"servers":{"kfx2026-sanyu-research":{"type":"http","url":"https://sanyu.wentangkeji.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"kfx2026-sanyu-research":{"type":"http","url":"https://sanyu.wentangkeji.com/api/mcp"}}}{"mcpServers":{"kfx2026-sanyu-research":{"serverUrl":"https://sanyu.wentangkeji.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
来自项目 README三域医研 · 科研算法引擎 (SanYu Research Engine) — MCP Server
正式中文名:三域医研 · 科研算法引擎;英文检索名 SanYu Research Engine。平台站:https://sanyu.wentangkeji.com
145 个动作 = 106 个确定性算法 + 39 个大模型生成类;对外暴露为 147 个 MCP 工具
(145 个动作 + 2 个元工具 sanyu_list_actions / sanyu_job_status)。
档位:当前生产为 L2 档(SANYU_OPEN_L2=1),即上表的 145/147;关闭该开关则为默认档 —— 106 个确定性动作 / 108 个 MCP 工具 / 0 个生成类,全部 readOnlyHint=true、不写库。
Medical research engines: 106 deterministic actions + 39 AI writers (L2 profile).
生成类工具的密钥前提(务必先读):39 个生成类动作(
api_class=gen,结果不可复现、readOnlyHint=false)需要generatescope 的密钥。generatescope 密钥可自助签发:在「API 密钥」页创建时选「AI 生成」类别即可(GET /api/keys/scopes里creatable: true,不需要管理员)。只用compute密钥调生成类会被scope_not_allowed(HTTP 403)明确拒绝,engine_status=not_run、cost=0——不执行、不扣分、不产生 LLM 费用。 也就是说:目录里列得出这 39 个工具,但当前拿不到生成结果。需要开通生成能力请联系平台另行签发对应类别的密钥;这不是工具故障。引擎口径(2026-11-10 复核):这 39 个动作按
api_class=gen归类、需要generatescope,但并非每一个都调用大模型——逐个核对执行体后确认,其中一部分是纯本地规则/文献计量引擎(选题可行性、新颖度、研究空白、选题热度评估),零 LLM token。响应体的data_source由服务端单一出口按实际执行体回填:确证的本地规则动作返回local_computation(data_source_verified=true),其余按分类兜底并标data_source_verified=false(来源未核验,请勿当作事实转述);排队阶段一律返回data_source=pending,不在执行前预先宣称来自大模型。 分类 / scope / 计费口径保持不变,避免把确证真 LLM 的动作误标成确定性算法。(实测:compute→403scope_not_allowed;generate→通过门禁、按各工具inputSchema补齐参数后异步返回job_id。)
106 个是确定性算法(SciPy / statsmodels / 自研算子),结果可复现,可以当结论用; 39 个归为生成类(选题 / 方案 / 写作 / 审稿 / 润色);其中多数调用大模型、结果不可复现,但含少量纯本地规则引擎(见上「引擎口径」),以响应体
data_source/data_source_verified为准,勿一概而论。 每个工具在_meta.sanyu/api_class里标了compute/data/gen—— 转述给用户时必须说清是哪一类,别把生成草稿说成算出来的结果。
调用需要自备密钥:目录和工具列表免费查看,执行需在 sanyu.wentangkeji.com/api-keys 免费领取一把 key, 填进
Authorization: Bearer sk-sanyu-xxx(注册送试用积分,执行失败不扣分)。只想先试试效果?
dna_translate、orf_find、roc_auc这三个工具无需密钥,每 IP 每天可试 20 次,返回体带demo:true与剩余次数。
一个跑在公网上的 MCP 服务器,把确定性算法(统计检验、生存分析、生信算子、引物设计、文献检索) 暴露给任何支持 MCP 的智能体(Claude、ChatGPT、Cursor、Cline、Dify、Coze、魔搭、自研脚本)。
自审计标签(每个响应都带)
这两个字段回答同一个问题:这次结果是算出来的,还是生成的?
data_source | 含义 | 能不能当结论 |
|---|---|---|
local_computation | 确定性算法算出,同输入同输出 | 可以(给复现参数) |
external_corpus | 读取真实语料(如 PMC 全文库)后计算 | 可以,注明语料版本 |
llm_generated | 大模型生成(选题 / 方案 / 写作 / 审稿 / 润色) | 不可复现,只能当草稿 |
user_data | 基于调用方上传的数据计算 | 可以,注明自有数据口径 |
pending | 已受理、尚未执行 | 什么都还没发生,不得预先宣称来源 |
data_source_verified | 含义 |
|---|---|
true | 标签由执行体亲自上报,或经三重证据确证 |
false | 标签按动作分类推断,未经执行体确认 |
⚠️
verified=false不等于结果无效。 它只说明"来源标签是按分类推断的", 数值本身照常可用;需要避免的是把来源当事实向用户断言,而不是把结果丢掉。
生成类为异步:提交后返回 data_source=pending + verified=false,
轮询到 status=succeeded 才拿 result 与最终标签。
它和"大模型套壳"的区别
| 别人的科研 agent | 这个 |
|---|---|
| LLM 生成数字,看起来像真的 | SciPy / statsmodels / 自研算子真算 |
| 你没法判断真假 | 每个响应强制带 engine_status = real / unavailable / error |
| 出错难追溯 | 每次调用落审计(参数只存 SHA-256,患者数据不进日志) |
| 缺参数就瞎猜 | 返回 hint_fields,智能体可自我修正,且不扣分 |
| 算不出也硬给 | 引擎不可用时如实返回 unavailable,不编造 |
连接
https://sanyu.wentangkeji.com/api/mcp
- 传输:Streamable HTTP(协议
2025-06-18/2025-03-26/2024-11-05自动协商) - 认证:
Authorization: Bearer sk-sanyu-xxx - 看目录不需要密钥(
tools/list公开),执行才需要 - 密钥获取:注册后在 https://sanyu.wentangkeji.com 的「API 密钥」页生成(注册送试用积分)
ModelScope(魔搭)/ 通用 MCP 配置
⚠️ 这一段必须排在其他配置之前:魔搭只取第一个
mcpServers块做部署检测, 且type只认streamable_http(下划线)。写成http会导致"基础信息解析失败"。
{
"mcpServers": {
"sanyu-research": {
"type": "streamable_http",
"url": "https://sanyu.wentangkeji.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-sanyu-REPLACE-WITH-YOUR-OWN-KEY"
}
}
}
}
Cursor / Cline / 任何 mcp.json
{
"mcpServers": {
"sanyu": {
"type": "http",
"url": "https://sanyu.wentangkeji.com/api/mcp",
"headers": { "Authorization": "Bearer sk-sanyu-你的密钥" }
}
}
}
Claude Code
claude mcp add --transport http sanyu https://sanyu.wentangkeji.com/api/mcp \
--header "Authorization: Bearer sk-sanyu-你的密钥"
只支持本地进程的旧客户端
{
"mcpServers": {
"sanyu": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://sanyu.wentangkeji.com/api/mcp",
"--header", "Authorization: Bearer sk-sanyu-你的密钥"]
}
}
}
Dify / Coze(导入 OpenAPI)
https://sanyu.wentangkeji.com/api/open/v1/openapi.json
认证方式选 Bearer,填 sk-sanyu-xxx。
若觉得 145 个工具太多、Agent 选不准,可改用精选 24 个的 schema 导入。
动作分类(145 = 106 确定性 + 39 生成)|MCP 工具 147 = 145 + 2 元工具
| 类别 | 代表动作 |
|---|---|
| 统计分析 | ROC/AUC、DeLong、校准曲线、生存分析(KM/Cox)、ANOVA 及两两比较、置换检验、Egger 检验、IPTW、SMD 均衡 |
| 数据采集 | Table 1(基线表)、亚组 Table 1、数据快速画像 |
| 研究设计 | 样本量计算、随机化分组(固定种子可复现)、倾向性评分匹配 PSM |
| 生信解读 | 差异表达、GO/KEGG 富集、PPI 网络、单细胞分析、代谢组 PCA/PLS-DA/火山图/热图 |
| 湿实验与序列 | 引物设计、Tm 计算、序列翻译/ORF/酶切位点、qPCR 2^-ΔΔCt、蛋白理化性质 |
| 建模预测 | 列线图、SHAP、PSI、NCA 药代、PK/PD 模拟 |
| 图表与规范 | 森林图、CONSORT 流程图、PRISMA 流程图、报告规范清单核对 |
| 文献 | PubMed 检索、站内全文检索、引文格式化 |
| 生成类(不可复现) | 选题、研究方案、论文初稿、单章写作、润色、六智能体审稿、投稿信、汇报 PPT |
完整清单:GET /api/open/v1/actions 或 MCP 的 tools/list。
计费
| 类型 | 每次 |
|---|---|
| 统计 / 序列 / 病理 / 图表 | 1 分 |
| 文献检索 | 2 分 |
| 生信管线 | 5 分 |
| 免费档 | 每 key 每日 100 分封顶,注册送试用积分 |
| 频率 | 60 次/分钟/每把 key(不按 IP,防伪造) |
失败不扣分:引擎不可用、参数缺失、动作未开放,一律 0 扣分。
写权限边界
默认只算不落:传 project_id / user_id 会被主动剥离,并在 warnings 里说明。
受试者数据类动作(CRF 建表、数据导入、脱敏、建模训练)不在白名单——目录里没有这些工具。
唯一例外:paper_draft_one_click 会在后台建一个写作任务并落库,它的
annotations.readOnlyHint = false。调用前请先跟用户确认;表里其它生成类都不写库。
生成类怎么取结果(异步)
39 个生成类动作是异步的:返回 success: true + job_id + engine_status: queued,
这不是结果,是已受理。要用 sanyu_job_status 轮询:
{ "name": "sanyu_job_status", "arguments": { "job_id": "job_xxxxxxxx" } }
每 3 秒一次,最多等 300 秒。status=succeeded 取 result;failed 读 error(失败不扣分)。
拿到 succeeded 之前不要向用户报告任何结果。
响应示例
{
"success": true,
"action": "act_roc",
"engine_status": "real",
"data_source": "local_computation",
"result": { "auc": 0.86, "ci": [0.74, 0.95], "n": 120 },
"cost": 1,
"audit_id": 88123,
"credits_balance": 499,
"warnings": []
}
服务卡
https://sanyu.wentangkeji.com/api/mcp/card
许可
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。