Repository navigation
Prepare the 1.1.1 release - #112
Merged
Merged
Conversation
Before asking, install.sh and install.ps1 ran `mapbox mcp install --global --dry-run`, which runs each client's own CLI to see what is already registered. Claude Code's takes over a second per call, so the screen sat still for 3-15 seconds between the two questions, even for anyone who then answered no or had no terminal. Whether to ask is now a PATH lookup for the client CLIs src/mcp.rs drives, honoring the same override variables. `mapbox mcp install` still does the full check after a yes. A test in src/mcp.rs keeps both installers' client lists in step with CLIENTS.
… lookup - A no (or no terminal) now says the MCP servers were skipped rather than "not added", since nothing checks whether they are already there. - A yes that fails before any client is tried says nothing was added. - install.sh reads the override with eval instead of printenv, which POSIX does not require. - install.ps1 takes an override path literally, with the extensions src/mcp.rs tries, instead of as a wildcard pattern. - The guard reads only the lookup itself in each installer. - README no longer says the question is asked only when something is left to add. The PowerShell fake's dead dry-run output is replaced by a marker the no-console case asserts on.
Instead of looking clients up on PATH, the installer now asks the MCP question whenever the skill step found a coding agent, and leaves finding clients to `mapbox mcp install` after a yes. That removes the copied client table and its guard test, and the mismatch between the installer's lookup and the CLI's. When the agent found takes skills but no client mapbox can register with (Goose, Amp), a yes now says there was nothing to add them to instead of reporting a failure. install.ps1 keeps stderr live while capturing it, to tell that case apart.
VS Code takes an MCP server but no skill, so gating on the skill step's agent check dropped it. ~/.vscode now counts too, under the same opt-out. The not-found check tolerates spacing in the error JSON, and the PowerShell no-agent case asserts that mapbox mcp never ran.
zmofei
marked this pull request as ready for review
October 22, 2026 12:21
mattpodwysocki
approved these changes
Oct 22, 2026
mattpodwysocki
left a comment
Contributor
There was a problem hiding this comment.
Thanks @zmofei, nice speedup. Shellcheck is clean, all the test-install.sh cases pass, and cargo test passes with the binary printing mapbox 1.1.1. Asking based on an agent being found or ~/.vscode existing makes sense, and the mcp_client_not_found fallback names the same four clients mapbox mcp install supports. Tiny nit, not blocking: one line in the new changelog entry ("agent or VS Code, and only after a yes does it look for Claude Code, Codex, VS Code") runs past the file's line width. Approving, as long as the release pipeline fix lands before the tag.
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.
Releases the installer's MCP question change as 1.1.1, and notes that published builds now check for updates. Both are fixes, so it's a patch bump.
Release prep
Cargo.tomlandCargo.lock: 1.1.1.## 1.1.1 - 2026-10-22heading over both entries.The update check line depends on a fix in the release pipeline, which builds every tag as
production. 0.3.0 through 1.1.0 were built asstaging, which leaves the check off. That fix has to merge before thev1.1.1tag is pushed, or this line isn't true. If this merges on a later day, the heading's date needs updating.Testing:
cargo test --lockedpasses,mapbox --versionprints 1.1.1, andtests/changelog.rspasses. The README pins point at a v1.1.1 that won't exist until the release is published.MCP question without a slow pre-check
Before the MCP question,
install.shandinstall.ps1ranmapbox mcp install --global --dry-run, which runs each client's own CLI to see what's already registered. Claude Code's takes over a second per call, so the installer sat silent for 3–15 seconds between the skill question and the MCP question, even for people who then answered no or had no terminal.Now the installer doesn't check clients at all before asking. It asks when the skill step found a coding agent, or when
~/.vscodeexists (VS Code takes an MCP server but no skill, so the skill check can't see it). Only a yes runsmapbox mcp install --global, which tries each client, skips any that aren't installed, and reports ones that already have the servers. No and no-terminal runs never invokemapbox mcp.Behavior changes:
install.ps1now captures themcp installstderr to detect that case while still printing it as it arrives.Verified:
cargo build,clippyandtestpass, and so does shellcheck.scripts/test-install.shpasses. New cases cover a machine with no agent, VS Code only, the opt-out, and an agent with no MCP client. The "never runsmapbox mcp" assertions fail against the old installer, and the VS Code case fails with that gate removed.mcp_client_not_founderror, with no client installed, has the shape the installer matches.Not verified:
install.ps1andtest-install.ps1. There's nopwshhere, so they're CI only. The PowerShell yes path, including the stderr capture, can't be reached by the tests because they have no console.install.shagainst the dev channel.