Skip to main content
Glama

DERO MCP Server

audit_chain_artifact_claim

Read-only

Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (cited_in_false_claim | clean), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.

When to call: when the user asks "what's going on with DERO block X?" / "is this transaction the inflation-claim TX?" / "does this proof string come from a known false claim?" PREFER this over chaining dero_get_block_header_by_topo_height + dero_get_transaction + dero_decode_proof_string yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single verdict field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.

Input Requirements (CRITICAL):

  • At least ONE of topoheight, block_hash, tx_hash, or proof_string MUST be provided. The composite throws INVALID_INPUT otherwise.

  • topoheight is OPTIONAL. Non-negative integer.

  • block_hash is OPTIONAL. 64 hex characters.

  • tx_hash is OPTIONAL. 64 hex characters.

  • proof_string is OPTIONAL. Full deroproof… / DERO bech32 string with HRP.

  • include_forge_demo is OPTIONAL (default false). When true AND tx_hash is provided, also forges a fresh demo proof for the same TX (via dero_forge_demo_proof) and embeds it under forge_demo. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited proof_string V > -1 DERO. PREFER setting this true when the agent is fielding a "Verified ✓ means the chain minted coins, right?" question — the embedded forge IS the refutation.

Output: { verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }. verdict is cited_in_false_claim when any input matches the flagged-artifact registry, else clean. chain_facts is null when no chain-querying input was provided or all daemon calls failed; proof_decode is null when no proof_string was provided. forge_demo is null unless include_forge_demo: true was passed; on success it carries { skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source } (the slim form — full citations stay at the top level).

PREFER citing the returned related_docs verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the context_note when verdict is cited_in_false_claim so the user understands why the artifact matters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tx_hashNo64-char hex transaction hash to audit.
block_hashNo64-char hex block hash to audit.
topoheightNoTopological height of a block to audit.
proof_stringNoOptional `deroproof…` / DERO bech32 string to also decode and check.
include_forge_demoNoWhen true AND tx_hash is provided, also forge a fresh demo proof for the same TX (via dero_forge_demo_proof) and embed it under `forge_demo`. Closes the rebuttal loop in one tool call. Default false.

TDQS

A5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=true, destructiveHint=false), the description discloses important runtime behaviors: the INVALID_INPUT throw when no input is provided, parallel execution and registry joining, null-output conditions for chain_facts and proof_decode, forge_demo behavior, and CI validation of related_docs. This significantly exceeds what annotations convey and contains no contradictions.

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?

The description is long but well-structured with clear section headers ('When to call', 'Input Requirements (CRITICAL)', 'Output'). Each section delivers dense, necessary operational information, and key directives are front-loaded. The verbosity is justified given the composite's complexity and the need to prevent misuse.

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 complex composite tool with no output schema, the description fully documents the output shape, null semantics, field meanings, and agent behaviors like citing related_docs and quoting context_note. It covers inputs, failure modes, demo forge details, and integration with the false-claim registry, making it self-sufficient for correct invocation.

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?

Although schema coverage is 100%, the description adds substantial meaning: at least one of four identifiers is mandatory, exact hash length requirements are clarified, the proof_string format is specified, and include_forge_demo's conditional behavior and demo amount selection logic are explained. This makes the parameter semantics far more actionable than the schema alone.

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?

The description opens with a specific verb ('audit') and a clear resource ('chain artifact... end-to-end'), and states the composite's distinct output: a verdict, chain facts, proof decode, narrative, and rebuttal citations. It explicitly differentiates itself from sibling tools by noting it replaces manual chaining of dero_get_block_header_by_topo_height + dero_get_transaction + dero_decode_proof_string.

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

Usage Guidelines5/5

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

The description provides concrete example questions ('what's going on with DERO block X?', 'is this transaction the inflation-claim TX?') and explicit 'PREFER this over' guidance. It also specifies when include_forge_demo should be true, giving the agent clear decision criteria versus alternatives.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, with detailed descriptions that specify when to call it and how it differs from similar tools. Composite tools are well-defined, overlapping concerns are minimized.

Naming Consistency4/5

Tool names follow a general pattern: 'dero_' for core daemon RPC wrappers, 'tela_' for TELA-specific composites, and descriptive names for other composites. While mostly consistent, there are exceptions like 'audit_chain_artifact_claim' and 'dero_durl_to_scid' breaking the pattern slightly.

Tool Count4/5

With 32 tools, the server is comprehensive but slightly heavy. However, each tool serves a specific need in the DERO ecosystem, covering chain queries, docs, TELA, and composite analyses. The count is justifiable given the domain breadth.

Completeness4/5

The tool set covers core chain operations, documentation, TELA app lifecycle, and common analytical tasks. Minor gaps exist, such as lack of wallet interaction tools or transaction submission, but these are outside the apparent read-only/analysis scope.