Rook MCP
Save anything while you code with AI, directly to Rook.
Rook supports the Model Context Protocol (MCP), the open protocol AI tools use to talk to programs and data sources. Connect any tool that supports local MCP servers, including OpenCode, Claude, Codex, Cursor and Gemini. Each tool saves to its own inbox in Rook.
Configuration
1. Enable MCP in Rook
Install Rook in /Applications, then open Settings → MCP and select Enable.
2. Configure your MCP client
Select your client below and follow its configuration instructions.
3. Verify the connection
Start a new session in your configured client and send the following request.
Save "hello from my AI tool" to RookVerify that the saved text appears in the client's inbox in Rook. By default, saves from the same client are grouped into one note per day. To create a separate note for each save, change Save style in Settings → MCP. This setting applies to new saves only.
How it works
The MCP client launches the helper bundled with Rook and communicates with it over standard input and output (stdio). The helper writes to a shared local inbox, which Rook reads to import saved content.
The helper runs in the macOS app sandbox without network access. It exposes one tool for appending content to the inbox, with no operations to read, modify or delete existing notes. This allows AI tools to save content to Rook without access to your existing notes.
Common questions
Can I save multiple items or long content?
Yes. A client can save multiple items through consecutive append_to_inbox requests. Each request accepts one content value and an optional title.
For content over 100,000 characters, the helper instructs the client to split the text into consecutive requests, preserving each part verbatim and in order. The client performs the split; the helper does not split oversized requests automatically. Each request counts toward the rate limit and follows your Save style setting.
Does saved content support Markdown?
Rook renders saved Markdown as formatted notes, including headings, fenced code blocks, lists, task lists, links and text emphasis. Include a language identifier on fenced code blocks for syntax highlighting.
How do I disable or pause MCP?
In Settings → MCP, clear Enable to disable the integration. Select Pause new saves to suspend writes without removing the client configuration.
How do I remove the integration entirely?
Run the matching remove command for each client:
- Claude Code:
claude mcp remove rook - Codex:
codex mcp remove rook - Gemini CLI:
gemini mcp remove rook - Cursor: remove
rookfrom the User MCP Servers list in Settings → Tools & MCPs - Claude Desktop: remove the
rookblock from Settings → Developer → Edit Config
Are there limits?
Each Rook MCP helper process accepts up to 100 save requests in a rolling 60-second window. Requests that fail validation or are paused also count toward this limit. Each request supports up to 100,000 characters of content.
Can a client save while Rook is not running?
Yes. The helper writes the content to disk. Rook imports it the next time it reads the inbox.
How do I inspect save activity?
Click the MCP indicator in Rook's toolbar to inspect recent inbox activity. Use the server logs below to diagnose requests rejected before they reach the inbox.
How do I inspect server logs?
Run the following command in Terminal to stream helper logs, then submit a save request from your MCP client.
/usr/bin/log stream --level info --predicate 'subsystem == "com.userook.rook.mcp"'The helper also writes to stderr, which your AI client may capture.
Technical reference
append_to_inbox · parameters, responses and errors
rook-mcp implements MCP protocol 2024-11-05 over stdio. The server exposes one tool.
append_to_inbox
Appends text to the calling client's Rook inbox.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
content | string | yes | Markdown content to save, up to 100,000 characters per request. |
title | string | no | Optional heading. Titles longer than 200 characters are truncated after sanitization. |
Returns
A tool result containing a text confirmation. Without a title: Saved to Rook inbox. With a title: Saved to Rook inbox under "my title".
Errors
The current helper uses -32005 for both oversized content and write failures. Inspect the error message to distinguish them.
| Code | Name | Description |
|---|---|---|
| -32700 | parse error | The request could not be decoded as a JSON-RPC request. |
| -32600 | invalid request | The jsonrpc version is missing or invalid, or the method was called before initialization. |
| -32601 | method not found / tool not found | The requested method or tool is not supported. |
| -32001 | entitlement_unavailable | The helper cannot access the shared app-group container. |
| -32002 | rate_limited | The helper process has reached 100 save requests in a rolling 60-second window. |
| -32003 | paused | MCP is paused in Rook. Clear Pause new saves in Settings → MCP. |
| -32004 | input_invalid | Request parameters are invalid, or content or title is empty after sanitization. |
| -32005 | content_too_long | Content exceeds 100,000 characters. Split it into consecutive requests without summarizing or omitting text. |
| -32005 | store_write_failed | The helper could not write the content to the inbox. |
| -32006 | disabled | MCP is disabled. Select Enable in Settings → MCP. |