Clawswap
# @clawswap/mcp-server
[](https://www.npmjs.com/package/@clawswap/mcp-server)
[](LICENSE)
[](https://www.npmjs.com/package/@clawswap/mcp-server)
Send, swap, and bridge tokens cross-chain between Solana and Base — gasless, in one tool call. Built for AI agents using the [Model Context Protocol (MCP)](https://modelcontextprotocol.io).
## What can it do?
Ask your AI agent any of these:
- "Send 10 USDC from Solana to Base"
- "How much would it cost to bridge 100 USDC to Base?"
- "Transfer my SOL to Base as ETH"
- "Swap 50 USDT from Base to Solana"
- "Move my stablecoins cross-chain"
The server handles the entire flow: quote → payment → signing → submission → settlement.
## Installation
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"clawswap": {
"command": "npx",
"args": ["-y", "@clawswap/mcp-server"],
"env": {
"SOLANA_PRIVATE_KEY": "your-base58-solana-private-key",
"BASE_PRIVATE_KEY": "0x-your-hex-base-private-key"
}
}
}
}
```
### Claude Code
```bash
claude mcp add clawswap -- npx -y @clawswap/mcp-server
```
Then set environment variables:
```bash
export SOLANA_PRIVATE_KEY="your-base58-solana-private-key"
export BASE_PRIVATE_KEY="0x-your-hex-base-private-key"
```
### Cursor
Add to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):
```json
{
"mcpServers": {
"clawswap": {
"command": "npx",
"args": ["-y", "@clawswap/mcp-server"],
"env": {
"SOLANA_PRIVATE_KEY": "your-base58-solana-private-key",
"BASE_PRIVATE_KEY": "0x-your-hex-base-private-key"
}
}
}
}
```
### Windsurf
Add to `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"clawswap": {
"command": "npx",
"args": ["-y", "@clawswap/mcp-server"],
"env": {
"SOLANA_PRIVATE_KEY": "your-base58-solana-private-key",
"BASE_PRIVATE_KEY": "0x-your-hex-base-private-key"
}
}
}
}
```
### OpenAI Codex
```bash
codex mcp add clawswap -- npx -y @clawswap/mcp-server
```
Or add to `~/.codex/config.toml`:
```toml
[mcp_servers.clawswap]
command = "npx"
args = ["-y", "@clawswap/mcp-server"]
env = { SOLANA_PRIVATE_KEY = "your-base58-solana-private-key", BASE_PRIVATE_KEY = "0x-your-hex-base-private-key" }
```
### Antigravity
Add to `~/.gemini/antigravity/mcp_config.json`:
```json
{
"mcpServers": {
"clawswap": {
"command": "npx",
"args": ["-y", "@clawswap/mcp-server"],
"env": {
"SOLANA_PRIVATE_KEY": "your-base58-solana-private-key",
"BASE_PRIVATE_KEY": "0x-your-hex-base-private-key"
}
}
}
}
```
### Smithery
```bash
npx -y @smithery/cli install @clawswap/mcp-server --client claude
```
Supports multiple clients: `claude`, `cursor`, `windsurf`, `cline`, `vscode`, and [more](https://smithery.ai).
## Tools
### `clawswap_bridge`
Bridge tokens between Solana and Base. Handles the entire flow automatically.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amount` | string | yes | Human-readable amount, e.g. "100", "0.5" |
| `token` | string | yes | Token symbol: USDC, USDT, SOL, ETH, WETH |
| `from` | "solana" \| "base" | yes | Source chain |
| `to` | "solana" \| "base" | yes | Destination chain |
| `recipient` | string | no | Destination address (defaults to agent's own) |
| `destinationToken` | string | no | Destination token (defaults to same or USDC) |
| `slippage` | number | no | Slippage tolerance 0-1 (default 0.01) |
### `clawswap_quote`
Preview a bridge quote without executing. Free, no payment required.
Same parameters as `clawswap_bridge` minus `recipient`.
### `clawswap_status`
Check the status of a previously initiated bridge.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requestId` | string | yes | The requestId from `clawswap_bridge` |
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `SOLANA_PRIVATE_KEY` | For Solana→Base | Base58-encoded Solana private key |
| `BASE_PRIVATE_KEY` | For Base→Solana | 0x-prefixed hex Base/EVM private key |
| `SOLANA_RPC_URL` | No | Solana RPC (default: `https://api.mainnet-beta.solana.com`) |
| `BASE_RPC_URL` | No | Base RPC (default: `https://mainnet.base.org`) |
You only need keys for the direction(s) you want to bridge. The server starts with whatever is configured.
## Fees
- **Solana → Base**: $0.50 USDC (paid automatically via x402 protocol, gas sponsored by ClawSwap)
- **Base → Solana**: Free (agent pays ~$0.001 Base gas directly)
## Supported Tokens
- **Solana**: USDC, USDT, SOL
- **Base**: USDC, USDT, ETH, WETH
## License
MIT
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: clawswap_bridge executes transfers, clawswap_quote provides price estimates, and clawswap_status tracks transaction progress. There is no overlap or ambiguity in functionality, making tool selection straightforward for an agent.
All tools follow a consistent 'clawswap_' prefix with descriptive suffixes (bridge, quote, status), creating a predictable and readable pattern. This uniformity enhances clarity and usability across the tool set.
With 3 tools, the server is well-scoped for cross-chain bridging between Solana and Base. Each tool serves a distinct, essential function (execute, quote, status check), and there are no extraneous or missing tools for this focused domain.
The tool set provides complete coverage for the cross-chain bridging workflow: quoting (clawswap_quote), executing (clawswap_bridge), and monitoring (clawswap_status). This covers the full lifecycle from preview to completion without any obvious gaps or dead ends.