MCP Tools Reference
OWL exposes 22 tools via the Model Context Protocol. All tools are prefixed owl_ to avoid conflicts with MoonPay's tools. Additionally, all MoonPay tools are proxied transparently through the same server. The terminal agent also wires 13 MoonPay tools for wallet, token, and transaction operations.
Starting the Server
owl mcpCommunicates over stdio. Point your AI agent's MCP config to this command. It spawns mp mcp as a child process and proxies all its tools, then registers the 22 OWL tools on top.
Tunnel Tools
owl_tunnel_createCreate a tunnel to share wallet access with other agents
| Parameter | Type | Description |
|---|---|---|
| wallet req | string | Wallet name to share |
| name req | string | Tunnel name |
| port opt | number | WebSocket port (default: 9800) |
owl_tunnel_connectConnect to an existing tunnel as a peer
| Parameter | Type | Description |
|---|---|---|
| uri req | string | Tunnel URI to connect to |
| wallet req | string | Local wallet for signing auth challenges |
owl_tunnel_listList all active tunnels and connected peers
No parameters
owl_tunnel_proposePropose a transaction through a tunnel (peer side)
| Parameter | Type | Description |
|---|---|---|
| tunnel req | string | Tunnel name or ID |
| operation req | enum | swap | transfer | bridge |
| params req | object | Operation parameters (same as mp tool params) |
owl_tunnel_approveApprove a pending transaction proposal (host side)
| Parameter | Type | Description |
|---|---|---|
| proposal_id req | string | Proposal ID to approve |
owl_tunnel_rejectReject a pending transaction proposal (host side)
| Parameter | Type | Description |
|---|---|---|
| proposal_id req | string | Proposal ID to reject |
| reason opt | string | Reason for rejection |
owl_tunnel_policy_setSet policies on a tunnel (spending limits, token whitelist, auto-approve rules)
| Parameter | Type | Description |
|---|---|---|
| tunnel req | string | Tunnel name or ID |
| peer req | string | Peer wallet address |
| daily_limit_usd opt | number | Daily spending limit in USD |
| allowed_tokens opt | string[] | Token symbols allowed |
| allowed_operations opt | string[] | Operations allowed (swap, transfer, bridge) |
| auto_approve_max_usd opt | number | Auto-approve under this USD amount |
owl_tunnel_policy_getGet current tunnel policies for a peer
| Parameter | Type | Description |
|---|---|---|
| tunnel req | string | Tunnel name or ID |
| peer opt | string | Peer address (all peers if omitted) |
Alert Tools
owl_alert_addAdd a price alert rule with cross-device notifications
| Parameter | Type | Description |
|---|---|---|
| token req | string | Token address |
| chain req | string | Chain name |
| condition_type req | enum | price_above | price_below | percent_change | balance_below |
| condition_value req | number | Threshold value |
| channels req | string[] | Notification channels (telegram, webhook) |
| webhook_url opt | string | Webhook URL if using webhook channel |
owl_alert_listList all active price alerts
No parameters
owl_alert_removeRemove a price alert by ID
| Parameter | Type | Description |
|---|---|---|
| id req | string | Alert ID to remove |
owl_alert_channels_setConfigure notification channels (Telegram bot, webhook URL)
| Parameter | Type | Description |
|---|---|---|
| telegram_token opt | string | Telegram bot token |
| telegram_chat_id opt | string | Telegram chat ID |
| webhook_url opt | string | Default webhook URL |
owl_alert_historyView past triggered alerts
| Parameter | Type | Description |
|---|---|---|
| limit opt | number | Max results (default: 20) |
Terminal Tools
owl_terminal_startStart the interactive TUI terminal dashboard
| Parameter | Type | Description |
|---|---|---|
| wallet opt | string | Wallet name (default: main) |
owl_terminal_statusGet current terminal session status (portfolio, watches, activity)
No parameters
Ledger Tools
owl_ledger_queryQuery the activity ledger for past agent actions
| Parameter | Type | Description |
|---|---|---|
| limit opt | number | Max entries (default: 20) |
| tool opt | string | Filter by tool name |
| wallet opt | string | Filter by wallet |
| chain opt | string | Filter by chain |
| since opt | string | ISO date to start from |
| status opt | enum | ok | error |
owl_ledger_statsGet summary statistics from the activity ledger
| Parameter | Type | Description |
|---|---|---|
| since opt | string | ISO date to start from |
owl_ledger_exportExport the activity ledger as JSON or CSV
| Parameter | Type | Description |
|---|---|---|
| format req | enum | json | csv |
| limit opt | number | Max entries |
| since opt | string | ISO date to start from |
owl_ledger_clearClear ledger entries
| Parameter | Type | Description |
|---|---|---|
| before opt | string | Clear entries before this ISO date (all if omitted) |
Report Tools
owl_report_generateGenerate a spending report from the activity ledger with operation breakdown
| Parameter | Type | Description |
|---|---|---|
| period req | enum | daily | weekly | monthly |
| wallet opt | string | Filter by wallet name |
owl_portfolio_allGet a unified portfolio view across all wallets and all chains in one call
No parameters
Dry Run Tools
owl_dryrunSimulate a transaction (swap, transfer, bridge) without broadcasting. Uses MoonPay CLI simulation mode.
| Parameter | Type | Description |
|---|---|---|
| operation req | enum | swap | transfer | bridge |
| wallet req | string | Wallet name |
| chain req | string | Chain name |
| params req | Record<string, string> | Operation params (from_token, from_amount, to_token, token, amount, to, to_chain) |
Proxied MoonPay Tools
All tools from mp mcp are proxied transparently. This includes wallet management, token operations, swaps, transfers, bridges, and more. The proxy auto-discovers tools at startup and converts their JSON Schema definitions to Zod for the MCP server.
See MoonPay CLI docs for the full list of proxied tools.