New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

utuh-mcp

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

utuh-mcp

The Utuh watcher as an MCP server: sweep bonded completeness claims on Creditcoin CC3 Testnet against Ethereum, and refute an incomplete one for half its bond. Five tools, no account, no server — an AI agent can hold the watcher role.

latest
Source
npmnpm
Version
0.4.0
Version published
Weekly downloads
49
Maintainers
1
Weekly downloads
 
Created
Source

utuh-mcp

The Utuh watcher as a Model Context Protocol server, so an AI agent can hold the role. Utuh bonds the claim that a set of source-chain events is complete; anyone who proves one omitted event takes half the bond. This server is the "anyone".

Connect a client

No clone, no key, no build: every client below runs npx -y utuh-mcp and gets the same server. Add "env": { "PRIVATE_KEY": "0x…" } to the entry only if you want refute_claim to be able to send; the other four tools read the chain and spend nothing.

Claude Desktopclaude_desktop_config.json (Settings → Developer → Edit Config), or install utuh-mcp.mcpb from the releases with one click:

{ "mcpServers": { "utuh": { "command": "npx", "args": ["-y", "utuh-mcp"] } } }

Claude Code:

claude mcp add utuh -- npx -y utuh-mcp

Cursor.cursor/mcp.json in the project, or ~/.cursor/mcp.json for every project:

{ "mcpServers": { "utuh": { "command": "npx", "args": ["-y", "utuh-mcp"] } } }

VS Code.vscode/mcp.json in the workspace (Copilot agent mode):

{ "servers": { "utuh": { "type": "stdio", "command": "npx", "args": ["-y", "utuh-mcp"] } } }

Any other client — it is a stdio server: run npx -y utuh-mcp and speak JSON-RPC on its stdin and stdout. It is listed in the official MCP Registry as io.github.PugarHuda/utuh-mcp.

What it serves

Five tools, each the same function the daemon and the live console run:

  • tally — what both registries have done, read live from Creditcoin CC3 Testnet
  • list_claims — a page of claims with status, bond, and remaining challenge window; pass the returned nextCursor for the next page
  • sweep_claim — sweep Ethereum across independent endpoints and check a claim's completeness
  • refute_claim — prove one omitted event and take half the bond (needs confirm: true and a funded PRIVATE_KEY — everything else needs no key and spends nothing)
  • audit_attestors — check what Creditcoin's attestors signed three ways: against Ethereum itself, against each network's own ChainInfo digest index, and against the other Creditcoin network. Both networks attest Ethereum mainnet from disjoint attestor sets, and the tool reports whether their digests for the same block agree

Every tool answers in prose and as structuredContent validated against its outputSchema, so a client can hand the verdict to code. Every tool carries its annotations, so a client knows which four only read and which one sends a transaction that slashes a real bond. A sweep, an audit and a refutation report each step as a logging notification and, when the call carried a progress token, as progress. A failure the caller can act on — no such claim, no usable endpoint — comes back as an isError result with an explanation rather than a JSON-RPC error.

Claims are addressable as resources too, so an agent can hold one as context instead of re-reading a paragraph: utuh://tally, utuh://claims/{deployment}, utuh://claim/{deployment}/{id} — live JSON, read from the same contracts. The templates list their deployments and complete their variables, so a picker offers sepolia, mainnet, and then the claim ids that exist.

The watcher's job is written down as two prompts: hold_the_watcher_role sweeps every claim still inside its window and reports the gaps without spending anything, and weigh_a_refutation takes one claim from finding to decision — confirm the gap, lay out the bond and the reward, and send only on an explicit yes. The server's instructions at initialize say the same in five sentences, for a client that never reads a prompt.

Privacy Policy

utuh-mcp runs on your machine and keeps nothing. It collects no telemetry and stores no data between runs. Every tool reads public chain state over JSON-RPC from Creditcoin CC3 Testnet and public Ethereum endpoints; those endpoints see your IP address and the requests, as any RPC provider does, and sweep_claim and audit_attestors name the endpoints they used in their results. The only secret it can hold is PRIVATE_KEY, which you supply, which is read from the environment, never written anywhere, and used only by refute_claim after confirm: true. Nothing is shared with the authors or any third party. Questions: open an issue at https://github.com/PugarHuda/utuh or use the contact in that repository's SECURITY.md.

The first MCP client ever connected to this server found the gap in a standing claim and refuted it — a real slashed bond, during its own smoke test.

Keywords

mcp

FAQs

Package last updated on 13 Sep 2026

Related posts