target-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@target-mcpAssess this manuscript against the TARGET reporting guideline."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TARGET Checklist MCP Server
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.
Status — vertical slice
Built and proven end-to-end:
Spec layer — the 21 published items decomposed into 39 scoreable leaf subitems, encoded as versioned YAML (
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).Ingestion layer — PDF/text/docx →
SectionMapwith character-offset, source-tagged section spans (main vssupplement:<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) viabuild_bundle(ingest.py).Retrieval layer — the corpus/batch and convenience path: fetch open-access articles by PMCID from Europe PMC (JATS main text plus PMC-hosted supplementary files, merged into one bundle). Use this when there is no file in hand or to auto-fetch an OA paper's supplement; for a manuscript you were given, ingest the file directly (
retrieve.py).Assessment layer — batched, single-pass scoring of all applicable leaves. Scaffold mode (default) is the path for reviewing a publication: the agent already in the loop is the scorer, so the server returns the exact prompt + schema for it to run, then validates the verdicts it submits. Judge mode is for the headless/batch case (no LLM in the loop) — the server makes its own pinned model call so a corpus run is reproducible and caller-independent. Both share one validation path that enforces leaf coverage, verdict vocabulary, and mandatory verbatim evidence resolved to spans with a
source_documenttag (assess.py).Rendering layer —
render_checklistprojects 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_docxwrites the same as a submission-ready Word file (render.py,render_docx.py).Corpus & validation layers —
aggregate_corpusrolls many assessments into per-item completeness rates with coverage denominators (corpus.py);validate.pyprovides blind human coding-sheet generation and per-leaf agreement (raw, Cohen's κ, Gwet's AC1, sensitivity/specificity) against a gold standard.Composition layer — FastMCP server (
server.py) exposing eleven tools. The primary manuscript flow isparse_manuscript(parse the file you were given, withsupplements=when available) →assess_manuscript→submit_scaffold_verdicts→render_checklist(orrender_checklist_docx). Supporting tools:parse_pmcid(corpus/batch or OA-supplement fetch),get_checklist(introspect the spec),aggregate_corpus,build_coding_sheet, andvalidate_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.
Provenance stamped on every assessment
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.
Related MCP server: traceable-research-mcp
Reporting completeness, not a pass/fail verdict
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.
Install
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.
1. Install the server
git clone https://github.com/Black-Swan-Causal-Labs/target-mcp.git
cd target-mcp
python3 -m venv .venv
.venv/bin/pip install -e .(Once published to PyPI: pip install target-mcp.)
Run it standalone (stdio transport) to smoke-test:
.venv/bin/target-mcp2. Register the server with your MCP client
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:
{
"mcpServers": {
"target-checklist": {
"command": "/ABSOLUTE/PATH/TO/target-mcp/.venv/bin/python",
"args": ["-m", "target_mcp.server"]
}
}
}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.
3. (Optional, Claude Code only) Activate the fan-out skill
.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:
mkdir -p ~/.claude/skills
cp -R .claude/skills/target-checklist-fanout ~/.claude/skills/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 (headless/batch, optional)
Judge mode needs ANTHROPIC_API_KEY in the environment. The pinned model is
claude-sonnet-5 by default; override with TARGET_JUDGE_MODEL.
Batch / corpus runs
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.
# ids.txt: one PMCID per line (#-comments and blanks ignored)
ANTHROPIC_API_KEY=sk-... target-mcp-corpus ids.txt -o out/ -j 12-j/--workersbounds 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-dirwrites one JSON per assessment plusaggregate.jsonandsummary.json(with per-paper stamps, verdict tallies, and any failures). Without-o, the aggregate prints to stdout.--modeloverrides the pinned judge model;--no-supplementsskips 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.
Tests
.venv/bin/python -m pytest tests/ -qCovers 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.
Licensing / commons hygiene
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.
Available Tools
11 toolsaggregate_corpusA
Roll up many assessments into per-item completeness rates plus coverage
denominators (supplement-retrieval status, full-text availability, evidence-
resolution rate). Pass an array of assessment objects as assessments, or
use_session=true to aggregate every assessment produced this session. The
completeness rates are only as valid as the sample and are not yet
gold-standard calibrated.
| Name | Required | Description | Default |
|---|---|---|---|
| assessments | No | ||
| use_session | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| coverage | No | |
| n_papers | No | |
| per_leaf | No | |
| spec_version | No | |
| lowest_reported_leaves | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the responsibility for behavioral disclosure. It explains the aggregation behavior, the output components, and adds an important caveat that rates are not gold-standard calibrated and are only as valid as the sample. It does not mention side effects, but the operation appears read-only and an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler: purpose first, then parameter usage, then a caveat. Every sentence earns its place and the front-loaded structure helps an agent quickly understand the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, both input modes, and the key validity limitation, while the output schema handles return-value details. It leaves minor ambiguity about behavior when both `assessments` and `use_session` are supplied or when neither is supplied, but this is not a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It explains both parameters: `assessments` accepts an array of assessment objects, and `use_session=true` switches to aggregating every assessment produced this session. It could be more precise about the required shape of assessment objects, but it provides enough guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Roll up') and resource ('many assessments'), and clearly names the output: per-item completeness rates plus coverage denominators. This distinguishes it from sibling tools that parse, assess, or render individual items rather than aggregate them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage instructions: pass an array via `assessments` or set `use_session=true` to aggregate session-produced assessments. It does not explicitly name sibling alternatives or state when not to use the tool, but the two modes are clearly explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_manuscriptA
Assess a manuscript against all applicable TARGET leaves in one batched
pass. document is a path, raw text, or a text_sha256 returned by
parse_manuscript.
mode='scaffold' (default) is the path for reviewing a publication: you are the LLM in the loop, so the server returns the exact assessment prompt, the tool schema, and a prompt hash for YOU to execute — read the manuscript against the rubric, produce the verdicts, then call submit_scaffold_verdicts to validate them and get the stamped result (evidence resolved to spans, provenance, ready for render_checklist).
mode='judge' is for the headless/batch case where no LLM is in the loop (e.g. a corpus run). The server makes its own pinned-model API call (requires ANTHROPIC_API_KEY) so scoring is reproducible and caller- independent, and returns the full verdict matrix directly. Overkill when an agent is already reviewing the paper interactively.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | scaffold | |
| model | No | claude-sonnet-5 | |
| document | Yes | ||
| spec_version | No | target-0.1.0 | |
| manuscript_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does so well: it reveals that scaffold mode returns a prompt/schema/hash for the caller to execute, judge mode triggers a pinned-model API call requiring ANTHROPIC_API_KEY, and scoring is caller-independent. Minor gaps remain such as explicit side-effect/cost phrasing, but the core execution flow is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the main purpose and then structures the two modes clearly. It is longer than average but each section adds behavioral or usage value, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with two distinct modes and a rich output schema, the description covers the overall flow and inter-tool dependencies well. It is incomplete on three parameters and does not explicitly describe the output schema's role, though an output schema exists to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
It gives strong semantics for the two most important parameters: document (path/raw text/text_sha256) and mode (scaffold vs judge). However, with schema description coverage at 0%, model, spec_version, and manuscript_id are left completely unexplained, so the description only partially compensates for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific action ('Assess a manuscript') against a defined scope ('all applicable TARGET leaves in one batched pass'), and the rest distinguishes the two execution modes. This sets it apart from siblings like parse_manuscript (ingestion) and submit_scaffold_verdicts (validation) without needing to open schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly maps scaffold mode to interactive LLM-in-the-loop review and judge mode to headless/batch corpus runs, and even advises that judge is 'overkill' for interactive review. It also names the follow-on tool submit_scaffold_verdicts and references parse_manuscript as the input source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_coding_sheetA
Emit blank per-paper coding sheets for human gold-standard coding: one
row per applicable leaf with its intent and verdict boundaries and empty
verdict/evidence/note fields. blind=true (default) withholds the
instrument's verdict so coders are not anchored — use blind coding for the
primary reference standard. Pass assessments or use_session=true.
| Name | Required | Description | Default |
|---|---|---|---|
| blind | No | ||
| assessments | No | ||
| use_session | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does useful work: it discloses that blind mode withholds the instrument's verdict to prevent coder anchoring and that the emitted rows are blank except for intent and boundaries. It does not mention failure behavior when neither `assessments` nor `use_session` is provided, but the core behavioral traits are clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two dense sentences with no filler. The output purpose and structure are front-loaded, followed by the critical behavioral caveat and the invocation prerequisite. Every clause adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to restate return values. It covers purpose, output shape, the blind mode, and data-source options. The main gap is the absence of explicit behavior when neither `assessments` nor `use_session` is set, and the vague semantics of `use_session`.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains `blind` well and indicates that `assessments` and `use_session=true` are alternative data sources, but it does not describe the expected structure of `assessments` entries or what `use_session` actually retrieves, leaving two of three parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Emit') and resource ('blank per-paper coding sheets') and explains the exact output structure: one row per applicable leaf with intent, verdict boundaries, and empty verdict/evidence/note fields. This clearly distinguishes it from sibling rendering, parsing, and assessment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit context for the primary reference standard use case ('use blind coding for the primary reference standard') and tells the caller to pass `assessments` or `use_session=true`. It does not explicitly name alternatives or when not to use the tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checklistA
Return the encoded TARGET checklist spec: 39 scoreable leaf subitems (grouped into the 21 published items) with intent, assessor notes, signal terms, pairing links, and applicability rules. Pass a version id to pin; omit for the current default.
OPTIONAL in the review flow — introspection only. assess_manuscript already embeds the full per-leaf rubric (intents + verdict boundaries) in the prompt it returns, so calling both get_checklist and assess_manuscript for the same review duplicates the rubric payload. Use this when you want to inspect the spec on its own, not as a required step before assessing.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | target-0.1.0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | |
| e_e_status | No | |
| leaf_count | No | |
| spec_version | No | |
| evidence_policy | No | |
| guideline_scope | No | |
| available_versions | No | |
| verdict_vocabulary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden for behavioral disclosure. It explicitly marks the tool as 'introspection only', notes the version pinning behavior, and warns about duplicated rubric payloads when called alongside assess_manuscript. It does not explicitly state that it makes no modifications, but 'introspection only' strongly implies a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and content details, followed by a useful usage warning. It is slightly longer than strictly necessary because the second paragraph restates the optionality that earlier wording implies, but every sentence contributes actionable information and there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-annotation, introspection tool, the description covers what the tool returns, how the version parameter works, and how it relates to the assess_manuscript flow. The presence of an output schema reduces the need to describe return structure. It does not discuss relationships to render_checklist siblings, but the word 'encoded' and the detailed content list make the tool's role reasonably clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a 'version' parameter with a default but no description, and schema coverage is 0%. The description compensates by explaining the parameter's meaning: 'Pass a version id to pin; omit for the current default.' This is sufficient for selecting a version, though it does not enumerate valid version values or formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Return the encoded TARGET checklist spec') and enumerates the exact content of the spec: 39 leaf subitems, 21 published items, intents, notes, signal terms, pairing links, and applicability rules. It also differentiates from assess_manuscript by clarifying that get_checklist is for standalone inspection, not an assessment prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use and when-not-to-use guidance: it is 'OPTIONAL in the review flow', 'introspection only', and should not be combined with assess_manuscript because that already embeds the rubric. It closes with a direct instruction: 'Use this when you want to inspect the spec on its own, not as a required step before assessing.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_manuscriptA
PRIMARY entry point: parse a manuscript into a SectionMap with character-offset, source-tagged section spans.
PASS citation=: the manuscript's full bibliographic reference in APA style
(authors, year, title, journal, volume(issue), pages, DOI). It is carried
into the assessment and displayed on every rendered checklist so the
assessed publication is unambiguous — without it, renders can only show the
short manuscript_id. You have the paper in hand; format the reference from
its title page.
document is EITHER the raw manuscript text OR a file path — but the path
must be readable on the SERVER host. If you are an agent whose uploaded files
live on your own filesystem (a mounted upload dir, a sandbox), the server
cannot see them: paste the manuscript TEXT instead, or use parse_pmcid for an
open-access PMCID. Reach for a file path only when the file is on the same
host as this server (server-local/batch use). A path-looking string that the
server can't find raises rather than being silently ingested as its own text.
supplements is a list of server-readable file paths (PDF/docx/text) to
merge as supplementary material — PASS IT WHEN YOU HAVE IT: TTE methods
(estimand, identifying assumptions) frequently live in a supplementary
protocol table, and without a supplement the verdicts on those leaves come
back not_reported when the content was merely in an un-ingested appendix.
When supplements are provided, supplement_status defaults to 'user_provided'.
Pass supplement_status='none_exists' to assert the article has no supplement.
section_hints is a LAST RESORT for a section the detector cannot find:
{'introduction': 6543} splits whatever section contains that character
offset. Some journals print no heading for a section (an introduction that
simply follows the abstract) and interpose prose — a lay-summary box — that
no structural rule can tell apart from the section itself; check the
warnings for 'may have swallowed an unheaded introduction'. A hint never
edits the text, so text_sha256 is unchanged and a hinted parse is the same
document; the hinted section carries an empty heading because the paper
prints none. Only supply an offset you established by READING the paper, and
expect an error rather than silence if the hint cannot be applied.
Returns source-tagged section boundaries, protocol-table and flow-diagram detection over the combined text, supplement_status, and the text hash used to key later calls.
| Name | Required | Description | Default |
|---|---|---|---|
| citation | No | ||
| document | Yes | ||
| supplements | No | ||
| manuscript_id | No | ||
| section_hints | No | ||
| supplement_status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| n_pages | No | |
| citation | No | |
| sections | No | |
| warnings | No | |
| documents | No | |
| full_text | No | |
| text_sha256 | No | |
| manuscript_id | No | |
| extractor_version | No | |
| supplement_status | No | |
| flow_diagram_detected | No | |
| protocol_table_detected | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It explains server-side file visibility, error-on-missing-path behavior, the effect of hints on text_sha256, the default behavior of supplement_status, warnings about swallowed introductions, and the return payload. This is far beyond what the schema alone conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with its primary purpose and then organized by parameter. Every section earns its place because the tool has six parameters, several subtle failure modes, and important integration caveats. It could be tightened slightly, but the length is justified by the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameter semantics, error behavior, defaults, alternatives, and return values. It even explains why supplements matter for TTE methods and what happens when citation is omitted. Given the tool's complexity, the absence of annotations, and 0% schema coverage, this description is remarkably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for every parameter, and it does. citation, document, supplements, supplement_status, and section_hints all receive detailed semantic guidance, including formats, defaults, failure modes, and examples. Only manuscript_id is left undocumented, but the critical parameters are thoroughly explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and deliverable: 'parse a manuscript into a SectionMap with character-offset, source-tagged section spans.' This clearly distinguishes the tool from siblings like get_checklist, render_checklist, and assess_manuscript, and it identifies parse_manuscript as the 'PRIMARY entry point,' making its role in the pipeline unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use and when-not-to-use guidance: paste text rather than a server-invisible path, use parse_pmcid for open-access PMCIDs, pass supplements when they exist, and reserve section_hints for last-resort section detection failures. It also names the alternative tool directly, so an agent can route correctly without guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_pmcidA
CONVENIENCE / BATCH entry point: retrieve an open-access article from
Europe PMC by PMCID and parse it. Reach for this in the corpus/batch case
(no file in hand) or to auto-fetch an open-access paper's supplement; for a
single manuscript you were given, use parse_manuscript instead. Fetches JATS
main text plus (if available) PMC-hosted supplementary files, merged into
one source-tagged SectionMap. supplement_status is 'retrieved' when a
supplement was obtained, else 'not_retrieved' (a supplement may still exist
on the publisher site; absence of retrieval is not proof of absence).
Raises if no open-access full text is available. Returns the same summary
as parse_manuscript, including the text hash for assess_manuscript.
An APA-style citation is auto-built from the article's JATS metadata and
displayed on every rendered checklist; pass citation= to override it (e.g.
when the auto-built reference is incomplete).
| Name | Required | Description | Default |
|---|---|---|---|
| pmcid | Yes | ||
| citation | No | ||
| include_supplements | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| n_pages | No | |
| citation | No | |
| sections | No | |
| warnings | No | |
| documents | No | |
| full_text | No | |
| text_sha256 | No | |
| manuscript_id | No | |
| extractor_version | No | |
| supplement_status | No | |
| flow_diagram_detected | No | |
| protocol_table_detected | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It covers fetching behavior (JATS plus supplements), supplement_status interpretation, the error condition (raises if no open-access full text), the return relation to parse_manuscript, and the auto-built citation with override. This is rich, concrete context beyond what the schema shows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence in this multi-sentence description adds functional information: batch use, alternative, fetch scope, status semantics, error, return, and citation. No filler or repetition; dense but scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no annotations, the description covers selection criteria, behavior, error handling, return type (same summary as parse_manuscript), and an override option. The presence of an output schema covers structural return details, so the description is effectively complete for an agent deciding whether and how to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies pmcid (by PMCID from Europe PMC) and citation (override auto-built reference), but include_supplements is only implicitly covered by the statement that supplements are fetched if available. The description never explicitly names the parameter or explains the effect of setting it false, leaving partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb-object pair: 'retrieve an open-access article from Europe PMC by PMCID and parse it.' It also explicitly distinguishes itself from parse_manuscript, so an agent can select between siblings without reading the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States exactly when to choose this tool: 'corpus/batch case (no file in hand)' or 'auto-fetch an open-access paper's supplement' and when not to: 'for a single manuscript you were given, use parse_manuscript instead.' Also ties its output to assess_manuscript via the text hash, strengthening routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_checklistA
Render a finalized assessment as the completed TARGET checklist form: the
21 published items (39 leaf rows, in checklist order) with the published
item wording and a Location-reported column derived from the resolved
evidence spans. The default enriched view adds, per leaf, the instrument's
verdict and the verbatim evidence quote that justifies the location;
view='official' strips to the published form's columns (Item / Checklist
item / Location reported). Returns structured rows, a completeness tally, and
a ready-to-display Markdown table. Pass either a full assessment object or
the manuscript_id of one assessed earlier this session. This is a pure
projection — no re-scoring.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | enriched | |
| assessment | No | ||
| manuscript_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| html | No | |
| rows | No | |
| view | No | |
| citation | No | |
| markdown | No | |
| provenance | No | |
| attribution | No | |
| completeness | No | |
| spec_version | No | |
| manuscript_id | No | |
| generated_from | No | |
| supplement_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that the tool is a pure projection, returns structured rows plus a completeness tally and Markdown table, and that views affect columns. It could go further on edge cases like conflicting inputs, but the core behavior is clearly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficiently structured: purpose, detailed output/views, return artifacts, input options, and a final behavioral boundary. Every sentence adds value and the front-loading lets an agent quickly identify the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and covers return shape, the description appropriately focuses on input selection, view modes, and the pure-projection guarantee. This is enough for an agent to decide when and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does. It explains both view values ('enriched' and 'official') with column-level effects and clarifies the two possible input sources: assessment or manuscript_id. It does not fully document the structure of the assessment object, but all parameters receive meaningful guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and resource: 'Render a finalized assessment as the completed TARGET checklist form'. It details the 21 published items, 39 leaf rows, the Location-reported column, and clarifies the output type, clearly distinguishing this from scoring and document-rendering siblings. The explicit 'pure projection — no re-scoring' further disambiguates it from assessment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: pass either a full assessment object or a manuscript_id assessed earlier in the session. It also signals that this is not a scoring tool. However, it does not explicitly name alternatives such as render_checklist_docx or render_checklist_html when a different output format is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_checklist_docxA
Write the completed TARGET checklist to a Word (.docx) file and return it.
Same content as render_checklist (published item wording + a Location-reported
column from the resolved evidence spans; enriched view adds verdict and
evidence), serialized as a submission-ready landscape table, one per
manuscript section. Pass a full assessment object or the manuscript_id of
one assessed this session. view='official' strips to the published form's
three columns.
RETRIEVING THE FILE: the return carries the document bytes as base64 in
content_base64 (with content_type and filename) — decode and save these
to get the deliverable. The file is ALSO written to path on the server host,
but that filesystem is not the caller's: if you are an agent whose files live
elsewhere, use content_base64, not path. path defaults to a writable
temp dir and is only directly useful for server-local/batch runs.
logo=True heads the document with the published TARGET banner, but ONLY on
view='official' (the author's self-report form); on the enriched view it is
ignored and the returned logo_applied is False, because the official mark on
a machine-generated assessment would imply an endorsement the instrument does
not carry. Default off.
| Name | Required | Description | Default |
|---|---|---|---|
| logo | No | ||
| path | No | ||
| view | No | enriched | |
| assessment | No | ||
| manuscript_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | No | |
| view | No | |
| bytes | No | |
| n_rows | No | |
| filename | No | |
| content_type | No | |
| logo_applied | No | |
| content_base64 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it goes well beyond a basic summary. It discloses the base64 return payload, the caveat that the server filesystem path is not the caller's and content_base64 should be used instead, and the nuanced logo behavior where the banner is ignored on the enriched view and logo_applied is False.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every section earns its place: purpose, content differences, retrieval instructions, path caveat, and logo behavior. It is front-loaded with the main purpose and uses clear paragraph headers to separate retrieval and logo guidance, making it easy for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the five parameters, zero annotations, and the need to explain file retrieval and view-specific behavior, the description covers everything required to call the tool correctly. It explains how to obtain the deliverable, the effect of each key parameter, and the subtle logo restriction, leaving no critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. It explains the alternatives assessment vs. manuscript_id, the meaning and effect of view='official', the semantics of path as a server-local temp location that callers should avoid, and the behavior of logo including its default off state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Write the completed TARGET checklist to a Word (.docx) file and return it.' It clearly distinguishes itself from render_checklist and render_checklist_html by specifying the docx serialization and the added Location-reported column, so an agent can identify which sibling to invoke.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong context: it explains when to pass an assessment object vs. manuscript_id, how view='official' changes the output, and what logo=True does. It does not explicitly state 'use this instead of render_checklist_html when you need a Word document,' but the docx naming and 'serialized as a submission-ready landscape table' make that usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_checklist_htmlA
Render the completed TARGET checklist as a self-contained HTML page —
same content as render_checklist, styled to the Black Swan Causal Labs
identity (canvas ground, one aligned table, verdict pills), viewable in any
browser on any host. Returns the HTML string in html (show it inline or
publish it as an artifact) and the same bytes as base64 in content_base64
(decode and save as an .html file). Carries the provenance stamp. Pass a
full assessment object or the manuscript_id of one assessed this session;
view='official' strips to the published form's three columns.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | enriched | |
| assessment | No | ||
| manuscript_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| html | No | |
| view | No | |
| filename | No | |
| provenance | No | |
| content_type | No | |
| manuscript_id | No | |
| content_base64 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses return values (html string and base64 content), the provenance stamp, the self-contained nature, and view behavior ('view='official' strips to the published form's three columns'). This is strong, though it does not discuss side effects or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every clause adds value: purpose, relationship to sibling, output details, input requirements, and view option. It is front-loaded with the primary action and maintains a clear structure despite its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential operational needs: inputs, output format, and a view variant. It is slightly incomplete regarding what happens when no input is provided or when both assessment and manuscript_id are supplied, but overall it gives enough context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by explaining that either an assessment object or manuscript_id should be passed, and that view='official' changes the output. It does not fully describe all possible view values or the exact shape of the assessment object, leaving some room for ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Render the completed TARGET checklist as a self-contained HTML page') and clearly identifies the output format. It also distinguishes the tool from its sibling render_checklist by noting 'same content as render_checklist' while adding the HTML/browser context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on when to use this tool: when an HTML page is needed, viewable in any browser. It also tells the agent what inputs to provide ('Pass a full assessment object or the manuscript_id of one assessed this session'). However, it does not explicitly state when not to use it or compare against render_checklist_docx.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_scaffold_verdictsA
Scaffold-mode completion: validate verdicts produced by the calling
agent (leaf coverage, verdict vocabulary, mandatory verbatim evidence quotes
resolved to spans) and return the stamped assessment TOGETHER WITH the
finished, rendered deliverable. items is the verdict array from the forced
tool call — one object per leaf with id, verdict, confidence,
rationale, and (for reported/partial) evidence_quotes.
THE ARTIFACT OF RECORD is in the returned report (by default the HTML
form), carrying a provenance stamp bound to the ingested text and prompt.
That stamped render is the ONLY canonical output — present it as the
completed checklist. Need another format? Do NOT hand-assemble one: call
render_checklist (markdown) or render_checklist_docx (.docx bytes) to
re-render the same stamped artifact, or pass report_formats (any of
'html', 'markdown', 'docx') to include them here. The default is HTML only
because every extra format flows through your context window. The items
verdicts are an intermediate object; do NOT hand-assemble your own checklist
document and present it as the assessment, because it will lack the stamp
and cannot be verified. You MAY additionally write an analytic memo
(prioritized gaps, an estimand-first reading), but label it as commentary
and cite the stamp — never let it stand in for, or inherit the authority
of, the stamped form.
Set render=false to skip rendering (verdicts only). The parse cache does not
survive a server restart; if text_sha256 is no longer cached, pass
document (the same path or text) to re-parse transparently.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| model | No | unspecified | |
| render | No | ||
| document | No | ||
| text_sha256 | Yes | ||
| spec_version | No | target-0.1.0 | |
| report_formats | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| items | No | |
| model | No | |
| usage | No | |
| report | No | |
| citation | No | |
| documents | No | |
| assessed_at | No | |
| prompt_hash | No | |
| temperature | No | |
| text_sha256 | No | |
| spec_version | No | |
| manuscript_id | No | |
| excluded_leaves | No | |
| section_rollups | No | |
| extractor_version | No | |
| supplement_status | No | |
| full_text_available | No | |
| prompt_template_version | No | |
| unresolved_evidence_leaves | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and fully discloses consequences: the only canonical output is the stamped report, extra formats increase context usage, parse cache is not persistent, and re-parsing can be triggered transparently via document. It also clarifies intended authority of analytic memos so agents do not substitute commentary for the stamped form.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but tightly organized: the opening defines the operation, the middle establishes canonical output and exclusions, and the final paragraph covers rendering and caching edge cases. The emphasis markers and repeated no-hand-assembly warnings are intentional guardrails, not filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity with 7 parameters, no annotations, and an output schema, the description supplies all essential operational context: return value identity, verification semantics, alternative format paths, and failure/recovery scenario for cache misses. Nothing needed to invoke it correctly is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does for the important parameters: items structure, text_sha256/document cache behavior, render false, and report_formats allowed values. It leaves model and spec_version semantically unexplained, though their defaults and titles reduce the risk.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening states a specific action — validate verdicts and return the stamped assessment plus rendered deliverable — with clear scope (scaffold-mode completion). It also distinguishes itself from render_checklist/render_checklist_docx by naming them as the re-rendering route rather than hand-assembly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the when explicit: it is the forced completion call after verdicts are produced, and it gives explicit alternatives for format conversion (render_checklist, render_checklist_docx, report_formats) and for skipping rendering (render=false). It warns against hand-assembling the deliverable, which prevents a common misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_against_goldA
Compute per-leaf agreement between instrument assessments and human gold-standard codings: raw agreement, Cohen's kappa, Gwet's AC1, and binary (reported-vs-rest) sensitivity/specificity with the human coding as the reference standard, plus a span-keyed disagreement list for adjudication. Agreement is reported PER LEAF; the pooled figure is orientation only. Both arguments are arrays of assessment/coding objects sharing manuscript ids and spec version.
| Name | Required | Description | Default |
|---|---|---|---|
| instrument | Yes | ||
| human_codings | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| n_papers | No | |
| per_leaf | No | |
| spec_version | No | |
| disagreements | No | |
| n_disagreements | No | |
| papers_compared | No | |
| leaves_with_data | No | |
| pooled_raw_agreement | No | |
| pooled_binary_reported | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does so well: it discloses that agreement is computed per leaf, that the pooled figure is orientation-only, that the human coding is the reference standard, and that a span-keyed disagreement list is produced. It does not discuss side effects or error conditions, but 'Compute' implies a read-only analysis and the output schema presumably covers return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler: the first states what is computed and the metrics, the second clarifies the per-leaf vs pooled distinction, and the third defines both parameters. Every sentence earns its place and important scope qualifiers are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description is not required to explain return values, and it provides the essential input relationship and reference-standard orientation. Minor gaps remain around exact required fields inside the array objects and potential constraints like same-length or spec-version matching, but the description is sufficiently complete for a generic-object validation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It names both arguments, states they are arrays of objects, identifies their roles ('instrument' vs 'human_codings'), and clarifies that they share manuscript ids and spec version. It does not enumerate individual object fields, but since the schema uses additionalProperties: true, there is no structured field detail to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Compute') and a precise resource ('per-leaf agreement between instrument assessments and human gold-standard codings'), then enumerates the concrete metrics produced. This clearly distinguishes it from the parse/render/assess/aggregate sibling tools, none of which perform gold-standard validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when this tool is appropriate: when you have instrument assessments and human gold-standard codings to compare. It does not name alternatives or explicit exclusions, but the context is unmistakable given the siblings are all about parsing, rendering, assessing, or aggregating—not validating against gold standards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
v0.2.0- First observed
aggregate_corpus - First observed
assess_manuscript - First observed
build_coding_sheet - First observed
get_checklist - First observed
parse_manuscript - First observed
parse_pmcid - First observed
render_checklist - First observed
render_checklist_docx - First observed
render_checklist_html - First observed
submit_scaffold_verdicts - First observed
validate_against_gold
TDQS
Scored across 11 tools
Each tool maps to a distinct stage of the TARGET review pipeline: ingest, assessment, rendering, and corpus validation. The only real overlap is the three render_checklist variants, but their output-format suffixes make selection unambiguous.
All names use snake_case and start with a verb, mostly following a verb_noun pattern like parse_manuscript and render_checklist. Minor deviations such as validate_against_gold and render_checklist_docx/html add modifiers or suffixes, but the overall convention remains readable and predictable.
Eleven tools is well-scoped for a complete assessment pipeline: parsing, assessing, stamping, rendering in three formats, and corpus-level aggregation/validation. Every tool has a distinct role, and none feels redundant or missing.
The tool surface covers the full TARGET workflow from manuscript ingestion through canonical stamped rendering and gold-standard validation, with no dead ends in the primary path. Minor gaps exist around session-scoped data and the lack of an explicit amendment workflow, but agents can work around these.
Maintenance
Related MCP Connectors
MCP-native AI evaluation: rubric audits, eval suites, and proof reports for AI/LLM output.
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
Read-only, deterministic AI triage and readiness tools implementing Sophon's published rubrics.
Evidence-readiness MCP server: validate, audit, and score briefs, memos, and evidence packs.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables scientific due diligence by grading claims against public literature, clinical trials, and filings, with explicit citations and optional attestation.4MIT
- AlicenseNot gradedqualityAmaintenanceEnables traceable scholarly literature reviews using free APIs, generating reports where every claim links to evidence IDs.MIT
- AlicenseAqualityBmaintenanceAn MCP server implementing the ROBINS-I V2 framework for risk-of-bias assessment in non-randomized studies, with deterministic algorithms and full provenance. It enables users to parse study documents, specify target trial results, answer signalling questions with evidence-bound quotes, and compute or override domain judgements.9Apache 2.0
- AlicenseBqualityCmaintenanceEnables revision-bound source audits with exact article fingerprinting, claim-to-source mapping, quotation verification, and immutable JSON evidence reports for prepublication review.9MIT