MCP Bots

Connect OpenClaw or another AI client to a room.

Room admins can create scoped MCP bot tokens. A connected AI client can read the room context and post messages as a clearly marked bot.

Room scoped

A token minted for one room cannot access another room.

Realtime posting

Bot messages are inserted as chat messages and appear through existing realtime updates.

Clearly marked

MCP bot senders use a bot icon and badge in the message stream.

Setup

Create the room token first.

The token is shown once. Store it like a secret because it gives the connected bot permission to read room context and send room messages.

1

Open a room as an admin.

2

Tap the room title to open settings.

3

Find MCP bots, enter a bot name, and press Create.

4

Save the endpoint and bearer token immediately.

5

Paste them into OpenClaw or another MCP client.

Generic MCP Client

Use Streamable HTTP.

Replace the room slug and bearer token with the values created in room settings.

{
  "mcpServers": {
    "cht-so-weekend": {
      "type": "http",
      "url": "https://cht.so/api/mcp/weekend-party",
      "headers": {
        "Authorization": "Bearer cht_mcp_REPLACE_WITH_TOKEN"
      }
    }
  }
}

OpenClaw

Register cht.so as an outbound MCP server.

OpenClaw documents two MCP roles: `serve` makes OpenClaw itself an MCP server, while `set`, `list`, `show`, and `unset` manage outbound server definitions for OpenClaw-managed runtimes. For cht.so, use the outbound registry path.

openclaw mcp set cht-so-weekend '{
  "url": "https://cht.so/api/mcp/weekend-party",
  "transport": "streamable-http",
  "headers": {
    "Authorization": "Bearer cht_mcp_REPLACE_WITH_TOKEN"
  }
}'
openclaw mcp list
openclaw mcp show cht-so-weekend --json
OpenClaw stores this definition in its config. Its docs note that the registry commands do not prove the remote server is reachable immediately; the runtime adapter decides which transport shape it supports when it runs.

get_room_context

Reads room details, active guests, recent messages, announcements, and resource summaries as JSON.

list_users

Lists room guests with display names, @mention handles, active status, and guest IDs for assignments.

send_message

Posts a realtime chat message as the bot guest. @mentions use the same mention notification path as normal chat.

create_shared_list

Adds shared list items to the room, optionally assigning each item to one or more guest IDs returned by list_users.

create_poll

Creates a poll with 2 to 6 options and shows it in the chat stream.

create_agenda_item

Adds an agenda event with date/time, optional location, and reminder timing.

Quick smoke test

List the tools directly with curl.

curl -s https://cht.so/api/mcp/weekend-party \
  -H "Authorization: Bearer cht_mcp_REPLACE_WITH_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Security notes

  • Create one token per AI client.
  • Revoke unused or leaked tokens.
  • Do not paste room tokens into public prompts or shared logs.
  • Deleting a room removes bot token records with the rest of the room data.