使用说明
Loom for Zed
Zed extension that integrates loom-core with Zed as an MCP context server.
Exposes the full Loom MCP ecosystem (GitHub, GitLab, K8s, Prometheus, Tavily, etc.) through
Zed's Agent panel via loom proxy.
Prerequisites
- Zed editor (latest stable or preview)
- Network access to GitHub (for auto-download of loom-core binaries), OR
- Local loom binary on
$PATHor configured viacontext_servers.loom.command.path
Features
- Context server:
loomrunsloom proxyas a Zed MCP context server - Slash commands: 20+ commands aligned with current
loom-coresurfaces, including/loom-check,/loom-status,/loom-sync,/loom-tools,/loom-session,/loom-skills, and/loom-info - Prompt recipes: Curated MCP prompts in Zed's Agent prompt picker (onboarding, CI triage, rollout)
- Tool hot reload: Automatically refreshes the tool list, using native
loom proxynotifications when available and polling only as a fallback - Auto-download: Downloads loom-core binaries from GitHub releases with retry and exponential backoff
- Platform-aware: Selects the correct binary for macOS/Linux/Windows on arm64/amd64
See Also
- Loom VS Code Extension — Full-featured MCP management for VS Code
- loom-core — Backend Go binary powering both extensions
Configuration
This extension registers a Zed context server named loom. By default it will:
- Download an appropriate Loom build from the latest GitHub release for
crb2nu/loom-core - Run
loom proxyas the context server command
The extension expects loom-core GitHub release assets named like:
loom-core_v0.10.0_darwin_arm64.tar.gzloom-core_v0.10.0_linux_amd64.tar.gzloom-core_v0.10.0_windows_amd64.zip
You can customize behavior in Zed settings under context_servers.loom:
{
"context_servers": {
"loom": {
"command": {
"path": "loom",
"arguments": ["proxy"],
"env": { "LOOM_LOG_LEVEL": "info" }
},
"settings": {
"download": {
"enabled": true,
"repo": "crb2nu/loom-core",
"tag": null,
"asset": null
},
"mcp": {
"wrapper": {
"enabled": true,
"python": null,
"tools_poll_interval_secs": 30
},
"proxy": {
"tool_profile": null,
"max_tools": null
},
"prompts": {
"enabled": true,
"recipes_file": null
},
"resources": {
"enabled": true,
"include_diagnostics": false
}
}
}
}
}
}
Notes:
- If you set
context_servers.loom.commandto an explicit absolute path (or a command resolvable in Zed's environment), the extension will not download Loom and will run exactly what you configure. - The MCP wrapper that provides prompt recipes + Zed-specific resources requires
python3to be available on your machine. settings.mcp.wrapper.tools_poll_interval_secsis only used when the childloom proxydoes not advertisetools.listChanged; modernloom-corereleases rely on native notifications instead.settings.mcp.proxy.tool_profilemaps toloom proxy --tool-profileso you can use newerloom-coretool-filter profiles directly from Zed.settings.mcp.proxy.max_toolsmaps toloom proxy --max-toolsand is useful when you want a smaller, faster MCP surface in the Agent panel.settings.download.tagcan be used to pin a release tag (example:"v0.10.0").settings.download.assetcan be used to select an exact asset name from the release (advanced).
Troubleshooting
Binary not found
If the auto-download fails, install loom-core manually and set the path:
{
"context_servers": {
"loom": {
"command": { "path": "/usr/local/bin/loom" }
}
}
}
Network errors during download
The extension retries GitHub API calls with exponential backoff (500ms, 1s, 2s). If downloads consistently fail, pin a specific release tag to skip the "latest" API call:
{
"context_servers": {
"loom": {
"settings": { "download": { "tag": "v0.10.0" } }
}
}
}
Permission denied on binary
On macOS/Linux, the extension calls zed::make_file_executable() after download. If that fails,
manually fix permissions:
chmod +x ~/.local/share/zed/extensions/loom-zed/loom-core/*/loom
Slash commands not working
Ensure loom is on your $PATH or the auto-download completed successfully. Check Zed's
extension host logs (View > Toggle Developer Tools) for error messages.
Releasing
See docs/RELEASING.md.
