dd-explain
Click on "Install 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., "@dd-explainWhat did DigiDollar transaction 34c67c35 do?"
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.
dd-explain-mcp
DigiDollar transaction explainer — a read-only MCP server (stdio) and CLI that
tells an AI agent what a DigiDollar transaction recorded in DigiByte actually did:
mint, transfer, or redemption; amounts in cents; lock tier and maturity; what was
burned; whether collateral was released. Built on
dgb-digidollar-codec, the
same decoder that reconciled DigiDollar's first mainnet week to the node to the
cent. Zero other dependencies. Node 18+.
Human version of the same thing: dgbinsights.com/lookup.
Install
npm install
npm test # 19 offline tests against bundled fixturesRelated MCP server: Solana AI Terminal
Use
node bin/dd-explain.js <txid> # offline: bundled fixtures only
ALLOW_NETWORK=1 node bin/dd-explain.js <txid> # live: digiexplorer.info
node bin/dd-explain.js --decode 6a0244440103021027 # decode an OP_RETURN script
node bin/dd-explain.js <txid> --jsonMCP (stdio) — add to your client's server list:
{ "dd-explain": { "command": "node", "args": ["/path/to/dd-explain-mcp/bin/dd-explain-mcp.js"], "env": { "ALLOW_NETWORK": "1" } } }Tools: explain_digidollar_tx(txid) and decode_dd_opreturn(scriptPubKeyHex).
Network access is off by default; the source field of every answer says
whether it came from a bundled fixture or the live explorer.
What it computes that an explorer does not
The DigiDollar record in a redemption declares the change the redemption
re-creates, not the burn. This tool values the consumed DD inputs one hop back —
from the records of the transactions that created them — and reports
burn = consumed − change, with the creating transactions listed. Fixtures for
the creating transactions of the bundled redemption are included, so the example
below computes fully offline; where a creating transaction is unreachable, the
burn is reported as Unverified rather than guessed. Example:
34c67c35… consumed $201.00 · change $100.00 · burn $101.00 (explorer shows "Burn $100.00")
58f910ce… consumed $520.00 · change $100.00 · burn $420.00 (explorer shows "Burn $100.00")That discrepancy is raised with DigiByte Core in Discussion #446.
Vocabulary
Output uses only factual phrasing — "recorded in DigiByte transaction", "included in block N", "timestamped commitment", "consensus type byte" — and marks every inference Unverified. The words proof, verified, notarized, immutable, authentic are refused by a check on the emitted text. Facts and hashes only; no address, entity, or reputation labels.
Layout
See ARCHITECTURE.md. The codec owns every decoding rule;
src/explain.js owns the explanation, the burn math, and the fence.
Provenance
Scaffolded by Michael Emery's Grok-based build agent from a written spec, then reviewed, patched (one-hop burn valuation), and tested in the DGB Tools lane. Describes DigiByte Core v9.26.5 behaviour as of September 2026. Part of dgb-tools — independent community tooling, not affiliated with the DigiByte Foundation. MIT.
Available Tools
2 toolsdecode_dd_opreturnA
Offline decode of a DigiDollar OP_RETURN scriptPubKey hex via parseDDOpReturn. Returns consensus type byte kind (mint/transfer/redeem), amounts in cents, and fields. No network. Read-only. Does not label entities.
| Name | Required | Description | Default |
|---|---|---|---|
| scriptPubKeyHex | Yes | OP_RETURN scriptPubKey as hex (typically starts with 6a…) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and does well: it explicitly states no network access, offline execution, read-only behavior, and the output scope limitation (no entity labeling). It does not cover error behavior on malformed hex, which is a minor gap for a decode tool.
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 short sentences, all informative: core purpose, return values, and behavioral constraints. The purpose is front-loaded and every sentence earns its place with zero redundancy.
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 offline decode tool with no output schema, the description covers purpose, return contents (kind, amounts in cents, fields), and behavioral traits. It is somewhat vague on what 'and fields' means and does not address invalid-input handling, but nothing essential is missing for an agent to invoke it correctly.
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 100% and the single parameter scriptPubKeyHex is already documented as an OP_RETURN scriptPubKey in hex typically starting with 6a. The description adds no parameter-specific detail beyond what the schema already provides, so the baseline of 3 applies.
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 verb ('decode'), a specific resource (DigiDollar OP_RETURN scriptPubKey hex), names the implementation path (parseDDOpReturn), and spells out the return values: consensus type byte kind (mint/transfer/redeem), amounts in cents, and fields. The closing 'Does not label entities' differentiates it from the sibling explain_digidollar_tx.
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 establishes clear usage context: a quick offline decode of scriptPubKey hex with no network dependency and read-only guarantees. It gives a negative signal ('Does not label entities') but stops short of explicitly naming explain_digidollar_tx as the alternative or stating when to prefer one over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_digidollar_txA
Explain a DigiDollar transaction recorded in DigiByte from its txid. Resolution is fixture-first: offline fixtures/TXID.json is preferred; live digiexplorer.info only when ALLOW_NETWORK=1. The response source field labels fixture vs digiexplorer — agents must not treat a fixture as live chain state. Classifies via consensus type byte; returns kind, amounts (cents/USD), ddOutputs, burns if redeem (burn = consumed − change via one-hop valuation of creating txs when reachable), collateralSpends count, shapeOk, block height/time if present, and disclaimer fields. Read-only. Facts and hashes only; inferences marked Unverified. Product name: DigiDollar transaction explainer (dd-explain-mcp). Lookup UI: https://dgbinsights.com/lookup
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | 64-hex DigiByte transaction id |
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 so thoroughly: it discloses fixture vs live resolution, the ALLOW_NETWORK gating, the unverified-fixture caveat, read-only behavior, and that inferences are marked Unverified. It also explains the burn calculation rather than hiding it.
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 information-rich and front-loaded with the core purpose before details. The product name and lookup UI are useful context but slightly peripheral for an agent selecting/invoking the tool, keeping it from a perfect conciseness score.
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 having no output schema, the description lists the returned fields and caveats in enough detail to set expectations. It could be more complete about error behavior (e.g., missing fixture with ALLOW_NETWORK unset) and about how it relates to decode_dd_opreturn, but it is mostly sufficient 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?
The input schema already covers txid well ('64-hex DigiByte transaction id'), so schema coverage is 100%; baseline is 3. The description adds little about parameter formatting beyond referring to 'txid' and the TXID.json filename, which does not materially extend the schema.
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 phrase names a specific verb and resource ('Explain a DigiDollar transaction ... from its txid') and lists distinctive outputs, so the function is clear. It does not explicitly contrast with the sibling decode_dd_opreturn, so it falls short of full sibling differentiation.
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 provides operational context (fixture-first, live only when ALLOW_NETWORK=1) and a warning about fixtures, but it never states when to choose this over decode_dd_opreturn or when not to use it. Usage is therefore mostly implied rather than explicitly routed.
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. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
decode_dd_opreturn - First observed
explain_digidollar_tx
TDQS
The two tools take entirely different inputs (a txid vs. OP_RETURN hex) and serve distinct purposes: high-level transaction explanation versus low-level script decoding. Their descriptions clearly delineate when each should be used, leaving no ambiguity.
Both tools follow the same verb_noun snake_case pattern: explain_digidollar_tx and decode_dd_opreturn. The verbs accurately describe the action and the nouns specify the target, making the naming predictable and consistent.
With only two tools, the server feels thin even though its purpose is narrowly focused on explaining DigiDollar transactions. The count is borderline but acceptable for such a specialized utility; it is not excessive but also not richly scoped.
The tool surface covers the essential workflows for its domain: full transaction explanation and offline OP_RETURN decoding. Minor gaps exist, such as no support for raw full-transaction hex decoding, but the core explainer and decoder are sufficient for most use cases.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Bitcoin wallet intelligence for AI agents: trust, labels, tx verify, fees, and timestamps.
Explore blockchain data across addresses, tokens, blocks, and transactions. Investigate any transa…
Bitcoin and YouTube video intelligence for AI agents. Pay-per-call via x402 USDC on Base.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables secure interactions with cryptocurrency daemon RPC interfaces through AI assistants, supporting transaction management, wallet operations, and daemon monitoring for Bitcoin-derived cryptocurrencies.1-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with the Solana blockchain network, supporting documentation search, blockchain queries, wallet management, and cryptographic signing operations on Devnet and Testnet.-
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with blockchain data across 48 networks via the 3xpl JSON API, supporting tools for transactions, addresses, blocks, and more.5MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to pay for services in DigiByte/DigiDollar on testnet via the x402 pay-and-retry pattern, with spend limits and security policies.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dgb-tools/dd-explain-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server