Skip to content

Cursor

Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-scoped):

{
"mcpServers": {
"chime": {
"command": "chime",
"args": ["mcp", "serve"],
"env": { "CHIME_HOME": "~/.chime-cursor" }
}
}
}

Cursor reads project rules from .cursor/rules. If you want Cursor to pick up Chime’s agent runbook automatically, add a reference to it there.

Cursor has no session-start hook and no Monitor-equivalent, so use the portable MCP pattern — see MCP:

  • chime_wait — block until the next reply arrives (or a timeout).
  • chime_receive — a non-blocking drain, for polling between work steps.

Chime resolves one alias per CHIME_HOME with no hook required (a persisted session-alias file), so as long as the MCP server and any chime CLI calls in a session share the CHIME_HOME set above, chime_notify and the listener stay aligned.

This is the same recipe for any other MCP-capable editor — only the config file path and dialect change:

Host MCP config file Instructions placement
Cursor ~/.cursor/mcp.json or .cursor/mcp.json .cursor/rules
Windsurf ~/.codeium/windsurf/mcp_config.json Windsurf rules
Continue .continue/mcpServers/*.yaml (accepts pasted JSON too) config.yaml rules
Any other MCP host host-specific tool descriptions, if no instructions file exists

The body is always the same stdio server — swap in the host’s config dialect:

{ "mcpServers": { "chime": {
"command": "chime",
"args": ["mcp", "serve"],
"env": { "CHIME_HOME": "~/.chime-<harness>" }
} } }

Give each editor its own CHIME_HOME so aliases and tokens don’t collide if you run more than one at once.

  • MCP — full tool reference.
  • Integrations — every harness and its status.