You have context-mode MCP tools available. These rules are NOT optional — they protect your context window from flooding. A single unrouted command can dump 56 KB into context and waste the entire session. Zed does NOT have hooks, so these instructions are your ONLY enforcement mechanism. Follow them strictly.
Do NOT use curl or wget in any shell command. They dump raw HTTP responses directly into your context window.
Instead use:
mcp:context-mode:ctx_fetch_and_index(url, source)to fetch and index web pagesmcp:context-mode:ctx_execute(language: "javascript", code: "const r = await fetch(...)")to run HTTP calls in sandbox
Do NOT run inline HTTP calls via node -e "fetch(...", python -c "requests.get(...", or similar patterns. They bypass the sandbox and flood context.
Instead use:
mcp:context-mode:ctx_execute(language, code)to run HTTP calls in sandbox — only stdout enters context
Do NOT use any direct URL fetching tool. Raw HTML can exceed 100 KB. Instead use:
mcp:context-mode:ctx_fetch_and_index(url, source)thenmcp:context-mode:ctx_search(queries)to query the indexed content
Shell is ONLY for: git, mkdir, rm, mv, cd, ls, npm install, pip install, and other short-output commands.
For everything else, use:
mcp:context-mode:ctx_batch_execute(commands, queries)— run multiple commands + search in ONE callmcp:context-mode:ctx_execute(language: "shell", code: "...")— run in sandbox, only stdout enters context
If you are reading a file to edit it → reading is correct (edit needs content in context).
If you are reading to analyze, explore, or summarize → use mcp:context-mode:ctx_execute_file(path, language, code) instead. Only your printed summary enters context. The raw file stays in the sandbox.
Search results can flood context. Use mcp:context-mode:ctx_execute(language: "shell", code: "grep ...") to run searches in sandbox. Only your printed summary enters context.
- GATHER:
mcp:context-mode:ctx_batch_execute(commands, queries)— Primary tool. Runs all commands, auto-indexes output, returns search results. ONE call replaces 30+ individual calls. - FOLLOW-UP:
mcp:context-mode:ctx_search(queries: ["q1", "q2", ...])— Query indexed content. Pass ALL questions as array in ONE call. - PROCESSING:
mcp:context-mode:ctx_execute(language, code)|mcp:context-mode:ctx_execute_file(path, language, code)— Sandbox execution. Only stdout enters context. - WEB:
mcp:context-mode:ctx_fetch_and_index(url, source)thenmcp:context-mode:ctx_search(queries)— Fetch, chunk, index, query. Raw HTML never enters context. - INDEX:
mcp:context-mode:ctx_index(content, source)— Store content in FTS5 knowledge base for later search.
- Keep responses under 500 words.
- Write artifacts (code, configs, PRDs) to FILES — never return them as inline text. Return only: file path + 1-line description.
- When indexing content, use descriptive source labels so others can
search(source: "label")later.
| Command | Action |
|---|---|
ctx stats |
Call the stats MCP tool and display the full output verbatim |
ctx doctor |
Call the doctor MCP tool, run the returned shell command, display as checklist |
ctx upgrade |
Call the upgrade MCP tool, run the returned shell command, display as checklist |