> ## Documentation Index
> Fetch the complete documentation index at: https://algorand-54fd52b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP

> Caller-signed WIF relay and live owner-funded agent payments through local MCP.

Moltworld works with any agent that speaks the [Model Context Protocol](https://modelcontextprotocol.io).

| | Remote server | Local server |
| - | - | - |
| Address | `https://moltworldd.vercel.app/mcp` (streamable HTTP) | Repository build from `sdk/js/src/mcp.ts` (stdio; mandate path is not an npm release yet) |
| Holds a wallet | No | A local session key for an owner-funded mandate; dedicated EOA mode remains development-only |
| The agent can | Discover models, request quotes, relay caller-signed requests and read spend metadata | Authorize WIF-paid tasks within the on-chain mandate limits |
| Best for | A separate wallet service or caller approval | Agent-hosted signing; the owner's wallet key is never given to the agent |

WIF payments, owner-funded agent mandates and enabled marketplace APIs are available on Robinhood Chain. Marketplace listings require review; creator payouts use merchant-authorized transfers and on-chain reconciliation. Media and automatic WIF refunds remain unavailable. The remote MCP is keyless; local stdio MCP keeps its session key on the agent machine.

A real local MCP task settled 0.821538290698537864 WIF through an owner-funded EIP-1271 mandate on Robinhood Chain on 11 November 2026. Its exact transfer, signed receipt and allowance reduction were independently checked. [Transaction](https://robinhoodchain.blockscout.com/tx/0x879e7e15f7b2cd4cd540f2e725ca3d3ce78ea552389588c6c95f539c35df43f3) · [Signed receipt](https://moltworldd.vercel.app/v1/receipts/req_uPG_4T8Lt9AlG3qS). The contract has not had an independent security audit.

## Local development EOA server

Direct EOA mode is development-only and uses process-local budgets. Use an owner-funded mandate for contract-enforced limits. Never supply the owner's wallet key to an agent. The contract remains unaudited.

Generate a dedicated disposable EVM key. The command prints only its derived address; the secret is saved with mode `0600`.

```bash theme={null}
npx -y -p moltworld-sdk moltworld-mcp evm-keygen
npx -y -p moltworld-sdk moltworld-mcp
```

The key may instead be supplied through `MOLTWORLD_EVM_PRIVATE_KEY` in your local environment. Autopay is refused unless local mode, a dedicated-key role, and the explicit acknowledgement below are set:

```bash theme={null}
export MOLTWORLD_ENV=local
export MOLTWORLD_EVM_KEY_ROLE=dedicated
export MOLTWORLD_ALLOW_EVM_EOA_AUTOPAY=I_UNDERSTAND_LOCAL_EVM_EOA_AUTOPAY_IS_NOT_A_MANDATE
```

Configure the local server with:

| Variable | Default | Meaning |
| - | - | - |
| `MOLTWORLD_EVM_PRIVATE_KEY` | | Dedicated 32-byte Robinhood EVM key; prefer the `0600` key file for local use |
| `MOLTWORLD_EVM_RPC_URL` | `https://rpc.mainnet.chain.robinhood.com` | Read-only RPC used for Permit2 allowance checks |
| `MOLTWORLD_URL` | `https://moltworldd.vercel.app` | WIF gateway address |
| `MOLTWORLD_MAX_PER_REQUEST_USD` | `0.50` | Local refusal cap before signing |
| `MOLTWORLD_BUDGET_USD` | `5` | Local session budget; not an on-chain cap |
| `MOLTWORLD_PAYMENT_TO` | gateway health `pay_to` | Expected receiving address; optional guard for EOA mode, required for mandate mode |
| `MOLTWORLD_EVM_KEY_ROLE` | | Must be `dedicated`; master/primary keys are refused |
| `MOLTWORLD_ALLOW_EVM_EOA_AUTOPAY` | | Exact acknowledgement shown above; local development only |
| `MOLTWORLD_WIF_MANDATE_ADDRESS` | | Owner-deployed live Robinhood mandate contract |
| `MOLTWORLD_WIF_MANDATE_OWNER` | | Required owner wallet address; must match the contract |
| `MOLTWORLD_WIF_SESSION_KEY_FILE` | `~/.moltworld/wif-agent.key` | Local-only session private key file; never upload it |

The SDK checks the WIF allowance to the canonical Permit2 contract with read-only RPC before signing. If it is insufficient, it refuses without sending an approval transaction. Approve the exact required WIF amount to Permit2 explicitly first; the approval transaction needs native ETH for gas.

Robinhood Chain mainnet uses chain ID `4663` (`eip155:4663`). Marketplace checkout requires enabled routes and an approved real API listing. Creator transfers remain merchant-authorized and are recorded sent only after on-chain verification.

## Live on-chain WIF mandate

This is a live, mainnet-verified mandate path. The contract source and generated bytecode are pinned. The owner wizard binds the session key to WIF, Permit2, the x402 proxy, gateway recipient, finite allowance, per-call cap and expiry. Revocation advances the session epoch and clears the Permit2 allowance. Independent security review is still required.

A real local MCP task settled 0.821538290698537864 WIF through an owner-funded EIP-1271 mandate on Robinhood Chain on 11 November 2026. Its exact transfer, signed receipt and allowance reduction were independently checked. [Transaction](https://robinhoodchain.blockscout.com/tx/0x879e7e15f7b2cd4cd540f2e725ca3d3ce78ea552389588c6c95f539c35df43f3) · [Signed receipt](https://moltworldd.vercel.app/v1/receipts/req_uPG_4T8Lt9AlG3qS). The contract has not had an independent security audit.

For local agent use, build the checkout and generate a dedicated session key (only its address is printed):

```bash theme={null}
pnpm install --frozen-lockfile
pnpm --dir sdk/js build
node sdk/js/dist/mcp.js wif-session-keygen
```

Connect the owner wallet at the setup page, generate the agent key on the machine that will run local MCP, then deploy the empty contract, transfer a small WIF balance, and separately arm the finite allowance. Review the exact transaction in your own wallet each time. The browser does not receive either private key. The local stdio MCP reads the session key from `~/.moltworld/wif-agent.key` (mode `0600`) or `MOLTWORLD_WIF_SESSION_PRIVATE_KEY`, and reads `MOLTWORLD_WIF_MANDATE_ADDRESS`, `MOLTWORLD_WIF_MANDATE_OWNER`, and the expected `MOLTWORLD_PAYMENT_TO` from its environment. Its `moltworld_spend` tool checks the pinned runtime bytecode, owner, chain, token, proxy, recipient, session key, active/expiry state, finite allowance, and vault balance before signing. These checks do not replace a real facilitator settlement test.

Standard stdio MCP can be used by MCP-capable agents that can launch a local Node process. A remote-only MCP connection does not acquire a signer. This Manus chat currently uses the remote HTTP connector, which remains keyless; automatic Manus payments require a supported local stdio process and a user-provided mandate/session-key setup. The existing remote connector can still discover models, quote when live pricing is available, and relay a caller-signed payment.

## Legacy Algorand server

The old mandate and mnemonic path remains available when no EVM key is configured:

```bash theme={null}
npx -y -p moltworld-sdk moltworld-mcp keygen
npx -y -p moltworld-sdk moltworld-mcp
```

`MOLTWORLD_MANDATE`, `MOLTWORLD_AGENT_KEY_FILE`, and `MOLTWORLD_MNEMONIC` remain Algorand-only settings. Its historical multimodal tools are retained for legacy deployments; they are not advertised as supported Robinhood tools.

## Remote server

```json theme={null}
{ "mcpServers": { "moltworld": { "type": "http", "url": "https://moltworldd.vercel.app/mcp" } } }
```

In WIF mode the remote server exposes model discovery, quote requests, chat relay, and spend metadata. Marketplace relay routes are staged but disabled and do not provide WIF listings or creator payouts. The server never holds a key, signs, approves Permit2, or pays. Remote spend information describes the payment rail; it is not an on-chain cap.

The legacy Algorand remote surface continues to expose its 402, signed-request, receipt, and job helpers.

## Framework guides

> [card] [OpenClaw](https://algorand-54fd52b3.mintlify.site/agents/openclaw.md)

> [card] [Hermes Agent](https://algorand-54fd52b3.mintlify.site/agents/hermes.md)

> [card] [Claude Code](https://algorand-54fd52b3.mintlify.site/agents/claude-code.md)

> [card] [A2A](https://algorand-54fd52b3.mintlify.site/agents/a2a.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.