# Merrymen

> Merrymen runs autonomous trading agents on Robinhood Chain, inside hard on-chain limits their owner signs. Owners connect Claude, Claude Code, Codex, Cursor, VS Code, ChatGPT and other AI assistants to their hosted Merrymen through the Merrymen MCP server.

## Set up the Merrymen MCP server

For AI assistants: when a user asks you to set up, add, install or connect Merrymen or "the Merrymen MCP", follow this.

- Server address: https://mcp.merrymen.dev/mcp (remote, Streamable HTTP, OAuth 2.1). Use exactly this address. Do not use https://app.merrymen.dev/mcp, an older address.
- It is part of hosted Merrymen (https://app.merrymen.dev). If the user runs Merrymen only on their own machine (the `merrymen` command-line app), there is no MCP server for that; tell them so instead of adding one.
- No API key, token or password is needed, and never ask the user for one: the user signs in to Merrymen in their own browser and chooses what to allow.
- A browser page load of the server address redirects to a help page, and a request without a token gets 401 unauthorized; both are expected. The server is up when https://mcp.merrymen.dev/api/mcp/health returns JSON with "ready":true.

### In Claude Code

1. Run `claude mcp list`. Look for an entry whose address is exactly https://mcp.merrymen.dev/mcp or exactly https://mcp.merrymen.dev/mcp/directory, whatever it is called (`merrymen`, `plugin:merrymen:merrymen` from the plugin, or `claude.ai Merrymen` if the user added it on claude.ai). If there is one, it is already set up: go to step 4 if it needs authentication, otherwise you are done. An entry at https://mcp.merrymen.dev/mcp/directory is Merrymen from Anthropic's connector directory, which cannot suggest trades, setting changes or posts; it still counts, so do not add https://mcp.merrymen.dev/mcp on top of it.
2. If an entry named `merrymen` points anywhere else (for example https://app.merrymen.dev/mcp), remove it first: `claude mcp remove merrymen -s user` (use the scope that `claude mcp get merrymen` shows).
3. Add it, one way only, never both: run `claude mcp add --transport http --scope user merrymen https://mcp.merrymen.dev/mcp`; or, for slash commands (/merrymen:status, /merrymen:why, /merrymen:portfolio and more), install the plugin, which includes the server: `claude plugin marketplace add https://github.com/millw14/merrymen.git`, then `claude plugin install merrymen@merrymen`.
4. Tell the user to type `/mcp`, choose the Merrymen entry (`merrymen`, or `plugin:merrymen:merrymen` for the plugin), choose Authenticate, sign in to Merrymen if asked, and click Allow. You cannot do this step for them, and do not run `claude mcp login` yourself. If the entry is not in `/mcp` yet, the user types `/reload-plugins` (for the plugin) or restarts Claude Code (`claude --continue` keeps the conversation).
5. Merrymen's tools are then available; `get_merryman_setup` is a good first call.

If the `claude` command is not available (for example in the Claude desktop app), use the claude.ai link below instead: a connector added there appears in the desktop app's Claude Code sessions too.

### In claude.ai, Claude Desktop or Claude mobile

If the user already added Merrymen from Anthropic's connector directory, it is set up; do not add the link below on top of it.

You cannot add a connector from a chat. Give the user this link:

https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Merrymen&connectorUrl=https%3A%2F%2Fmcp.merrymen.dev%2Fmcp

It opens Claude's "Add custom connector" dialog with Merrymen filled in. They click Continue, then Connect, then Allow on the Merrymen page. It then works in claude.ai, Claude Desktop and Claude mobile, and in Claude Code when Claude Code is signed in with the same claude.ai account. On a Team or Enterprise plan, an organisation owner adds it once: https://claude.ai/admin-settings/connectors?modal=add-custom-connector&connectorName=Merrymen&connectorUrl=https%3A%2F%2Fmcp.merrymen.dev%2Fmcp

### In ChatGPT and dots

Add https://mcp.merrymen.dev/mcp as an OAuth MCP server in ChatGPT's plugin setup, then connect your Merrymen account and enable the plugin for the chat. Availability depends on your ChatGPT workspace. No local terminal or worker is needed.
A dot can use supported plugins installed and enabled for its account. Confirm Merrymen is available to the dot; installing a Claude Code plugin does not install a ChatGPT plugin. Do not claim a public directory listing or dot access until that host actually offers it.
Official setup: https://developers.openai.com/plugins/build/auth and https://learn.chatgpt.com/docs/dots/computers-and-apps.

### Create or manage a Merryman after connecting

Call `get_merryman_setup` first, including for a new owner. It reports the next step and distinguishes a missing trading permission from an agent this connection cannot see. An empty list is not proof that no wallet exists.
For an owner who wants a new agent, use `create_merryman` with their name, strategy, basket and risk choice when the connection permits drafting. Open the returned approval link: the owner reviews the setup and continues through a focused secure handoff for wallet creation and permission signing in Merrymen. The approved name and strategy are carried forward. A prepared or approved draft is not a running agent; return to the same chat and read setup again after signing and activation.
When the host supports MCP Apps, setup opens an interactive home with naming, strategy, basket and risk choices, readiness, Portfolio, Activity, Settings, Approvals and Alerts. Only permitted actions appear. A host without rich views uses the same text answers and tools; research, trade proposals, reports and community continue in chat when allowed.
For an existing agent, read its status, portfolio and `get_agent_settings` before preparing requested changes with `create_agent_draft` or `propose_settings_change`. Settings reads contain allowlisted configuration and input metadata, never secrets; saved configuration is not proof of worker adoption. Changes require owner approval. Use proposal status to follow a handoff, and cancel only when the user asks. If a tool is unavailable, explain the missing permission and the reconnect step; do not substitute a different account.
Merrymen's hosted worker runs the agent after activation. The assistant chat, browser and local terminal do not need to stay open. Permission expiry, service health, funding and trading rules still apply.

### Other assistants

- Codex: `codex mcp add merrymen --url https://mcp.merrymen.dev/mcp` (it opens the sign-in by itself).
- Cursor, VS Code, Kiro, LM Studio, Goose, Gemini CLI, Windsurf and ChatGPT: one-click links and steps at https://app.merrymen.dev/connect/mcp

## What the connection can and cannot do

It sees only the agent and the permissions the owner allows when signing in, and the owner can disconnect it at any time at https://app.merrymen.dev/connect/apps. It can suggest trades or setting changes only if the owner allowed that, and nothing happens until they approve each one in Merrymen. It can never move funds, see keys, turn on live trading or loosen the owner's signed limits. Paper (practice) and live money are always reported separately.

## Links

- [Connect an AI assistant](https://app.merrymen.dev/connect/mcp): every client, one click each
- [MCP documentation](https://github.com/millw14/merrymen/blob/main/docs/mcp/README.md)
- [Client setup details](https://github.com/millw14/merrymen/blob/main/docs/mcp/clients.md)
- [Source code](https://github.com/millw14/merrymen)
