Scrubby + Zed
Zed exposes Model Context Protocol servers as context servers in its Agent Panel. Adding Scrubby gives Zed's AI assistant the same codebase intelligence layer that Claude Code, Cursor, Windsurf, and VS Code use — domains, conventions, co-change patterns, and live PR review — without leaving your editor.
What you get
- Domain-aware Agent Panel. Zed's AI consults Scrubby for the conventions in a domain before suggesting changes there.
- Architecture queries from chat. Ask "what domains exist in this repo?" and Zed pulls the answer from Scrubby's
scrubby_get_domains. - Pre-commit changeset review. Run
scrubby_review_changeseton staged files to surface missing co-changes before pushing. - Native Zed UX. Tools appear in the Agent Panel exactly like any other context server — no extension to install for the remote HTTP server.
Setup
1. Add the context server
Open Zed's settings (cmd-, on macOS, ctrl-, on Linux) and add a context_servers entry:
{
"context_servers": {
"scrubby": {
"url": "https://mcp.scrubby.ai/mcp"
}
}
} Note that Zed keys MCP servers under context_servers (not mcpServers like Cursor or servers like VS Code).
2. Authenticate
Because the entry has no headers field with an Authorization token, Zed will trigger the standard MCP OAuth flow on first connect. Sign in with the GitHub account you used for Scrubby.
3. Verify the server is active
Open the Agent Panel and look for Scrubby in the settings view. The indicator dot next to its name should be green, with a tooltip reading "Server is active."
4. Index your repository
From the Agent Panel, ask Zed's assistant to index:
"Index this repo with Scrubby — it's owner/repo-name." Indexing takes 1–3 minutes. After that it stays current incrementally.
Tools available to Zed's Assistant
| Tool | Purpose |
|---|---|
scrubby_index | Index a repository for the first time, or re-index after major changes |
scrubby_review | Get domain, conventions, connected files, and git history for a specific file |
scrubby_review_changeset | Check changed files for missing co-changes and convention violations |
scrubby_get_domains | List all architectural domains discovered in the repository |
scrubby_get_segments | List code segments with their conventions and file summaries |
scrubby_get_network | Get the domain connection graph showing how areas of the codebase relate |
scrubby_get_findings | Retrieve findings from previous reviews |
scrubby_report_findings | Report findings so Scrubby can refine its connection weights |
Notes for Zed specifically
context_servers, not mcpServers
Zed uses its own configuration key. If you've copied a snippet from another editor, rename the top-level key to context_servers.
Remote URL vs local command
Scrubby is a remote HTTP MCP server, so you use "url" rather than "command" and "args". The command/args form is for local stdio-based MCP servers.
OAuth handled by Zed
If no Authorization header is configured, Zed walks you through the MCP OAuth flow automatically. You don't need to set up tokens manually.
Settings live in your Zed profile
Unlike per-project files like .cursor/mcp.json or .vscode/mcp.json, Zed's context_servers live in your user settings. Add Scrubby once and it's available in every project you open.
Troubleshooting
- Indicator dot is red or yellow — click on the server name in the Agent Panel settings view to see the connection error. Common cause is OAuth not completed.
- Tools not exposed in Assistant — reload your Zed settings (or restart Zed) after editing
settings.json. - OAuth never finishes — check that your default browser is reachable. You can also visit the Scrubby dashboard to log out and re-authenticate from Zed.