Package Exports
- circle-mcp-server
- circle-mcp-server/build/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (circle-mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Circle CCTP MCP Server
A Model Context Protocol (MCP) server that enables seamless USDC-only transactions across multiple blockchains using Circle's Cross-Chain Transfer Protocol (CCTP) v2 and Circle Paymaster. Perfect for AI agents that need to handle USDC transfers without worrying about native gas tokens.
🌟 Circle-Powered Features
🔄 Cross-Chain USDC Transfers (CCTP v2)
- Native USDC: Real USDC transfers, not bridges or wrapped tokens
- 8 Testnets Supported: Ethereum, Base, Arbitrum, Avalanche, Sonic, Linea, Worldchain, Unichain Sepolia
- Fast & Standard Modes: Choose your transfer speed
- AI-Friendly: Simple tool calls for complex cross-chain operations
⛽ Gasless USDC Transactions (Circle Paymaster)
- Pay Gas with USDC: No ETH required for transactions
- Two Versions Available:
- v0.8 (Recommended): EIP-7702 Smart Accounts, 7 testnets
- v0.7 (Legacy): Circle Smart Accounts, Arbitrum Sepolia only
- Perfect UX: Recipients receive USDC without paying gas fees
- Account Abstraction: Modern wallet infrastructure built-in
🚀 Quick Start
Claude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"circle-cctp": {
"command": "npx",
"args": ["-y", "circle-cctp-mcp-server"],
"env": {
"PRIVATE_KEY": "0x..."
}
}
}
}
🛠 Circle CCTP Tools
Core Cross-Chain Transfer Tools
cctp_cross_chain_transfer
Transfer USDC between chains using Circle's native protocol
// Transfer 25 USDC from Ethereum to Base
{
"name": "cctp_cross_chain_transfer",
"arguments": {
"fromChainId": 11155111, // Ethereum Sepolia
"toChainId": 84532, // Base Sepolia
"recipientAddress": "0x742d35Cc6654B3B5B2F214fB3E6dC8b5b1234567",
"amount": "25.0",
"transferType": "fast" // or "standard"
}
}
Parameters:
fromChainId
: Source chain IDtoChainId
: Destination chain IDamount
: USDC amount (e.g., "10.5")recipientAddress
: Destination addresstransferType
: "fast" or "standard" (optional)
get_usdc_balance_cctp
Check USDC balance on any supported chain
// Check balance on Arbitrum Sepolia
{
"name": "get_usdc_balance_cctp",
"arguments": {
"chainId": 421614,
"address": "0x742d35Cc6654B3B5B2F214fB3E6dC8b5b1234567"
}
}
get_supported_chains_cctp
Get all chains supported by Circle CCTP
Returns list of 8 supported testnets with chain IDs and domain mappings.
get_domain_mappings_cctp
Get Circle domain mappings for CCTP protocol
⛽ Circle Paymaster Tools
Gasless Transaction Tools
paymaster_get_account_address
Get your Circle Smart Account address for funding
// Get EIP-7702 account address for Base Sepolia
{
"name": "paymaster_get_account_address",
"arguments": {
"chainId": 84532,
"version": "v0.8" // or "v0.7" for legacy
}
}
What it returns:
- Smart Account address
- Current USDC balance
- Funding instructions
- Account type (EIP-7702 vs Circle Smart Account)
paymaster_check_balance
Check USDC balance in your Smart Account
// Check balance in Smart Account
{
"name": "paymaster_check_balance",
"arguments": {
"chainId": 421614,
"version": "v0.8"
}
}
paymaster_send_usdc
Send gasless USDC transfers (recipient pays zero gas)
// Send 5 USDC gaslessly
{
"name": "paymaster_send_usdc",
"arguments": {
"chainId": 421614,
"recipientAddress": "0x8879318091671ba1274e751f8cDEF76bb37eb3eD",
"amount": "5.0",
"version": "v0.8"
}
}
Flow:
- User pays gas in USDC (not ETH)
- Recipient receives USDC without paying any gas
- Perfect onboarding experience
paymaster_get_supported_chains
Get chains supported by Circle Paymaster
// Get v0.8 supported chains (7 testnets)
{
"name": "paymaster_get_supported_chains",
"arguments": {
"version": "v0.8"
}
}
🌐 Supported Networks
CCTP v2 Cross-Chain Transfers
Network | Chain ID | Domain | USDC Address | Status |
---|---|---|---|---|
Ethereum Sepolia | 11155111 | 0 | 0x1c7d4b196cb0c7b01d743fbc6116a902379c7238 |
✅ |
Avalanche Fuji | 43113 | 1 | 0x5425890298aed601595a70AB815c96711a31Bc65 |
✅ |
Arbitrum Sepolia | 421614 | 3 | 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d |
✅ |
Base Sepolia | 84532 | 6 | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
✅ |
Linea Sepolia | 59144 | 11 | 0xFEce4462D57bD51A6A552365A011b95f0E16d9B7 |
✅ |
Sonic Blaze | 161 | 13 | 0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6 |
✅ |
Worldchain Sepolia | 1666700000 | 14 | 0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88 |
✅ |
Unichain Sepolia | 1301 | 10 | 0x31d0220469e10c4E71834a79b1f276d740d3768F |
✅ |
Circle Paymaster v0.8 (EIP-7702 Smart Accounts)
Network | Chain ID | Paymaster Address | Status |
---|---|---|---|
Arbitrum Sepolia | 421614 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Base Sepolia | 84532 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Ethereum Sepolia | 11155111 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Avalanche Fuji | 43113 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Optimism Sepolia | 11155420 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Polygon Amoy | 80002 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Unichain Sepolia | 1301 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 |
✅ |
Circle Paymaster v0.7 (Legacy)
Network | Chain ID | Paymaster Address | Status |
---|---|---|---|
Arbitrum Sepolia | 421614 | 0x31BE08D380A21fc740883c0BC434FcFc88740b58 |
⚠️ Legacy |
💬 Natural Language Usage
In Claude Desktop
"Transfer 10 USDC from Ethereum Sepolia to Base Sepolia"
"Send 5 USDC gaslessly to 0x123... on Arbitrum Sepolia using Circle Paymaster"
"What's my USDC balance on all chains?"
"Get my Circle Smart Account address for Arbitrum Sepolia so I can fund it"
"Check if I can send gasless transactions on Base Sepolia"
🔄 How Circle CCTP Works
Circle's Cross-Chain Transfer Protocol enables native USDC transfers without bridges:
Source Chain Circle API Destination Chain
| | |
[Burn USDC] ---------> [Attestation] ---------> [Mint USDC]
| | |
TokenMessenger Iris API MessageTransmitter
Process:
- Burn: USDC burned on source chain via Token Messenger
- Attest: Circle's attestation service signs the burn message
- Mint: Native USDC minted on destination chain
Benefits:
- ✅ Real USDC (not wrapped)
- ✅ 2-5 minute transfers
- ✅ Lower fees than bridges
- ✅ Circle's audited contracts
⛽ How Circle Paymaster Works
Circle Paymaster enables USDC-only transactions where users pay gas in USDC:
User Wallet Circle Paymaster Blockchain
| | |
[Sign Permit] ----------> [Receive USDC] --------> [Pay Gas in ETH]
| | |
[Send UserOp] ----------> [Bundle & Submit] -----> [Execute Transaction]
| | |
[Pay 0 ETH] <------------- [Deduct USDC] <--------- [Transaction Success]
Process:
- EIP-2612 Permit: User signs permit for paymaster to spend USDC
- User Operation: Transaction bundled with paymaster data
- Gas Payment: Paymaster pays ETH gas, deducts equivalent USDC
- Execution: Transaction executes, user never touches ETH
Benefits:
- ✅ Zero ETH required
- ✅ Perfect onboarding UX
- ✅ Recipients pay no gas
- ✅ Multi-chain support
🚀 Getting Started
1. Fund Your Account
For CCTP transfers:
- Fund your EOA with USDC on any supported chain
- Use Circle Faucet
For Paymaster gasless transfers:
# Get your Smart Account address
"Get my Circle Smart Account address for Arbitrum Sepolia"
# Fund it with USDC at https://faucet.circle.com
# Then send gasless transactions!
2. Start Transferring
# Cross-chain transfer
"Send 10 USDC from Base to Arbitrum"
# Gasless transfer
"Send 5 USDC gaslessly to 0x123... on Base using Circle Paymaster"
💡 Best Practices
- Use v0.8 Paymaster: Better performance and more chains than v0.7
- Fund Smart Accounts: Ensure your Circle Smart Account has USDC for gasless transfers
- Check Balances: Regular balance checks help track transfers
- Consider Speed: Use "fast" transfers for urgent transactions
- Test First: Use testnets to familiarize yourself with the tools
🛡️ Security
- Private keys stored locally in
.env
files - All transactions signed locally using viem
- Circle's audited smart contracts
- Testnet environments for safe experimentation
🔗 Resources
- Circle CCTP Documentation
- Circle Paymaster Documentation
- Circle Developer Hub
- Model Context Protocol
- USDC Faucet
📝 License
MIT License - see LICENSE file for details.
Made with ❤️ for the Circle ecosystem and AI agent developers who want USDC-only transactions without gas token complexity.