Score how completely a target-trial-emulation study reports what the TARGET guideline requires.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
An MCP server that operationalizes the TARGET reporting guideline (TrAnsparent ReportinG of observational studies Emulating a Target trial; Cashin et al., JAMA/BMJ, September 2025) as a deterministic, provenanced scoring engine for target trial emulation (TTE) studies.
This is the executable TARGET: not a manuscript auditor that renders an opinion, but a measurement instrument that produces a structured, item-by-item, evidence-linked matrix with fixed model provenance, so a corpus-scale result is reproducible.
See ../target-mcp-server-design.md for the full design rationale.
Built and proven end-to-end:
target_mcp/specs/target-0.1.0.yaml)
with own-words intent, verdict boundaries, signal terms, the 6xβ7x
specification/emulation pairing, and applicability rules. Structurally
validated on load (spec.py).SectionMap with character-offset,
source-tagged section spans (main vs supplement:<file>), protocol-table
and flow-diagram detection, extractor version + text hash stamps, and
whitespace-insensitive quoteβspan resolution. Supports multi-document
bundles (main text + supplements) via build_bundle (ingest.py).retrieve.py).source_document tag
(assess.py).render_checklist projects a finalized assessment onto
the published TARGET checklist form (all 39 rows, verbatim item wording under
CC BY-ND, a Location-reported column from the resolved evidence spans; the
enriched view adds verdict + evidence). render_checklist_docx writes the
same as a submission-ready Word file (render.py, render_docx.py).aggregate_corpus rolls many assessments
into per-item completeness rates with coverage denominators (corpus.py);
validate.py provides blind human coding-sheet generation and per-leaf
agreement (raw, Cohen's ΞΊ, Gwet's AC1, sensitivity/specificity) against a
gold standard.server.py) exposing eleven tools.
The primary manuscript flow is parse_manuscript (parse the file you
were given, with supplements= when available) β assess_manuscript β
submit_scaffold_verdicts β render_checklist (or
render_checklist_docx). Supporting tools: parse_pmcid (corpus/batch or
OA-supplement fetch), get_checklist (introspect the spec),
aggregate_corpus, build_coding_sheet, and validate_against_gold.Not yet built (see design doc): assess_item, check_emulation_coherence,
export_identifiability_spec, publisher-site supplement retrieval (beyond the
PMC-OA tier), better table extraction, and the separate materiality/design-risk
layer.
spec_version, resolved model id, temperature, prompt_hash,
prompt_template_version, extractor_version, text_sha256, assessed_at,
full_text_available, supplement_status, and a per-source documents list;
each evidence item carries its resolved span, section, and source_document.
A span is only meaningful alongside the extractor version and text hash, so
they travel together.
The instrument scores how completely a manuscript reports what the checklist
requires β not study quality, and it issues no pass/fail judgment. TARGET
presents all 21 items as essential minimum items with no tiering, and this
tool follows suit: the output is the 39 per-leaf verdicts with evidence and a
completeness tally. (An earlier "critical floor" β a BSCL pass/fail overlay over
six leaves β was removed in 2026-07-19 as off-message and confusing; see
docs/DECISIONS.md.) Do not present a verdict matrix as TARGET compliance.
The server and the optional orchestration skill ship together in this repo, but they activate through two separate mechanisms β installing one does not enable the other. Getting the files (clone/download) gives you both; then do the two activation steps below.
(Once published to PyPI: pip install target-mcp.)
Run it standalone (stdio transport) to smoke-test:
Add it to the client's MCP config with an absolute path. For Claude Desktop
that file is ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS); for a Claude Code project use .mcp.json:
Restart / reconnect the client. Confirm it exposes 11 tools (a stale process may show fewer β respawn it). The server is now fully usable on its own: any MCP client can run parse β assess β submit β render in a single scaffold pass.
.claude/skills/target-checklist-fanout/ encodes the parallel-subagent
orchestration that scores the 39 leaves concurrently (~2 min vs ~20 min). It is
an accelerator, not a dependency β it only works in clients that can spawn
subagents (the Claude Code CLI, or the Claude Desktop Code/Cowork tabs; the
plain Chat tab cannot, and non-Claude clients like Codex ignore it). Without
it, everything still works via the single-pass fallback.
A Claude Code session discovers the skill when its working directory is this repo. To make it available in every session regardless of directory, copy it to the user scope:
For the skill to actually run, all three must be present: the server (step 2), the skill (this step), and a subagent-capable client.
Judge mode needs ANTHROPIC_API_KEY in the environment. The pinned model is
claude-sonnet-5 by default; override with TARGET_JUDGE_MODEL.
Scoring hundreds of papers is a headless job, not an interactive MCP call (a
multi-hour tool call would blow the client's request timeout). Use the
target-mcp-corpus CLI: it fetches + judges a list of PMCIDs concurrently,
isolates per-paper failures, retries transient errors, and rolls up the
aggregate.
-j/--workers bounds concurrency (default 8; raise toward your API rate
limit). Judge is ~a few minutes/paper, so wall-clock β papers / workers Γ per-paper β e.g. 300 papers at 12 concurrent β 1β1.5h, versus ~10β20h serial.-o/--out-dir writes one JSON per assessment plus aggregate.json and
summary.json (with per-paper stamps, verdict tallies, and any failures).
Without -o, the aggregate prints to stdout.--model overrides the pinned judge model; --no-supplements skips
supplement retrieval.Judge mode records the resolved model id per paper, so a corpus aggregate is
truthfully provenanced and caller-independent. Re-roll-up saved assessments any
time with the aggregate_corpus MCP tool.
Covers spec validation, section mapping and quote resolution, the finalize + evidence-resolution path, evidence-required and coverage-mismatch guards, applicability rules, abstract-only full-text gating, corpus aggregation, the validation harness, checklist rendering (Markdown + .docx), and prompt-hash stability.
The encoded checklist is a re-encoding of item intent in own words plus
assessor notes; it does not reproduce the TARGET checklist wording verbatim.
The original checklist is Β© the TARGET group under CC BY-ND 4.0. When the
Explanation & Elaboration document is released, leaves flagged
e_e_pending: true should be re-checked and the spec bumped to a clean minor
release. Do not copy E&E text verbatim.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/target-checklist-mcp)<a href="https://allmcps.com/mcp/target-checklist-mcp"><img src="https://allmcps.com/api/badge/target-checklist-mcp?style=directory" alt="TARGET Checklist MCP on AllMCPs" /></a>