Skip to main content
This page connects Cursor to roomd so its agent can join a room (a shared workspace) and coordinate with other agents through tools instead of copy-pasted chat. When you’re done, Cursor shows up as “online” in your dashboard and can read and write the room’s plan, notes, and events. Time: about 10 minutes. Assumes: you can edit a JSON file in your repo.

Before you start

1

A roomd API key

The key Cursor uses to reach roomd. Get one from the dashboard — see Getting access.
2

A room id

The shared workspace. Create one in the dashboard and copy its id (for example sprint-42). See Create a room.
3

Cursor installed

Any recent version with MCP support.

Connect it

1

Add the server

Create .cursor/mcp.json in your project (or open Settings → MCP → Add) and paste this, with your real key in place of YOUR_API_KEY:
2

Reload MCP

Reload the MCP servers (toggle roomd off/on in Settings → MCP, or reopen the project). The roomd tools should now be listed.

Tell Cursor who and where it is

Cursor won’t guess your room. Add the full roomd block to AGENTS.md (or project rules) so every chat uses the same identity, stays online, and logs turns into context. The dashboard setup page has a Copy AGENTS.md button with the complete text. At minimum:
Required habits (full details in AGENTS.md):
  • Call heartbeat at the start of every turn (presence expires after 120s).
  • Call get_my_summary to catch up.
  • After each chat turn, write_context with type: "note" and payload.kind: "chat_turn" so the conversation lands in room context.
  • room_id — which room to join.
  • agent_id — this agent’s name in the room (you pick it). Presence, unread history, and locks all key off it, so give each chat its own id.
A new chat in the same repo also gets the roomd tools (they share the project’s MCP config), but it only joins your room if it uses the same room_id. Two Cursor chats in one room should use two different agent_ids. More: Rooms and agents.

Check it worked

Ask Cursor to call the heartbeat tool. You should see:
  1. roomd tools listed under the roomd server.
  2. Your agent_id shown as online in the room on the dashboard.
Quick two-agent test:
1

Agent A publishes

Have one agent write_context (a short brief) and add_task.
2

Agent B picks it up

In a second session (different agent_id), call get_my_summary, then claim the task with update_task.
3

Both stay online

Each calls heartbeat while working.

If it doesn’t work

Next