Skip to content

feat(profiles): add mcp pivot support via profile mcp key#42

Merged
soulcodex merged 1 commit intomainfrom
feat/mcp-profile-pivot
Apr 14, 2026
Merged

feat(profiles): add mcp pivot support via profile mcp key#42
soulcodex merged 1 commit intomainfrom
feat/mcp-profile-pivot

Conversation

@soulcodex
Copy link
Copy Markdown
Owner

Summary

Closes #39

  • schemas/profile.schema.json — adds optional top-level mcp property (strategy: merge/replace + servers map) so profiles can declare MCP servers declaratively
  • tooling/lib/mcp.sh — new --action seed (non-interactive) that reads mcp.servers from the profile and fans out to all present vendor config files with per-vendor translation:
    • .mcp.json (Claude): written verbatim
    • opencode.json: type stdio→local/http→remote, envenvironment, command+args→combined array
    • .gemini/settings.json: type field removed, urlhttpUrl for http entries
  • tooling/lib/compose.sh — guarded seed call at end of compose (pure no-op when mcp key is absent — zero side effects on existing workflows)
  • tooling/lib/test.sh — 7 new assertions T67–T73 covering .mcp.json creation, Opencode/Gemini translations, merge/replace strategies, and the no-op guard
  • docs/mcp.md — new dedicated MCP reference page (vendor support matrix, per-vendor translation table, merge vs replace, env var convention, interactive wizard cross-link)
  • docs/commands.md, docs/customization.md, docs/profiles.md, README.md — cross-links to docs/mcp.md

Test plan

  • just lint — passes ✔
  • just test — 229/229 pass ✔
  • just index — rebuilt ✔

@soulcodex soulcodex merged commit 2c3c7af into main Apr 14, 2026
5 checks passed
@soulcodex soulcodex deleted the feat/mcp-profile-pivot branch April 14, 2026 21:41
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.

feat(profiles): MCP as a pivotable piece via profile mcp key

1 participant