Skip to main content
Glama

Countersign by Signalry

Suggest checks for a claim

suggest_checks
Read-only

Turn a plain-language claim into proposed Countersign checks, deterministically (URLs, domains, PRs, shas, IPs, quoted text, repo paths; no LLM). Ranked by confidence and by how each recipe has held up in the ledger. Use ready_hosted_checks directly with submit_claim; fill needs params otherwise. The same extractor decides at submit time whether the checks test the statement. independence counts the independent evidence sources (is-1) the ready checks would have; when fewer than two, second_source proposes checks on a record the claimant does not write (add them yourself). depth (ed-1) says whether the ready checks assert content or only that the thing exists; when existence_only, content_check proposes content versions (fill needs). Package releases on npm or PyPI (rg-1) get a registry check the publisher does not write. URLs the statement says must not change ("without changing ", " is unchanged") become prohibited_effect_preserved checks with role must_not_change (mnc-2); pass pin: true to fill body_sha256 now (vp-1: a page that changes between two reads gets no pin; a contains / json_fields check on its stable content is proposed instead). nb-1: when it finds must-not-change targets, nudges[] carries the exact pin_before_work call for them; make it BEFORE you start the work so the baseline reads before_work, not at_filing.

Input Schema

NameRequiredDescriptionDefault
pinNomnc-2: for URLs the statement says must not change, read each body's sha256 now with the checker's own fetch (at most 3) so the prohibited_effect_preserved check is ready to submit
statementYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only state readOnlyHint and openWorldHint, so the description is doing real work: it discloses determinism ('no LLM'), confidence and ledger-based ranking, and the notable guarantee that 'the same extractor decides at submit time whether the checks test the statement'. It also discloses a bounded external fetch when pin is set ('read each body's sha256 now ... at most 3'), which is behavior an agent should know before calling.

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

Conciseness3/5

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

The purpose is front-loaded, but the body is a dense run-on packed with undefined internal codes (is-1, ed-1, rg-1, mnc-2, vp-1, nb-1) that an agent cannot decode without a legend. The information is mostly valuable, but nested parentheses and code tags make it hard to scan.

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

Completeness4/5

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

There is no output schema, and the description does the heavy lifting by naming the returned fields (ready_hosted_checks, needs, independence, second_source, depth, content_check, nudges) and the prohibited_effect_preserved / must_not_change role. Gaps remain: the unexplained recipe codes and the absence of any description for the required `statement` field.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% and `statement` is undocumented in the schema, but the description compensates by framing it as a 'plain-language claim' with domain examples. For `pin` it adds genuine meaning beyond the schema description: the vp-1 caveat that a page changing between reads gets no pin and a contains/json_fields check is proposed instead, plus the nb-1 nudge to call pin_before_work first.

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

Purpose4/5

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

Opens with a specific verb+resource: 'Turn a plain-language claim into proposed Countersign checks, deterministically', and enumerates the extractable entity types (URLs, domains, PRs, shas, IPs, quoted text, repo paths). It also distinguishes itself implicitly from submit_claim by supplying the input that submit_claim consumes, though it never contrasts itself with siblings like list_check_types or verify_claim.

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?

Gives actionable routing: 'Use ready_hosted_checks directly with submit_claim; fill `needs` params otherwise', and prescribes ordering ('make it BEFORE you start the work so the baseline reads before_work'). It offers no explicit when-not-to-use case and names only submit_claim among 19 siblings, so the context is clear but exclusions are absent.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources