Overview

UTEXO MCP is a hosted Model Context Protocol server. It gives any MCP-capable AI client a set of read-only Bitcoin tools and offline Bitcoin/RGB utilities, plus a curated overview of the UTEXO Protocol.

The server requires no API keys and holds no secrets. Every tool is either a read-only query against public Bitcoin data or a pure, offline computation. It cannot move funds, sign anything, or access your wallet.

Endpoint & transport

Endpointhttps://mcp.gogettest.online/mcp
TransportStreamable HTTP (MCP), stateless — one request per call
MethodPOST (JSON-RPC 2.0 body)
AuthNone
Health checkGET /health{"status":"ok"}
DescriptorGET /info → server name, version and tool list
Native remote-MCP clients (e.g. Claude's custom connectors) connect straight to the URL. Clients that only speak stdio can bridge to it with mcp-remote — see below.

Add to Claude

Claude (Pro, Team or Enterprise) supports remote MCP servers as custom connectors:

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Name it UTEXO and paste the URL https://mcp.gogettest.online/mcp.
  4. Save. Start a new chat — the UTEXO tools are now available and Claude will call them when relevant.

Try it with a prompt like: "What are the current Bitcoin fees, and how many confirmations does transaction <txid> have?"

Add to Cursor

Click the button below (or in Settings → MCP → Add new MCP server, choose an HTTP server and paste the URL):

▸ Add to Cursor

Equivalent manual entry in ~/.cursor/mcp.json:

{
  "mcpServers": {
    "utexo": { "url": "https://mcp.gogettest.online/mcp" }
  }
}

Add to VS Code

VS Code (1.101+) supports MCP servers with GitHub Copilot agent mode:

▸ Add to VS Code

Or add to your .vscode/mcp.json (workspace) / user settings:

{
  "servers": {
    "utexo": { "type": "http", "url": "https://mcp.gogettest.online/mcp" }
  }
}

Claude Desktop & other stdio clients

Clients that only support local stdio servers can reach the hosted endpoint through the mcp-remote bridge (requires Node.js). Add this to claude_desktop_config.json and restart:

{
  "mcpServers": {
    "utexo": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.gogettest.online/mcp"]
    }
  }
}

Other clients & quick test

Any MCP client that speaks Streamable HTTP works. To smoke-test from a terminal:

# List available tools
curl -s https://mcp.gogettest.online/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Inspect interactively with the official MCP Inspector pointed at the endpoint URL.

Tool reference

utexo_project_info

Returns a concise, curated overview of the UTEXO Protocol and its building blocks. No parameters.

bitcoin_network_status

Current chain tip height, recommended fee rates (sat/vB) and a mempool summary. No parameters.

bitcoin_fee_estimates

Recommended fee rates in sat/vByte for fastest, half-hour, hour, economy and minimum targets. No parameters.

bitcoin_price

Current Bitcoin spot price in major fiat currencies (USD, EUR, GBP, JPY, CAD, CHF, AUD). No parameters.

estimate_transaction_fee

ParameterTypeDescription
vbytesnumber (optional)Transaction virtual size in vBytes, if known.
inputsinteger (optional)Number of inputs — used with outputs to approximate vsize when vbytes is omitted.
outputsinteger (optional)Number of outputs.
priorityenum (optional)fastest | halfHour | hour | economy | minimum (default halfHour).

Returns the chosen fee rate, vsize used and the total fee in sats and BTC, using live recommended rates.

bitcoin_address

ParameterTypeDescription
addressstringA Bitcoin address (legacy, P2SH, bech32 or taproot).

Returns confirmed + mempool balance (sats and BTC) and transaction counts.

bitcoin_transaction

ParameterTypeDescription
txidstring (64 hex)The transaction id.

Returns confirmation status, confirmation count, block height, fee, size/weight and input/output counts.

bitcoin_block

ParameterTypeDescription
heightinteger (optional)Block height.
hashstring (optional)Block hash (64 hex). Provide exactly one of height or hash.

Returns header details: hash, height, timestamp, tx count, merkle root, difficulty, bits, nonce, previous hash.

verify_merkle_proof

ParameterTypeDescription
txidstring (64 hex)Transaction id, display (big-endian) order.
positionintegerTransaction index within the block.
merklePathstring[]Sibling hashes leaf→root, display order. Empty for single-tx blocks.
merkleRootstring (64 hex)Block merkle root, display order.

Reconstructs the merkle root from the proof and reports whether the transaction is included. Runs fully offline. It enforces the "all index bits consumed" rule (Bitcoin Core's CPartialMerkleTree invariant) so a proof cannot validate at a fabricated position.

Self-hosting

The server is a small Node.js app (MIT licensed). To run your own instance:

git clone https://github.com/Alicepoltora/utexo-mcp.git
cd utexo-mcp
npm install
PORT=8791 npm start
# MCP endpoint: http://127.0.0.1:8791/mcp

Configuration via environment variables: PORT (default 8791), HOST (default 127.0.0.1), and BITCOIN_API_BASE (default https://mempool.space/api — point it at your own mempool/esplora instance if you prefer). Put it behind a TLS reverse proxy for public use.

Privacy & limits

  • No secrets. The server stores nothing and requires no credentials.
  • Read-only. It cannot sign transactions, move funds or touch a wallet.
  • Aggregate analytics only. The landing page counts anonymous "which client did you connect with" clicks (e.g. Claude vs Cursor). No cookies, IP addresses or user agents are stored — just per-event tallies, viewable at /stats.
  • Third-party data. Bitcoin queries are proxied to a public mempool.space-compatible API; those requests are subject to that provider's availability and rate limits.
  • Best-effort availability. Provided as-is under the MIT license, with no warranty.