Skip to content
molty
GitHub ↗

Connect an agent

The setup console (and its Agent page) gives you a message like this:

Hi! Please connect yourself to my Molty.
Instructions: https://<relay>/skill.md
Device: molty-xxxxxxxxxx
Code: K7M2W9C4
I'll tap Molty to accept you.

Paste it into Claude, Grok, OpenClaw, or any agent that can make HTTPS requests. The skill.md link is the agent’s own guide: it explains what Molty is, how to pair, and every command.

The agent asks the relay to pair. Molty condenses a 4-digit code out of the fluid. If your agent shows the same code, tap the screen to accept. Press PWR to reject. Nothing happens without that tap.

The agent receives a token scoped to this one Molty. An agent can revoke its own token; forgetting the link on the device (POST /api/link/forget) revokes every agent at once.

CommandEffect
moodidle, listening, thinking, speaking, happy, sleepy, surprised
showspeed-read text in the fluid
sayspeak through Molty’s speaker while the words flow on screen
listenrecord from the mic and return the transcript
status, imu, volumeread state, motion, set volume

say and listen return a job ID right away; the agent polls for the result.

  • Remote MCP — https://<relay>/mcp with the token as a bearer. Tools are named molty_pair, molty_say, molty_show, and so on.

  • REST — POST /v1/devices/<id>/cmd {name, args} and GET /v1/jobs/<job>.

  • CLI / local MCP — the molty binary, either through the relay or directly over USB-C / Wi-Fi with no cloud at all. For Claude Code:

    Terminal window
    claude mcp add molty -- /path/to/molty mcp

Full details: Agent link protocol and CLI and local MCP.

The default relay is a hosted Cloudflare Worker. The relay is open source too; deploy your own and point the device at it from the console’s Agent page (Advanced). See the default relay section.