Skip to content

feat: setup-mcp config targets + codex client (4.2.0)#40

Merged
thedoublejay merged 1 commit into
mainfrom
chore/v4.2.0
May 29, 2026
Merged

feat: setup-mcp config targets + codex client (4.2.0)#40
thedoublejay merged 1 commit into
mainfrom
chore/v4.2.0

Conversation

@thedoublejay
Copy link
Copy Markdown
Owner

Summary

Fixes setup-mcp so it writes MCP server config to the files clients actually read, adds Codex support, refreshes dependencies, and cuts 4.2.0. Net diff vs main represents the full 4.2.0 release (rolls up the unreleased 4.1.1 version-prep commit).

Root Cause / Context

setup-mcp wrote the gather-step block to .claude/settings.json under mcpServers. Claude Code does not read server definitions from settings.json (only toggles like enableAllProjectMcpServers), so the registered server never appeared in the client — it was silently ignored. The serve vs mcp serve args were never the problem (both route to the same dispatch); the target file was.

Key Decisions

  • Per-client targets that match each client's real config model:
    • Claude --scope local → project-scoped .mcp.json
    • Claude --scope global → user-scoped ~/.claude.json
    • New --client codex~/.codex/config.toml (scope ignored; Codex has one global config). Default client stays claude.
  • toml_edit for Codex so merges preserve existing servers, other keys, and comments, and render the idiomatic [mcp_servers.gather-step] section rather than an inline table.
  • Dependency bumps are SemVer-compatible only (no majors); intentionally exact-pinned crates left untouched; gix major skipped.

Files Changed

  • crates/gather-step-cli/src/commands/setup_mcp.rs--client flag, path resolution, JSON + TOML writers
  • crates/gather-step-cli/src/commands/init.rs — pass client through auto-setup
  • crates/gather-step-cli/tests/cli_setup_mcp.rs — JSON + Codex TOML coverage
  • Cargo.toml / crates/*/Cargo.toml / Cargo.locktoml_edit dep, compatible bumps, version 4.2.0
  • website/ — astro 6.4.2, version 4.2.0, changelog entry, landing-page stamps, MCP-clients doc fix

Test Plan

  • cargo test -p gather-step --test cli_setup_mcp — 8 pass (JSON + TOML writers, merge-preservation, malformed-input)
  • cargo build --workspace clean; cargo clippy -p gather-step --tests clean
  • Functional smoke test: --scope local writes .mcp.json; --client codex writes a clean [mcp_servers.gather-step] block
  • Full CI suite

Follow-ups

  • release-notes/ is legacy (stops at v3.1.0); canonical changelog is website/.../changelog.md. Consider removing the stale dir.
  • 4.0.6 / 4.1.1 were never tagged; this PR rolls them into 4.2.0. No tag is pushed here — tagging v4.2.0 will trigger release.yml.

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.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 29, 2026

Deploying gather-step with  Cloudflare Pages  Cloudflare Pages

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

View logs

@thedoublejay thedoublejay merged commit 2eacb18 into main May 29, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant