Skip to content

v0.2.2 — Composites release (clean republish of 0.2.1)

Choose a tag to compare

@DHEBP DHEBP released this 24 May 02:00
· 41 commits to main since this release

First agent-ready release of dero-mcp-server. Adds five composite tools that fuse live DERO daemon reads with the bundled 145-page docs index, makes every tool safe for MCP host auto-approve via read-only annotations, and gives agents structured error codes they can react to programmatically.

All 20 v0.1.x primitives keep their identifiers, schemas, and behavior — this is an additive release. Clients pinned to 0.1.x will continue to work.

Note: 0.2.1 was briefly on npm and withdrawn; install 0.2.2. Same surface and schemas — only the bundled docs index and version strings differ from the withdrawn build.

What's new

Five composite tools (the wedge)

Each composite replaces a multi-step primitive chain with a single call, returns a plain-language narrative, and stitches curated docs citations.

  • diagnose_chain_health — replaces Ping + GetInfo + GetHeight + GetTxPool. One call returns a health narrative + signals (healthy / stale-tip / lagging / unreachable) + citations to derod docs.
  • explain_smart_contract — replaces GetSC + manual DVM-BASIC parsing + docs lookup. Parses the function surface, classifies the contract pattern (token / registry / minimal / generic), and selects the most relevant DVM docs page heuristically.
  • recommend_docs_path — fans out a natural-language intent across all 4 DERO products (derod, tela, hologram, deropay) in parallel and ranks. Optional product_hint is a 1.5× score bias, not a filter.
  • estimate_deploy_cost — DVM deploy pre-flight. Wraps GetGasEstimate with a plain-text breakdown of compute vs storage gas plus the parsed contract surface. Surfaces daemon -32098 DVM compile errors as structured INVALID_INPUT with the raw daemon message preserved.
  • trace_transaction_with_context — wraps GetTransaction with confirmation classification, kind detection (sc_install / transfer_or_invocation / coinbase / unknown), and inline SC install surface extraction (no second GetSC call needed because install source is embedded in the tx record).

Agent-ready foundations

  • Read-only annotations on every toolreadOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: false. MCP hosts can safely auto-approve any call from this server.
  • Agent-instruction style descriptions on all 25 tools (call-timing, input requirements, output shape, fallback guidance) enforced by check:mcp-descriptions in CI.
  • 16 curated related_docs citations across 7 tools, validated against the bundled docs index in CI by check:citations.
  • Five structured _meta.error codes so agents can react programmatically: RPC_UNREACHABLE, RPC_INVALID_PARAMS, NO_DOCS_MATCH, INVALID_INPUT, TX_NOT_FOUND. Each includes a hint string and a retryable flag.

Resources and prompts

  • +1 resource: dero://mcp/composites — JSON catalog of all 5 composites with replaces, when_to_call, inputs, output_highlights, and error_codes for connect-time agent orientation. (Total: 4 resources.)
  • +2 prompts: find_dero_docs_for_intent (drives recommend_docs_path) and estimate_deploy_for_contract (drives estimate_deploy_cost). The three original prompts refreshed to call composites first with documented primitive fallbacks. (Total: 5 prompts.)

Documentation

User guide: derod.org/tools/mcp-server

Agent orientation at connect time: MCP resources dero://mcp/composites, dero://mcp/example-flows, and dero://mcp/safety-boundary (built into the server — no separate docs folder in the repo).

Install

npm install -g dero-mcp-server@0.2.2

Or in your MCP client config:

{
  "mcpServers": {
    "dero": {
      "command": "npx",
      "args": ["-y", "dero-mcp-server@0.2.2"]
    }
  }
}

Registry: io.github.DHEBP/dero-mcp-server

Verification (reproducible)

npm run check:mcp-descriptions   # 25/25 descriptions pass 4-check guard
npm run check:citations          # 16/16 citations resolve against bundled index
npm run smoke:mcp                # tools/resources/prompts parity + read-only annotations
npm run test:flows               # 10 primitive flows end-to-end vs public daemon
npm run test:composites          # 11 composite assertions including all failure modes

Backward compatibility

All 20 primitives unchanged. The only package.json field changes since 0.1.x are version and description. No removed exports, no renamed tools, no schema breaking changes.