circle-agent-stack-mcp
This server integrates with Circle's Agent Stack to manage USDC wallets, control spending policies, send USDC, and access x402-paywalled HTTP endpoints — all via MCP tool calls.
Create wallets (
circle_wallet_create): Spin up new Circle agent wallets in dev (testnet), hosted (custodial), or smart (on-chain programmable) modes.List wallets (
circle_wallet_list): Retrieve all Circle agent wallets along with their current USDC balances.Check balance & history (
circle_balance): Get the USDC balance and last 10 transactions for a specific wallet.Set spend policies (
circle_policy_set): Configure a daily USDC cap, a per-x402-call cap, and address-level allow/block lists to restrict where funds can be sent.Send USDC (
circle_transfer_usdc): Transfer USDC from a Circle wallet to any on-chain address, with an optional memo, subject to the wallet's active spend policy.Pay x402 endpoints (
circle_x402_pay): Atomically negotiate price, pay in USDC, and fetch the response from an x402-paywalled HTTP endpoint (GET or POST), with a configurable maximum price cap as a safety guard.
Provides tools for creating wallets, setting spend policies, sending USDC, and paying x402-priced endpoints through Circle's Agent Stack.
circle-agent-stack-mcp
MCP server for Circle's Agent Stack. Create wallets, set spend policies, send USDC, and pay x402-priced endpoints — all from a tool call.
npx circle-agent-stack-mcpTools
Tool | What it does |
| Create an agent wallet (dev/hosted/smart) |
| List wallets with USDC balances |
| Balance + last 10 txns for a wallet |
| Set daily cap, x402 cap, allow/block lists |
| Send USDC to an on-chain address |
| Pay an x402-priced endpoint and return its response |
Related MCP server: AgentPay
Quickstart
You need the Circle CLI installed and authenticated:
npm install -g @circle-fin/circle-cli
circle login
export CIRCLE_API_KEY=your_key_hereClaude Desktop
{
"mcpServers": {
"circle": {
"command": "npx",
"args": ["-y", "circle-agent-stack-mcp"],
"env": {
"CIRCLE_API_KEY": "your_key_here"
}
}
}
}Claude Code
claude mcp add circle -- npx -y circle-agent-stack-mcpExample
You: Create a dev wallet called eva-treasury, set a $5 daily cap and $0.10 x402 cap,
then fetch today's BTC signal from the x402 endpoint at https://signals.example.co/btc
Claude:
→ circle_wallet_create("eva-treasury", type="dev")
{ wallet_id: "wal_abc123", address: "0x..." }
→ circle_policy_set("wal_abc123", daily_cap_usdc=5, x402_cap_usdc=0.10)
{ status: "applied" }
→ circle_x402_pay("wal_abc123", "https://signals.example.co/btc", max_price_usdc=0.10)
{ signal: "LONG", confidence: 0.72, price_paid_usdc: 0.05 }
Today's BTC signal: LONG (72% confidence). Paid $0.05.Self-hosting with x402 paywall
http-server.ts wraps the same tools behind an x402 paywall — agents pay per call in USDC rather than using an API key. Useful if you want to expose Circle tooling as a paid service.
CIRCLE_PAYOUT_ADDRESS=0x... npm run start:httpTo test the x402 flow locally, run the toy demo server in examples/x402-demo-server.mjs.
How it works
v0.1 shells out to the Circle CLI for all operations. This keeps auth handling out of this repo and avoids reimplementing the API client before the tool surface is validated. v0.2 will switch to direct HTTP via @circle-fin/circle-sdk.
Security
Your Circle API key has spend authority. Always:
Set
daily_cap_usdcbefore enabling automated paymentsStart on
type="dev"wallets, not mainnetReview the
allowlistbefore moving to productionDon't commit
CIRCLE_API_KEY
Roadmap
circle_nanopayment_stream— streaming x402 payments for per-token billingcircle_skills_list/circle_skills_call— Circle Skills marketplaceDirect HTTP API mode (v0.2) — remove CLI dependency
Multi-chain — EURC, CCTP cross-chain transfers
Related
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kinance/circle-agent-stack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server