Skip to main content
Glama

check_draft

Checks marketing copy against supplied evidence and policy rules to flag unsubstantiated claims and missing AI disclosure before publishing.

Instructions

Check one piece of marketing copy against the evidence you hold.

Returns a plain-English report of which claims cannot be substantiated, which of your own policy rules the draft breaks, and whether an AI disclosure is missing. Read the summary first: it is written to be read by a person, and the machine-readable detail is available from check_draft_json.

ARGUMENTS draft the copy to check, inline. Give this or draft_path. draft_path path to a .md/.txt/.html file to check instead. evidence_dir a folder of files to treat as evidence (.txt/.md/.html). Everything in it is offered to the checker; nothing is uploaded anywhere. evidence_json evidence as a JSON array, e.g. [{"id":"pricing","text":"The plan is $39/month"}] policy_json your own policy file, from claimgate init-policy. Omit to use the built-in defaults. use_model false runs only the deterministic checks - no network, no API key. A claim that cannot be decided that way comes back unverified, never supported.

WHAT IT WILL NOT DO It does not decide that a claim is true because it sounds reasonable. If it cannot tell, it says so. A green tick here means an evidence file you supplied actually states the claim's substance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
draftNo
use_modelNo
draft_pathNo
policy_jsonNo
evidence_dirNo
evidence_jsonNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full behavioral burden and does so well: it discloses the privacy posture ('nothing is uploaded anywhere'), the deterministic-vs-model execution modes, the API-key/network requirement, and the precise meaning of a pass ('a green tick means an evidence file you supplied actually states the claim's substance'). The dedicated WHAT IT WILL NOT DO section pre-empts the most likely misuse, treating unsubstantiated claims as `unverified` rather than guessing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose, then organized into a parameter block and a caveats block. Despite its length, every sentence carries distinct information (privacy, mode semantics, output routing) and none restates the tool name or schema boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with zero schema coverage, no annotations, and an existing output schema, the description covers exactly the right ground: full parameter semantics, execution-mode behavior, privacy guarantees, and where to get structured output. Return-value explanation is correctly omitted since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

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: every one of the six parameters is documented inline, including the draft/draft_path mutual exclusivity, what evidence_dir offers to the checker, a concrete evidence_json example, the origin of policy_json via `claimgate init-policy`, and the semantic difference use_model=false makes to returned statuses.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check one piece of marketing copy against the evidence you hold') and immediately scopes the output as a plain-English report, which cleanly separates it from the sibling check_draft_json. An agent can tell what this tool does and what class of result it returns without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to check_draft_json for machine-readable detail and explains the use_model=false branch (no network, no API key, undecidable claims come back `unverified`). It also notes policy_json is omitted to use built-in defaults. However the sibling check_policy_only is never mentioned, and there is no explicit 'do not use this when...' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.