Bake in the smbCloud CLI's stdio MCP server#41
Merged
Conversation
sigit already bakes in its official HTTP MCP server. This adds a second built-in entry: the smbCloud CLI's stdio server (smb --mcp), so smbCloud project and deployment tools are available without any mcp.toml setup. The entry is only added when the smb binary is actually on PATH, so users without smbcloud-cli installed see nothing rather than a spawn failure in /mcp. A user-defined server named smbcloud overrides the baked-in one, and it can be switched off with smbcloud = false in mcp.toml or SIGIT_MCP_SMBCLOUD=off, mirroring the official server's opt-outs.
The official server's query tools already run without prompting; give the baked-in smbCloud CLI server the same treatment for its read-only tools (me, deployments, project_list, project_show). Unlike the official server's list_/get_ name-shape check, this is an explicit allow-list, since smb's tool names follow no such convention. A name the list doesn't know (say, from a newer smb release) fails safe to mutating, and the exemption only applies when smbcloud is the whole server name, so a foreign server can't borrow it.
sigitc
approved these changes
Jul 19, 2026
setoelkahfi
approved these changes
Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
sigit already bakes in its official HTTP MCP server. This adds a second built-in entry: the smbCloud CLI's stdio server (
smb --mcp), so smbCloud project and deployment tools (mcp__smbcloud__project_list,deployments,me, ...) work out of the box, with nomcp.tomlsetup.How it behaves
smbbinary is actually onPATH(checked with the platform's executable suffix, so.exeon Windows). Users without smbcloud-cli installed see nothing in/mcpinstead of a spawn failure.mcp.tomlserver namedsmbcloudoverrides the baked-in one, same never-clobber rule as the officialsigitentry.smbcloud = falseinmcp.tomlorSIGIT_MCP_SMBCLOUD=off, mirroringofficial = false/SIGIT_MCP_OFFICIAL.me,deployments,project_list,project_show) run without a permission prompt. This uses an explicit allow-list rather than the official server'slist_/get_name-shape check, so a tool the list doesn't know fails safe to mutating;project_create/project_update/project_deletestay behind the ask-by-default gate, and query-shaped names on foreign servers get no exemption.Testing
cargo fmt -- --check,cargo clippy --tests -- -D warnings, andcargo test --lockedare all green locally (237 tests, including new coverage for the opt-out flag, the PATH probe, the namespace suffix helper, and the read-only classification).initialize/tools/listhandshake intosmb --mcpover stdio and got the expected 7 tools back, confirming it speaks the newline-delimited JSON-RPC framing sigit's stdio client expects.