
ROBINS-I V2 MCP
com.blackswancausallabs由 blackswancausallabs.com 发布v0.1.0更新于 Oct 24, 2026
ROBINS-I V2 (not V1): risk of bias in one result of a non-randomized cohort study
发布方自己的服务:DAG Studio MCP
概览
一个本地 MCP 服务器,对非随机随访或队列研究的某一结果执行确定性的 ROBINS-I V2 偏倚风险评估。
- 可以做什么
- 查看 ROBINS-I V2 规范,并解析研究文档(PDF、docx、文本、补充材料)或从 Europe PMC 获取,生成哈希与线索调查。设置综述预设的混杂因素并指定结果,包括选择领域 1 变体的 C4 问题。按领域生成并提交信号问题答案,引文须绑定到文档偏移,否则被拒绝。依据已发布算法计算各领域与总体判定,并渲染带戳记的报告。将多次运行的记录导出为一个可供 robvis 使用的 CSV。
- 适用场景
- 当你依据 ROBINS-I V2 评估队列研究或目标试验模拟研究中某一具体结果的偏倚风险时使用;也适用于需要让判定可追溯到引文证据的多研究综述。
- 运行要求
- 需要本地 Python 环境;用 pip 安装 robins-i-mcp 包或用 uvx 直接运行,然后在 MCP 客户端中注册 robins-i-mcp 命令。研究论文不随包提供:需自行放入 papers 目录,或用 ROBINS_MCP_PAPERS 环境变量指向其所在目录。未声明任何身份验证。
安装
在 SourceWeft 中
- 打开 控制台中的 ROBINS-I V2 MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
robins-i-mcp
An MCP server implementing ROBINS-I V2 (Risk Of Bias In Non-randomized Studies – of Interventions, follow-up/cohort variant) as a deterministic, provenanced assessment engine.
Sibling to target-mcp, which scores how
completely a target-trial-emulation study reports what the TARGET guideline
requires. This one assesses risk of bias in one specific result. The two are
complementary on the same paper.
The source is a draft. riskofbias.info presents the 20 November 2025 release of ROBINS-I V2 as still a draft, subject to change. Every report stamps that in its provenance line. See
NOTICEandTRANSCRIPTION-NOTES.md.Follow-up cohort studies. "Follow-up" and "cohort" name one structural property — a defined time zero, individuals followed forward under the contrasted strategies — so read the property, not a design label. Target trial emulations are the central use case and are cohort studies in exactly this sense; both worked examples below are TTEs. Designs with no follow-up structure are out. No variant for other designs is published yet. Note that "Variant A / Variant B" inside the tool means the two forms of Domain 1 selected by C4 — not a study design.
What makes it different from asking a model
The model's contribution is bounded at answering signalling questions from the text. It cannot compute a judgement and it cannot invent evidence.
Three rules are enforced at submission, and they are the point of the server:
- Quotes resolve or die. Every quote is matched to character offsets in the ingested bundle through a three-pass ladder (exact → hyphen-relaxed → references-stripped), and the winning pass is recorded so a loose match is never silently equated with an exact one. An unresolvable quote is rejected with the nearest actual text.
- Absence is searched, not asserted. A
manuscript_absentanswer names a cue; the server runs the search and attaches the record — terms, sections, hit count. A prose claim that you looked is refused. - Judgements are computed. No tool accepts a domain judgement as input. The six domain algorithms and the overall algorithm are explicit edge graphs traced from the published flowcharts. A human may override, with a recorded justification, and the report shows both values.
Two gates
P1 blocks domain 1. Question 1.1 asks whether all important confounding
factors were controlled, and "important" is defined by the reviewer's
prespecified list — not by the paper's covariate table. The server refuses to
score domain 1 without set_prespecified_confounders rather than silently
substituting one for the other. A list you propose is a candidate: it enters the
ratification queue until a human accepts it.
C4 selects domain 1's question set. Whether the analysis accounts for
protocol deviations picks variant A (intention-to-treat, baseline confounding
only) or variant B (per-protocol, baseline and time-varying confounding), so
specify_result requires it up front with no default. Judge it on what the
analysis does, not on the label the authors give their estimand — on the
reference paper, the protocol table says "per-protocol effect" and the analysis
is intention-to-treat.
Install
Then register it with your MCP client:
Or run it with no install at all:
Also on the MCP registry as
com.blackswancausallabs/robins-i-mcp.
Develop
Tools
Scaffolds are per domain, never one flat rubric: most signalling questions are unreachable on any given path, and which of domain 1's two sets exists at all depends on C4.
Pass the supplement. The target-trial specification that settles C1–C4, and
the analysis detail domains 1 and 4 turn on, routinely live only in the
appendix. Without it, those questions read NI when the answer was merely in a
file nobody ingested.
Many studies: the record
A review of N studies is N runs. Each assessment costs a session, and the server keeps no state between them. So each run emits a small portable record — that is the deliverable that crosses the boundary:
A record is ~4 KB of flat JSON and depends on nothing in this codebase, so any later agent can consume it. It carries its own provenance — document hash, algorithm fingerprint, spec version, ratification state — so every row in the resulting figure traces back to a document, and the export can warn when a set mixes algorithm transcriptions.
export_robvis is not a column dump. robvis's ROBINS-I template is V1:
seven domains, and V1 orders selection of participants before classification
of interventions, which V2 swaps. The default layout places each V2 judgement in
its correct V1 slot; a positional dump would parse, plot, and lie. Read the
returned losses before publishing — robvis reduces every cell to its first
initial over a five-fill palette, so the qualified low collapses to Low there
whatever string is written.
See examples/review_from_records.py.
Worked examples
- Dickerman et al., NEJM 2022 — BNT162b2 vs mRNA-1273 in US veterans. Comes out low, except for concerns about uncontrolled confounding. 24 of 41 questions never reached.
- Jabagi et al., Lancet Reg Health Eur 2026 — maternal RSVpreF vs infant RSV hospitalisation. Comes out serious, and the route is worth reading: domain 1 fails at 1.3 rather than 1.1, because gestational age at birth and birth weight are matched on despite being realised after the intervention.
The papers themselves are not in this repository — they are published
articles and not ours to redistribute. Put your own copies in papers/, or
point ROBINS_MCP_PAPERS at the directory holding them; the examples name the
files they need and fail with that message if they are absent.
Documentation
docs/STATUS.md— current state and handoff. Read this first.docs/DECISIONS.md— why things are the way they are, newest first.docs/SESSION-NOTES-*.md— per-session narrative.TRANSCRIPTION-NOTES.md— how the algorithms were obtained from raster flowcharts, the errata found in the published document, and what still needs external verification.
Licence
Apache-2.0 (LICENSE). The ROBINS-I V2 tool it implements is CC BY-NC-ND 4.0
and no part of it is reproduced here — see NOTICE for why that matters and
what the actual constraint is.
来源:README.md,提交 aee5a0b
工具
0版本历史
1- v0.1.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Blackswancausallabs 集成

DAG Studio MCP
com.blackswancausallabs官方发布者
用于因果 DAG 分析的远程 MCP 服务器:构建并验证有向无环图、寻找调整集、模拟偏倚。

NHANES (design-correct survey analysis)
com.blackswancausallabs
一个本地 MCP 服务器,让助手按调查设计正确分析 NHANES 数据,自动处理权重、合并周期、置信区间与 NCHS 可靠性标记。

DAG Studio WebMCP
由 GitHub 账号 Black-Swan-Causal-Labs 发布
通过结构化工具读取并编辑 DAG Studio 中实时运行的因果图,并提供分析、代码生成与模拟功能。

TARGET Checklist MCP
com.blackswancausallabs
按 TARGET 指南的 21 个条目,评估目标试验模拟研究的报告完整程度,输出逐条、附证据的清单矩阵。

openFDA Regulatory Metadata
com.blackswancausallabs
一个本地 MCP 服务器,通过 openFDA API 将 FDA 申请编号和产品名称解析为药品、生物制品和医疗器械的监管元数据。