
ROBINS-I V2 MCP
com.blackswancausallabsPublished by blackswancausallabs.comv0.1.0Updated Oct 24, 2026
ROBINS-I V2 (not V1): risk of bias in one result of a non-randomized cohort study
The publisher's own server: DAG Studio MCP
Overview
A local MCP server that runs a deterministic ROBINS-I V2 risk-of-bias assessment for one result of a non-randomized follow-up or cohort study.
- What you can do
- Inspect the ROBINS-I V2 specification and ingest study documents (PDF, docx, text, supplements) or fetch them from Europe PMC, producing a hash and cue survey. Set the review's prespecified confounders and specify the result, including the C4 question that selects Domain 1's variant. Scaffold and submit signalling-question answers per domain, with quotes bound to document offsets or rejected. Compute domain and overall judgements from the published algorithms, then render a stamped report. Export records from many runs into one robvis-ready CSV.
- When to use it
- Use it when you are appraising risk of bias in a specific result of a cohort or target-trial-emulation study under ROBINS-I V2, or when assembling a multi-study review whose judgements must be traceable to quoted evidence.
- Requirements
- A local Python environment; install the robins-i-mcp package with pip or run it with uvx, then register the robins-i-mcp command with your MCP client. Study papers are not bundled: place your own copies in a papers directory or point the ROBINS_MCP_PAPERS environment variable at them. No authentication is declared.
Installation
In SourceWeft
- Open ROBINS-I V2 MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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.
Source: README.md at commit aee5a0b
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Blackswancausallabs integrations

DAG Studio MCP
com.blackswancausallabsOfficial publisher
Remote MCP server for causal DAG analysis: build and validate directed acyclic graphs, find adjustment sets, and simulate bias.

NHANES (design-correct survey analysis)
com.blackswancausallabs
A local MCP server that lets an assistant run design-correct NHANES survey analyses, with proper weights, pooled cycles, confidence intervals and NCHS flags.

DAG Studio WebMCP
Published by GitHub account Black-Swan-Causal-Labs
Reads and edits a live DAG Studio causal graph canvas through structured tools, with analysis, code generation and simulation.

TARGET Checklist MCP
com.blackswancausallabs
Scores how completely a target trial emulation manuscript reports the 21 TARGET guideline items, producing an item-by-item, evidence-linked checklist.

openFDA Regulatory Metadata
com.blackswancausallabs
A local MCP server that resolves FDA application numbers and product names to regulatory metadata for drugs, biologics and medical devices via the openFDA API.