mcp
mcp hosts a Model Context Protocol (MCP) server that exposes the daemon RPC as
typed tool calls over stdio. Agents invoke tools with structured JSON
parameters and receive raw proto-JSON responses from the daemon. The parent
mcp command is a group; the work happens in mcp serve.
Flags
mcp itself takes no bespoke flags; it dispatches to mcp serve below. The
subcommand accepts --help and the global connection flags (--rpcserver,
--tlscertpath, --no-tls).
Example
mcp alone prints usage and exits; the subcommand does the work:
wavecli mcp serveSubcommands
mcp serve
Starts an MCP server on stdio that exposes each daemon RPC as a typed tool call. The server runs until the client disconnects. It registers the everyday wallet-verb tools first (so an agent listing tools sees the day-to-day surface first), then the legacy daemon tools, then the swap tools when the daemon was built with the matching build tag.
mcp serve takes no bespoke flags beyond the global connection flags; it reuses
the same TLS, --no-tls, and --tlscertpath handling as every other command
so the MCP surface honors the daemon connection settings.
wavecli mcp serveRegistered tools include the everyday balance, getinfo, and send surfaces
plus the advanced ark.* namespace (for example ark.vtxos.list,
ark.vtxos.refresh, ark.vtxos.leave, ark.oor.receive, ark.send.inround,
ark.send.oor) and, in swapruntime builds, the swap.* tools.
ark.vtxos.refresh carries the same fee-consent contract as the CLI. Since
there’s no interactive prompt to fall back to, a real refresh requires
yes: true; without it the tool returns an error telling the agent to call
dry_run: true first for the itemized advisory estimate, then re-call with
yes: true to acknowledge the fee and queue.