Transparent Reporting for Target Trial Emulations
An MCP server that operationalizes the TARGET reporting guideline, so an AI agent can review whether an observational target-trial-emulation study reports what the checklist requires, and return a provenance-stamped result.
Illustrative example · a completed checklist rendered by TARGET MCP
In Brief
TARGET, the reporting guideline for observational studies that emulate a target trial, becomes an MCP server: a connected AI agent reads a manuscript against the encoded checklist and hands back a completed, verifiable assessment.
// how a review runs
LLM agent, in the loop
Drives the run, dispatches the scoring subagents, and owns every call to the server.
Deterministic. Runs one scaffold pass on its own; the fan-out is a client-side accelerator on top.
Every call to the server is made by the orchestrator — the subagents are pure scorers with no MCP access.
parse_manuscript / parse_pmcid pulls the manuscript and its supplement into a source-tagged SectionMap and returns the text hash that keys the run.
assess_manuscript (scaffold mode) returns the rubric, the manuscript exactly as ingested, and the ordered 39 leaf ids. The server hands back the prompt to run — it does no scoring itself.
The 39 leaves are split into ~11 batches — each target-trial specification leaf kept with its emulation pair — and dispatched to concurrent subagents on a pinned model. Each scores only its leaves, from the rubric and text; none touch the server. A ~20-minute pass collapses to about two.
The orchestrator normalizes ids, checks that all 39 leaves are present exactly once, re-dispatches any leaf a batch dropped, and orders the verdicts. The first verification layer, client-side.
submit_scaffold_verdicts re-checks coverage and verdict vocabulary and resolves every verbatim quote to a character offset in the source — an unfound quote is rejected. The second verification layer, on the server.
The finished checklist falls out inline, carrying a stamp bound to the ingested text and the scoring prompt, so drift is detectable at the point of use. Rendered as HTML, Word, or Markdown.