Skip to content
Conduit

mcp server

hogswap-mcp

MCP server for HOGSWAP - DEX-aggregated quotes, unsigned swap builds, and pay-any-x402-invoice-with-any-asset tools for AI agents on Algorand

LiquiHog/hogswap-mcpcommunitylistedunreviewednot running here yet

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "hogswap-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "hogswap-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 14, 2026

hogswap-mcp

MCP server exposing HOGSWAP to AI agents: DEX-aggregated quotes, unsigned swap builds, zero-human API-key self-registration, and the star — pay_x402_invoice: pay any Algorand-settled x402 invoice with any 1–4 assets you hold, via an exact-out router swap. API reference: hogswap-v1.liquihog.dev/reference. Building an app rather than an agent? Official SDKs: hogswap-js-sdk (npm) and hogswap-py-sdk (PyPI).

Strictly non-custodial: every transaction-producing tool returns unsigned groups; you sign with your own wallet tooling and submit yourself. Never give any tool a mnemonic or private key.

Run (stdio)

npm install
HOGSWAP_API_KEY=hsk_... node src/index.mjs        # key optional

Claude Code: claude mcp add hogswap -e HOGSWAP_API_KEY=hsk_... -- node <abs-path>/src/index.mjs

EnvMeaning
HOGSWAP_API_URLAPI base (default https://hogswap-v1.liquihog.dev)
HOGSWAP_API_KEYhsk_ bearer key; self-issue via the register_agent / verify_registration tools

Tools

Free (no key): list_payable_assets, get_quote, register_agent, verify_registration. get_quote takes optional max_legs (1–16) to cap total route legs, splits included — for replaying the route under your own resource budget.

🔑 Require a HOGSWAP API key (set HOGSWAP_API_KEY, or self-issue one with register_agent → sign → verify_registration): build_swap, pay_x402_invoice, get_credit_offer, get_balance, plus the watch tools set_watch / list_watches / delete_watch (standing server-side price/target alerts — free of charge, but namespaced by key). Without a key these return an auth error, not a build.

Watch fires are numbers-only hints — re-quote with get_quote when one fires. From MCP, poll list_watches; outside MCP the server pushes events over SSE at GET /watches/stream.

pay_x402_invoice returns two groups (swap, then payment) — sign all txns in one pass, submit the groups in order; the swap's on-chain floor guarantees the payment is funded. A HOGSWAP credit top-up's 402 offer is itself an x402 invoice: feed its accepts[0] (with the note nonce) straight into pay_x402_invoice to buy credits with any asset.

Remote (no local process)

The same 12 tools are served over MCP Streamable HTTP at https://hogswap-v1.liquihog.dev/mcp/ — hosted by the HOGSWAP API itself, no local process needed. Use the trailing slash — the bare /mcp 307-redirects to /mcp/, costing an extra round trip per call. Point any remote-capable MCP client at it; pass your key as Authorization: Bearer hsk_... (the Claude API connector's authorization_token does exactly this).

Smoke tests

HOGSWAP_API_KEY=hsk_... \
SMOKE_PAY_TO=<any USDC-opted addr> node test/smoke.mjs        # stdio

HOGSWAP_API_KEY=hsk_... \
SMOKE_PAY_TO=<any USDC-opted addr> node test/smoke-remote.mjs # remote

Both default to the live API; set HOGSWAP_API_URL (stdio) or MCP_URL (remote) to point them at another instance. Read-only + build-only; nothing is signed or broadcast.

↑↓ navigate openesc close