Skip to main content
Glama
spiritcards

spirit-cards-mcp

Official
by spiritcards

Find a valid PoW nonce

find_nonce

Grind nonce values locally to find one meeting the live mining difficulty for Spirit Cards, then return it to submit to mine(); it does not send a transaction.

Instructions

Grind nonce = 0,1,2,... locally until leadingZeroBits(work) >= the live required difficulty. Bounded by maxAttempts (default 1,000,000, hard cap 5,000,000) and a ~20s wall-clock cap. Read-only; returns the nonce to submit to mine(); it does not send a transaction.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
minerYesminer address used in the preimage
maxAttemptsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/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 burden and does so well: it declares local CPU grinding, a maxAttempts bound (default 1,000,000, hard cap 5,000,000), a ~20s wall-clock cap, and that it is read-only and never sends a transaction. Resource cost, side-effect profile, and termination conditions are all disclosed.

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?

Three dense sentences, front-loaded with the core algorithm and followed by bounds, then side-effect profile. Nothing is padding; each clause adds a fact an agent needs (attempt limit, time limit, read-only, no transaction).

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

Completeness3/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 no annotations, so the description must carry return-value detail, and it only partially does: it says it 'returns the nonce' but not the response shape. It also omits the failure mode when the attempt or 20s cap is exhausted, leaving the agent without guidance on handling an unsuccessful grind.

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% (miner is documented, maxAttempts is not). The description explains the operational meaning of maxAttempts as the bound on grinding attempts and adds the extra semantic that a ~20s wall-clock cap can terminate the search earlier, which the schema alone does not convey.

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?

States a specific verb and resource with unusual precision: it grinds nonce = 0,1,2,... locally until leadingZeroBits(work) >= the live difficulty. It also draws a clean line against the write path ('does not send a transaction'), but it never names the closest sibling verify_nonce, which is the tool an agent would most likely confuse it with.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'returns the nonce to submit to mine()' tells the agent where the output goes, which situates it in the mining workflow. However there is no explicit when-to-use/when-not guidance and no routing to verify_nonce for checking a candidate nonce, so the agent must infer its place in the sequence.

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