Mirrored from https://github.com/smbcloudXYZ/smbcloud-zed-extension.git
Synced Oct 25, 19:15 UTC
Read-only mirror of github.com/smbcloudXYZ/smbcloud-zed-extension.
smbCloud extension for Zed
Adds the smbCloud CLI as an MCP server in Zed, so the agent can work with your mail domains, inbox routes, auth apps, projects, tenants, and deploys.
Install
From Zed: zed: extensions → search for smbCloud → Install.
Then sign in once from a terminal — the server reuses the session the CLI writes to disk:
npx -y @smbcloud/cli login
Settings
Configure it in Zed's settings under context_servers.smbcloud:
{
"context_servers": {
"smbcloud": {
"source": "extension",
"settings": {
"scope": "cloud",
"environment": "production",
"mail_api_key": "smb_mail_..."
}
}
}
}
| Setting | Values | Notes |
|---|---|---|
scope |
cloud (default), automation |
cloud serves smbCloud resources; automation serves the mobile and TV device tools |
environment |
production (default), dev |
Which API to talk to |
mail_api_key |
smb_mail_... |
Only mail_send needs it; passed through as SMB_MAIL_API_KEY |
By default the extension installs @smbcloud/cli from npm and runs it with
Zed's bundled Node. If you already have smb on your machine, point at it
instead and skip the download:
{
"context_servers": {
"smbcloud": {
"source": "extension",
"command": { "path": "/opt/homebrew/bin/smb" }
}
}
}
Without the extension
The CLI is published to the MCP registry
as io.github.smbcloudXYZ/smbcloud-cli, so you can also add it as a custom
local server and skip this extension entirely:
{
"context_servers": {
"smbcloud": {
"command": "npx",
"args": ["-y", "@smbcloud/cli", "--mcp"],
"env": { "SMB_MAIL_API_KEY": "smb_mail_..." }
}
}
}
Development
rustup target add wasm32-wasip2
cargo build --release --target wasm32-wasip2
Then run zed: install dev extension and pick this directory. Logs go to
~/Library/Logs/Zed/Zed.log, or run zed --foreground for verbose output.
Publishing
Zed's registry works by submodule. Open a PR against
zed-industries/extensions that:
- adds this repo as a submodule at
extensions/smbcloud - adds an entry to the top-level
extensions.tomlwith the submodule path and version - runs
pnpm sort-extensions
Keep version in extension.toml in step with that entry.
License
Apache-2.0, matching the CLI.