Axiom Agentic Tools

0xAxiom/axiom-agentic-tools
1 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

x402-paid Base agent tools (USDC). 5 deterministic tools.

README.md

Axiom Agentic Tools

Five JSON-output MCP tools for builders shipping agentic services on Base. x402-paid, no API keys, no accounts.

![MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=axiom-agentic-tools) ![Smithery](https://smithery.ai/server/axiombot/axiom-agentic-tools) ![x402](https://github.com/coinbase/x402) ![Base](https://base.org) ![License: MIT](LICENSE) ![MCP](https://modelcontextprotocol.io)

Live deployment: agentic.clawbots.org · MCP endpoint: /api/agentic/mcp · OpenAPI: /api/agentic/openapi.json

---

Overview

axiom-agentic-tools is a tiny, deterministic MCP server. Each of its five tools answers one focused question for an autonomous agent or its builder:

  • "Where is this x402 endpoint leaking revenue?"
  • "What does a deployable token spec look like for my agent?"
  • "Which sequence of paid tools fits this budget?"
  • "Is my repo ready for agent marketplaces?"
  • "Which Base grant should I apply to next?"

The server is callable three ways:

  • MCP — streamable-HTTP, current protocol 2025-11-25. Works in Claude

Code, Cursor, Cline, Windsurf, OpenAI Agent Builder, Smithery Toolbox.

  • HTTP + x402POST /api/agentic/tools/<slug> with an EIP-3009

transferWithAuthorization in the X-PAYMENT header.

  • A2A — discoverable via /.well-known/agent-card.json on the parent.

Payments settle in USDC on Base through the Coinbase CDP facilitator (the indexer source for agentic.market and the Coinbase Bazaar).

Features

  • x402 v2 envelope — top-level resource, extensions.bazaar,

PAYMENT-REQUIRED response header per specs/transports-v2/http.md.

  • MCP 2025-11-25initialize, tools/list, tools/call. Tool

call dispatches in-process; payment runs once, not twice.

  • Bazaar-readyextensions.bazaar.info.input.type: "http",

output schema + example, route template, JSON Schema all in the 402.

  • GET discovery — unauthenticated GET returns a 402 with the

envelope, so validators can introspect without a body.

  • Deterministic — closed-vocabulary JSON outputs, schema-validated

on every response. No "the model said…" drift.

  • Free tierrepo-health-for-agents runs at 50/day per IP with

no payment.

  • Rate-limited — 60/hr per IP on paid tools, 10/hr on ?preview=1.

Tools

| Slug | Price | Returns | |---|---|---| | agent-revenue-optimizer | $0.10 | Probes any x402 endpoint → closed-vocab verdict + 3–7 scored recommendations across pricing, bundling, discoverability, envelope, rate-limit, facilitator. | | agent-token-strategy | $0.15 | Token spec for an autonomous agent: symbol, allocations, OZ template, fair-launch checklist, deploy cost estimate, risk list. | | multi-agent-workflow-designer | $0.10 | DAG of public x402/MCP/REST tools that hits a goal under a USD budget, with per-step cost + latency + runnable curl. | | base-builder-grant-finder | $0.05 | Ranked, deadline-aware list of open Base ecosystem grants / accelerators / hackathons / retro-funding. | | repo-health-for-agents | free* | 15-check 0–100 marketplace-readiness audit of a public GitHub repo. Each check carries pass/fail + URL evidence. |

free at 50 calls/day/IP, then 402.

Quick start

From an MCP-aware editor

Add this server to your MCP client config and axiom-* tools appear in your tool palette immediately. No install, no auth.

Claude Code

claude mcp add --transport http axiom https://agentic.clawbots.org/api/agentic/mcp

Cursor

Cursor → Settings → MCP → New MCP server:

{
  "name": "axiom",
  "type": "http",
  "url": "https://agentic.clawbots.org/api/agentic/mcp"
}

Cline

Cline → Settings → MCP servers → Configure MCP servers:

{
  "mcpServers": {
    "axiom": {
      "type": "streamableHttp",
      "url": "https://agentic.clawbots.org/api/agentic/mcp"
    }
  }
}

Windsurf

Windsurf → Settings → MCP → Add server:

{
  "mcpServers": {
    "axiom": {
      "serverUrl": "https://agentic.clawbots.org/api/agentic/mcp"
    }
  }
}

Smithery Toolbox

Install from Smithery with one click.

From AgentKit

Use all 6 tools as native AgentKit actions. The wallet provider handles x402 payment automatically.

import { AgentKit } from "@coinbase/agentkit";
import { axiomToolsProvider } from "@axiom-tools/agentkit-provider";

const agentkit = await AgentKit.from({
  walletProvider,
  actionProviders: [axiomToolsProvider()],
});

See agentkit/ for the full action provider and docs.

From raw HTTP

# 1. Discovery — what does this endpoint cost?
curl -sX GET https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer \
  -D /tmp/h | head -10
#   HTTP/2 402
#   PAYMENT-REQUIRED: <base64 envelope>

# 2. Decode the envelope:
grep -i payment-required: /tmp/h | cut -d' ' -f2- | tr -d '\r' | base64 -d | jq .

# 3. Sign + retry (@x402/fetch v2 handles this for you):
# npm i @x402/fetch @x402/evm viem
node -e "
import('@x402/fetch').then(async ({ wrapFetchWithPayment, x402Client }) => {
  const { privateKeyToAccount } = await import('viem/accounts');
  const { ExactEvmScheme } = await import('@x402/evm/exact/client');
  const account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);
  const client = new x402Client().register('eip155:8453', new ExactEvmScheme(account));
  const fetch = wrapFetchWithPayment(globalThis.fetch, client);
  const r = await fetch('https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer', {
    method: 'POST',
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify({ endpoint_url: 'https://example.com/api/probe' }),
  });
  console.log(await r.json());
});
"

Installation (self-host)

You can host your own deployment — the only deploy target supported today is Vercel.

git clone https://github.com/0xAxiom/axiom-agentic-tools.git
cd axiom-agentic-tools
npm install
cp .env.example .env.local       # fill X402_PAY_TO + CDP_API_KEY_* (see Configuration)
npm run dev                      # vercel dev on :3000

Deploy:

vercel link                       # one-time
vercel --prod

Production smoke:

BASE=https://your-deployment.example npm test

Configuration

All configuration is via environment variables. Copy .env.example and fill in the blanks.

| Variable | Required | Default | Purpose | |---|---|---|---| | X402_PAY_TO | ✅ | — | Your wallet address for paid tool revenue (USDC on Base). | | X402_FACILITATOR_URL | — | https://api.cdp.coinbase.com/platform/v2/x402 | Facilitator endpoint. CDP is what Bazaar indexes. | | CDP_API_KEY_ID | ✅ (if CDP) | — | CDP server-side credentials. Get them at portal.cdp.coinbase.com. | | CDP_API_KEY_SECRET | ✅ (if CDP) | — | — | | X402_NETWORK | — | base | base or base-sepolia. | | BASE_RPC_URL | — | https://mainnet.base.org | Base mainnet RPC. Use a private RPC in production. | | PUBLIC_BASE_URL | — | (Vercel default) | Absolute base URL of your deployment. Populates manifest/OpenAPI/discovery links. | | GITHUB_TOKEN | — | — | Lifts the rate limit on tools that read public GitHub repos. |

Usage examples

MCP tools/list

curl -s -X POST https://agentic.clawbots.org/api/agentic/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq '.result.tools[].name'

MCP tools/call

curl -s -X POST https://agentic.clawbots.org/api/agentic/mcp \
  -H 'content-type: application/json' \
  -H "x-payment: $X_PAYMENT_BASE64" \
  -d '{
    "jsonrpc":"2.0","id":2,"method":"tools/call",
    "params":{"name":"agent-revenue-optimizer","arguments":{"endpoint_url":"https://example.com/api/probe"}}
  }'

Free tier — repo-health-for-agents

curl -s -X POST https://agentic.clawbots.org/api/agentic/tools/repo-health-for-agents \
  -H 'content-type: application/json' \
  -d '{"repo":"your-org/your-repo"}'

50/day/IP free; over the limit returns the standard 402.

Architecture

Client (Claude / Cursor / curl)
        │
        ▼ POST /api/agentic/tools/<slug>
┌─────────────────────────────────────────────────┐
│  createAgenticRoute(spec, handler)              │
│   ├─ CORS + OPTIONS                             │
│   ├─ Rate limit (per-IP, 3 buckets)             │
│   ├─ Input validation (spec.inputSchema)        │
│   ├─ checkAccess(req)  ──► gate.mjs ──► x402   │
│   │      verify+settle through CDP facilitator  │
│   ├─ tool handler({ input, payment })           │
│   └─ Output validation (spec.outputSchema)      │
└─────────────────────────────────────────────────┘
        │
        ▼ JSON result + X-PAYMENT-RESPONSE header
  • api/agentic/mcp.mjs is an MCP transport. tools/call dispatches the

same registry → x402 → handler pipeline in-process — payment runs once, never twice.

  • api/_lib/x402.mjs builds the v2 envelope (buildPaymentRequired)

and shells out to the facilitator for verify/settle.

  • tools/<slug>/spec.mjs is the single source of truth for each tool:

input/output schemas, price, examples, marketplace metadata, the bazaar extension block. Validated at boot and at prebuild.

  • scripts/generate-manifest.mjs regenerates /api/agentic/manifest,

/api/agentic/openapi.json, /.well-known/agentic/tools/*.json, and the /.well-known/mcp.json server card from the registry.

Full reference: docs/ARCHITECTURE.md, docs/DESCRIPTOR.md, docs/DISCOVERY.md.

Development

npm install
npm run prebuild   # regenerate manifest + OpenAPI + .well-known
npm run dev        # vercel dev on :3000
npm test           # smoke (BASE=http://localhost:3000 by default)
npm run validate   # surface-consistency check

To add a tool, follow CONTRIBUTING.md §"Adding a new tool".

Verifying x402 v2 compliance

curl -sD- -X GET https://agentic.clawbots.org/api/agentic/tools/agent-revenue-optimizer \
  | head -20
# Expect:
#   HTTP/2 402
#   PAYMENT-REQUIRED: <base64>
# Body:
#   { "x402Version": 2, "resource": {…}, "accepts": [{ "amount": "100000", … }], "extensions": { "bazaar": {…} } }

The full compliance matrix lives in docs/X402_V2_COMPLIANCE_REPORT.md.

Discovery surfaces

| Surface | URL | |---|---| | MCP endpoint | https://agentic.clawbots.org/api/agentic/mcp | | Tool manifest | https://agentic.clawbots.org/api/agentic/manifest | | OpenAPI 3.1 | https://agentic.clawbots.org/api/agentic/openapi.json | | Health probe | https://agentic.clawbots.org/api/agentic/health | | .well-known/agentic/tools/<slug>.json | Per-tool descriptor (cached) | | Bazaar extension schema | https://agentic.clawbots.org/.well-known/schemas/x402-extension-bazaar-v2.json |

Security

See SECURITY.md for the disclosure process. Report vulnerabilities privately via GitHub Private Vulnerability Reporting or email — do not open public issues for security findings.

Contributing

Pull requests welcome. Read CONTRIBUTING.md first — it's short, and it'll save you a round trip on style and surface conventions.

License

MIT.

Related MCP servers

Browse all →