npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@purplesquirrel/goat-network-mcp

v0.4.4

Published

MCP server for GOAT Network — the Bitcoin L2. EVM-compatible JSON-RPC access (blocks, txs, balances, contract reads, logs) for any AI agent.

Readme

goat-network-mcp

CI npm license

MCP server for GOAT Network — the BitVM-based Bitcoin L2. 91+ tools (up to 128 with optional services): 43 native (JSON-RPC reads, ABI-aware tx builders, native L1↔L2 bridge, ERC-8004 identity) plus 48+ wrapped from @goatnetwork/agentkit (DEX, BitVM2, OFT, wgBTC, full agentkit surface). Optional services add 37 more tools (faucet, X402 payments, merchant portal). All build-only — the MCP never holds keys; unsigned txs are returned for external signing.

Note: @goatnetwork/[email protected] ships with a broken ESM build (upstream issue); we ship a postinstall patch that fixes it. No action required from users — npm install runs the patcher automatically.

Networks

| Network | Chain ID | RPC | Explorer | | ----------------------------- | -------- | ---------------------------------- | ------------------------------------- | | GOAT Network Alpha Mainnet | 2345 | https://rpc.goat.network | https://explorer.goat.network | | GOAT Network Testnet3 | 48816 | https://rpc.testnet3.goat.network | https://explorer.testnet3.goat.network|

Native token: BTC (18 decimals, wei-style).

Install

npm install -g @purplesquirrel/goat-network-mcp

Or run from source:

git clone https://github.com/ExpertVagabond/goat-network-mcp
cd goat-network-mcp
npm install
npm run build
node dist/index.js

Claude Desktop / Claude Code config

{
  "mcpServers": {
    "goat-network": {
      "command": "npx",
      "args": ["-y", "@purplesquirrel/goat-network-mcp"],
      "env": {
        "GOAT_NETWORK": "mainnet"
      }
    }
  }
}

Environment

| Variable | Default | Description | | ----------------- | --------- | ---------------------------------------------------------- | | GOAT_NETWORK | mainnet | mainnet or testnet3 | | GOAT_RPC_URL | — | Override the RPC endpoint (e.g. a private/paid node) | | GOAT_FAUCET_URL | — | Faucet API base URL (enables faucet tools) | | GOAT_X402_URL | — | X402 merchant portal API URL (enables merchant/payment tools) | | GOAT_X402_TOKEN | — | X402 access token (optional, for authenticated requests) |

Tools

Chain

  • get_chain_info — chain ID, latest block, gas price, network metadata
  • get_block — block by number or tag (latest, safe, finalized, …)
  • get_block_by_hash — block by hash
  • get_gas_price — current gas price in wei
  • get_fee_history — EIP-1559 base fees and reward percentiles

Accounts

  • get_balance — native BTC balance (returns decimal and wei)
  • get_transaction_count — nonce
  • get_code — contract bytecode
  • get_storage_at — read a storage slot

Transactions

  • get_transaction — tx by hash
  • get_transaction_receipt — receipt with status + logs
  • send_raw_transaction — broadcast a pre-signed raw tx (MCP does not sign)

Contracts

  • eth_call — read-only contract call
  • estimate_gas — gas estimate for a call
  • get_logs — event log filter

Explorer

  • explorer_link — build an explorer URL for a tx, address, or block

Bridge (v0.3.0 — GOAT-native BTC L1↔L2)

The bridge contract lives at 0xBC10000000000000000000000000000000000003 on both mainnet and testnet3.

  • system_contracts — return the full predeployed system contract table (bridge, wgBTC, goatToken, btcBlock relay, …)
  • bridge_deposit_op_return — generate the OP_RETURN payload for a BTC L1 deposit (network-aware: GOAT on mainnet, GT3V on testnet3)
  • bridge_deposit_status — call isDeposited(txHash, txout) to verify a BTC deposit has been credited
  • bridge_withdrawal_status — read a withdrawal by id; returns status (Pending/Canceling/Canceled/Refunded/Paid), amount, tax, BTC fee rate
  • bridge_params — live deposit/withdrawal limits, tax rates, confirmation requirements
  • build_bridge_withdraw — build unsigned L2 tx calling withdraw(btcReceiver, maxTxPriceSatPerVbyte) with the BTC amount as msg.value
  • build_bridge_rbf — bump fee rate on a pending withdrawal
  • build_bridge_cancel — request cancellation (cancel1)
  • build_bridge_refund — claim refund after relayer-approved cancellation

Build / Write (v0.2.0 — no key custody)

  • build_transaction — auto-fill an unsigned EIP-1559 tx (nonce, gas, fees, chainId) ready for an external wallet to sign
  • encode_function_data — ABI-encode a function call (accepts JSON ABI or human-readable signature)
  • decode_function_data — decode calldata back to {functionName, args}
  • decode_event_log — decode a raw event log into the event name + named arguments
  • simulate_transaction — dry-run via eth_call; returns success or a decoded revert reason
  • build_erc20_transfer — one-shot ERC-20 transfer builder (accepts decimal amount + decimals)
  • build_erc20_approve — ERC-20 approve builder; pass "max" for unlimited allowance
  • build_contract_write — generic write builder for any contract function

Sign the returned tx in your wallet (MetaMask/Phantom/Ledger/etc), then broadcast the signed hex via send_raw_transaction. The MCP never holds keys.

Security

This MCP is read-mostly. The only write surface is send_raw_transaction, which broadcasts a transaction you already signed elsewhere — the server never holds keys. Run it under whatever sandbox your MCP host provides.

License

MIT © Purple Squirrel Media