Repository navigation
feat(clients): add Witsy MCP client support - #366
Conversation
Witsy keeps MCP servers in a top-level mcpServers object inside its main
settings.json (Claude-compatible {command, args, env} shape), alongside
all other app settings. Add a path resolver and ClientDef using the
existing JsonMcpServers format, plus a registration test and a
cross-platform path-stability case.
Confirmed against Witsy's own source (src/main/mcp.ts reads/writes
config.mcpServers directly) and the project's file-location wiki page.
Closes btsouth#296
Signed-off-by: Amit Vijapur <[email protected]>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughWitsy is added as a supported MCP JSON client. The change resolves its platform-specific ChangesWitsy MCP support
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks for this, and nice work digging up the config paths from Witsy's own source instead of guessing. That's exactly the kind of verification that makes these easy to merge. One heads-up: I pushed a small commit to your branch adding Witsy to the supported-clients table in the README and bumping the count, since every other client is listed there. Left it authored under your name. Nothing needed from you. Approving once CI finishes. Appreciate the contribution. |
What and why
Adds support for Witsy MCP configuration detection and management.
Changes made:
<userData>/settings.json(
~/Library/Application Support/Witsyon macOS,%APPDATA%\WitsyonWindows,
~/.config/Witsyon Linux)Format::JsonMcpServerswitsyin thenew_json_clients_are_registeredfixture testwitsycase toclient_config_paths_are_stable_across_platformsverifying the resolved path on all three platforms
Closes #296
Config path sources
src/main/mcp.tsreads/writesconfig.mcpServers(a top-level
Record<string, {command, args, env, cwd, headers}>)directly, confirming this is the live MCP server list, not just an
import/export buffer.
src/main/config.tsresolvessettingsFilePathto
<userData>/settings.json.(https://github.com/nbonamy/witsy/wiki/Witsy-Files-Location): confirms
~/Library/Application Support/Witsy/settings.json(macOS),%APPDATA%\Witsy\settings.json(Windows),~/.config/Witsy/settings.json(Linux).package.jsonproductName is "Witsy", confirming the userData foldername Electron resolves to on every OS.
Testing
cargo test --manifest-path src-tauri/Cargo.toml clients— 79 passednew_json_clients_are_registered/client_config_paths_are_stable_across_platformspass, exercising Witsy specificallycargo fmt -- --check— no new diffs vs.maincargo clippy --lib --no-default-features— 0 warnings inclients.rsnpm run tauri dev) by hand — not done; local diskspace couldn't sustain a full desktop/Tauri build in my environment
Notes
JsonMcpServersformat and shared JSON writers —no changes to write/edit logic.