Integration

Room Service and Claude Code

Room Service is a Claude Code MCP server for your Mac. One click adds it at user scope, so every project can ask what takes space, what is listening, and what Git has not pushed. Room Service also knows where Claude Code keeps its sessions, and what it must never touch there.

Room Service is a Claude Code MCP server for your Mac. One click adds it at user scope, so every project can ask what takes space, what is listening, and what Git has not pushed. Room Service also knows where Claude Code keeps its sessions, and what it must never touch there.

Room Service is a Claude Code MCP server for your Mac. One click adds it at user scope, so every project can ask what takes space, what is listening, and what Git has not pushed. Room Service also knows where Claude Code keeps its sessions, and what it must never touch there.

MCP ServerActive
Claude CodeAdded
~/.claude.jsonAdded. Restart Claude Code to use it.
Add to Claude CodeRemove
Claude CodeAskingConnected
Allow Claude Code to use Room Service?Last seen just now • ~/.local/bin/claude
RemoveDenyAllow
Tool calls
:3000 node, :5432 postgres
Stopped :3000
2 repos with unpushed work

Claude Code lives in your terminal and knows your repo. It does not know the rest of your Mac. Ask it to free disk space and it reaches for du and rm -rf.

Room Service fixes both sides. As a Claude Code MCP server on your Mac, it gives Claude Code the app’s own view of storage, ports, processes, and projects, and lets it act only through the app, inside permissions you set. And because Claude Code writes every session to disk, Room Service lists those sessions, one row each, without touching your memory, settings, or CLAUDE.md.

Add Room Service to Claude Code

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

  2. Open the Claude Code row and click “Add to Claude Code”. When Room Service finds your claude binary in a standard location, it runs Claude Code’s own command at user scope, so the server is available in every project:

    claude mcp add --scope user room-service -- /usr/local/bin/roomservice mcp

    The path is the CLI inside the app, or /usr/local/bin/roomservice when that link points into the app. Without a claude binary, Room Service writes the same entry into ~/.claude.json under mcpServers, keeping everything else in the file:

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

    The Copy button in the row has the command with the right path.

  3. Restart Claude Code. The row shows Added. If you move the app later, it shows Needs repair, and Repair points the entry back at the right CLI.

  4. On Claude Code’s first tool call, Room Service asks once whether this agent may use it. The panel shows the executable macOS reports, normally your claude binary. Room Service remembers the executable, not the name the agent sends.

What Claude Code can do once connected

“What is taking space on this Mac?” calls list_categories and gets the last scan, each row marked safe, review, or risky. “Dry-run a cleanup of Xcode build data” calls clean_items with dry_run: true. “Stop whatever is on port 3000” calls list_ports, then stop_port with the PID it saw; if another process holds the port by then, nothing is stopped and the reply names the new owner. “Anything unpushed here?” calls git_sweep, which only reports.

Reversible actions run when asked and land in the Ops Feed as Claude Code. Permanent delete, force quit, and Docker prune are off by default and, when on, wait for your Allow in a floating panel that Return cannot confirm, so typing in Claude Code’s terminal never answers it. Developer Vault has no scope at all.

docs/AI_AGENTS.md has a CLAUDE.md block that tells Claude Code to ask Room Service before cleaning anything, and to dry-run first.

Claude Code taking disk space: what Room Service lists

Claude Code keeps one transcript per session at ~/.claude/projects/<encoded project path>/<session uuid>.jsonl, often with a same-named folder of subagent and tool output beside it, and rewind checkpoints under ~/.claude/file-history/<session uuid>.

Room Service’s AI Apps category has a Claude Code Conversations group with one row per session, named after the project and the day it was last written, with the transcript, its folder, and its checkpoints counted as one unit. A row whose project folder is gone says so, and CLAUDE_CONFIG_DIR is honored.

Never listed: settings*.json, CLAUDE.md, agents, commands, skills, plugins, hooks, credentials, the live-session registry, plans, backups, and above all each project’s memory folder. The scanner skips them, and a second check at deletion time refuses any path under the config folder that is not a UUID-shaped session or checkpoint.

Sessions are rated Review and never selected by default. A session written to in the last hour is left out of the scan, and refused at cleanup if it has become active since. Sessions can only be cleaned from the app: roomservice clean skips them, and clean_items over MCP refuses them as cleaned only from the app. Deleting a session means claude --resume can no longer reopen it and its /rewind checkpoints go with it; your code is untouched.

Claude Code is a trademark of Anthropic. Room Service is not affiliated with Anthropic.

Frequently Asked Questions

Does `claude mcp add` need the `roomservice` path, or just the name?

Why user scope?

Can Claude Code delete my Claude Code sessions through MCP?

Will Room Service delete my project memory or CLAUDE.md?

What does Room Service see about Claude Code when it connects?

Is this an official Anthropic integration?

Explore more of Room Service