feat: setup-mcp config targets + codex client (4.2.0)#40
Merged
Conversation
setup-mcp previously wrote the gather-step server block to `.claude/settings.json`, which Claude Code does not read for MCP server definitions, so the registered server never appeared in the client. - `--scope local` now writes the project-scoped `.mcp.json`; `--scope global` writes the user-scoped `~/.claude.json`. - New `--client codex` merges a `[mcp_servers.gather-step]` block into `~/.codex/config.toml` using toml_edit, preserving existing servers, other keys, and comments. Default client stays `claude`. - `status` MCP detection now reads `.mcp.json` / `~/.claude.json` to match the new write locations; integration and wizard tests updated accordingly. - Corrected the MCP clients guide (user scope is `~/.claude.json`, not `~/.claude/settings.json`; refreshed the Fast Path section). - Refreshed Cargo deps to latest SemVer-compatible versions (serde_json, tokio, rmcp, similar, quick_cache, memchr + transitive); exact pins left untouched. Bumped website astro 6.3.5 -> 6.4.2. - Bumped workspace, internal crate, and website versions and landing-page stamps to 4.2.0; marked 4.2.0 released in the changelog. Tests cover the JSON (.mcp.json / ~/.claude.json) and TOML (Codex) writers, status detection, and the init/wizard flow.
1cc1610 to
bb88393
Compare
Deploying gather-step with
|
| Latest commit: |
bb88393
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://0b9d0842.gather-step.pages.dev |
| Branch Preview URL: | https://chore-v4-2-0.gather-step.pages.dev |
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.
Summary
Fixes
setup-mcpso it writes MCP server config to the files clients actually read, adds Codex support, refreshes dependencies, and cuts 4.2.0. Net diff vsmainrepresents the full 4.2.0 release (rolls up the unreleased 4.1.1 version-prep commit).Root Cause / Context
setup-mcpwrote thegather-stepblock to.claude/settings.jsonundermcpServers. Claude Code does not read server definitions fromsettings.json(only toggles likeenableAllProjectMcpServers), so the registered server never appeared in the client — it was silently ignored. Theservevsmcp serveargs were never the problem (both route to the same dispatch); the target file was.Key Decisions
--scope local→ project-scoped.mcp.json--scope global→ user-scoped~/.claude.json--client codex→~/.codex/config.toml(scope ignored; Codex has one global config). Default client staysclaude.toml_editfor Codex so merges preserve existing servers, other keys, and comments, and render the idiomatic[mcp_servers.gather-step]section rather than an inline table.gixmajor skipped.Files Changed
crates/gather-step-cli/src/commands/setup_mcp.rs—--clientflag, path resolution, JSON + TOML writerscrates/gather-step-cli/src/commands/init.rs— passclientthrough auto-setupcrates/gather-step-cli/tests/cli_setup_mcp.rs— JSON + Codex TOML coverageCargo.toml/crates/*/Cargo.toml/Cargo.lock—toml_editdep, compatible bumps, version 4.2.0website/— astro 6.4.2, version 4.2.0, changelog entry, landing-page stamps, MCP-clients doc fixTest Plan
cargo test -p gather-step --test cli_setup_mcp— 8 pass (JSON + TOML writers, merge-preservation, malformed-input)cargo build --workspaceclean;cargo clippy -p gather-step --testsclean--scope localwrites.mcp.json;--client codexwrites a clean[mcp_servers.gather-step]blockFollow-ups
release-notes/is legacy (stops at v3.1.0); canonical changelog iswebsite/.../changelog.md. Consider removing the stale dir.v4.2.0will triggerrelease.yml.