Integration

Room Service and Cursor

Room Service writes itself into ~/.cursor/mcp.json so Cursor’s agent can ask your Mac real questions: what takes space, what is listening on which port, what is unpushed. It also cleans Cursor’s own caches, hides Cursor’s internal ports from Dev Ports, and leaves everything alone while Cursor is running.

Room Service writes itself into ~/.cursor/mcp.json so Cursor’s agent can ask your Mac real questions: what takes space, what is listening on which port, what is unpushed. It also cleans Cursor’s own caches, hides Cursor’s internal ports from Dev Ports, and leaves everything alone while Cursor is running.

Room Service writes itself into ~/.cursor/mcp.json so Cursor’s agent can ask your Mac real questions: what takes space, what is listening on which port, what is unpushed. It also cleans Cursor’s own caches, hides Cursor’s internal ports from Dev Ports, and leaves everything alone while Cursor is running.

MCP ServerActive
CursorAdded
~/.cursor/mcp.jsonAdded. Restart Cursor to use it.
Add to CursorRemove
CursorAskingConnected
Allow Cursor to use Room Service?Last seen just now • /Applications/Cursor.app
RemoveDenyAllow
Tool calls
2.4 GB, 3 findings
tsc --watch, idle 2h
Stopped tsc --watch

Cursor’s agent mode is good at your code and blind to your Mac. When a build fails because the disk is full, or a dev server will not start because something already holds the port, the agent can only run shell commands and read the output back into the chat.

Room Service is a Cursor MCP server for your Mac, built into the app and off until you turn it on. Add it to ~/.cursor/mcp.json with one click and Cursor’s agent gets Room Service’s view of storage, ports, processes, and projects, and acts only through the app, inside permissions you set. On the other side, Cursor leaves cached data under ~/Library/Application Support/Cursor that Room Service finds and clears, but never while Cursor is open.

Add Room Service to ~/.cursor/mcp.json

  1. In Room Service, open Settings > Agents and turn on “Allow agents to connect”. Until you do, nothing listens, and nothing ever listens on the network.

  2. Open the Cursor row and click “Add to Cursor”. Cursor has no mcp add command, so Room Service edits ~/.cursor/mcp.json directly, creating it if needed and keeping every other server in mcpServers. The result is this entry:

    { "mcpServers": { "room-service": { "command": "/usr/local/bin/roomservice", "args": ["mcp"] } } }

    command is the absolute path of the CLI inside the app, or /usr/local/bin/roomservice when that link points into it. Cursor does not get your shell’s PATH, so the bare name would not resolve. The Copy button in the row has the exact snippet.

  3. Restart Cursor. The row shows Added. If you move the app later, the row shows Needs repair and Repair rewrites the path.

  4. On the first tool call from Cursor, Room Service asks once, in a floating panel, whether this agent may use it. It shows the executable macOS reports, which is what Room Service remembers, not the name Cursor sends.

What Cursor’s agent can do with it

Ask in Cursor’s chat. “Why is my disk full?” calls list_categories and returns the last scan with your excluded paths applied and a safe, review, or risky label on every row. “Free up Xcode build data, dry run first” calls clean_items with dry_run: true, then for real, to the Trash or Quarantine. “What is on port 5173?” calls list_ports; “stop it” calls stop_port with the PID it just saw, and if a different process holds the port by then, nothing is stopped. “Anything unpushed in this repo?” calls git_sweep, which only reports.

Each group of tools has its own switch in Settings > Agents, and a group that is off disappears from Cursor’s tool list. Permanent delete, force quit, and Docker prune are off by default and, when on, wait for your Allow in a panel that floats above Cursor without taking focus. Developer Vault has no scope. A short note in your Cursor rules, saying this Mac has Room Service and to ask it before cleaning anything, keeps the agent on that path; docs/AI_AGENTS.md has a block to paste.

Clear Cursor cache on Mac: what Room Service does

Cursor keeps rebuildable data outside your projects. Room Service’s IDEs category has a Cursor group with three rows:

  • ~/Library/Application Support/Cursor/CachedData: cached data

  • ~/Library/Application Support/Cursor/Service Worker/CacheStorage: service worker cache

  • ~/Library/Application Support/Caches/cursor-updater: the updater’s downloaded builds

All three are rated safe and go to the Trash, or to Quarantine when you have that on, with the rest of your cleanup. Cursor rebuilds them on next launch. Settings, extensions, and workspace state are not listed.

While Cursor is running, every one of these rows is refused with “Cursor is running. Quit it first, then try again.” The guard matches Cursor by its bundle identifier and covers ~/Library/Application Support/Cursor, ~/Library/Caches/com.todesktop.230313mzl4w4u92, and the updater cache, for recipes and agents too.

Two smaller things. In Dev Ports, a port held by the Cursor or Cursor Helper process from inside a project folder is hidden, so the list shows your dev servers and not the editor’s own listeners; a server you start from Cursor’s terminal shows under its own process. And in a project’s storage breakdown, a .cursor folder is explained as “Cursor workspace settings, project metadata, and local editor state”.

Cursor is a trademark of Anysphere, Inc. Room Service is not affiliated with Anysphere.

Frequently Asked Questions

What goes in ~/.cursor/mcp.json for Room Service?

Does Room Service overwrite my other MCP servers in that file?

Is the Cursor cache safe to delete?

Why does Dev Ports not show a port that Cursor is holding?

Can Cursor’s agent delete files anywhere on my Mac through this?

Which executable does Room Service remember for Cursor?

Explore more of Room Service