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.
This PR adds a new mcp module that provides unified configuration management for Model Context
Protocol (MCP) servers. Instead of duplicating server definitions across multiple tools, users can define MCP servers once in
programs.mcp.serversand optionally enable tool-specific integrations.The module currently generates the standard
~/.config/mcp/mcp.jsonconfiguration file and includes anenableOpencodeIntegrationoption that automatically translates the MCP server definitions into OpenCode's configuration format.Future Integrations
The design allows for additional tool integrations to be added following the same pattern:
• enableVscodeIntegration - for Visual Studio Code
• Any other tools that support MCP servers
Each integration would translate
programs.mcp.serversinto the respective tool's configuration format, maintaining a single source of truth for MCP server definitions.Checklist
Change is backwards compatible.
Code formatted with
nix fmtornix-shell -p treefmt nixfmt deadnix keep-sorted --run treefmt.Code tested through
nix run .#tests -- test-allornix-shell --pure tests -A run.all.Test cases updated/added. See example.
Commit messages are formatted like
See CONTRIBUTING for more information and recent commit messages for examples.
If this PR adds a new module
If this PR adds an exciting new feature or contains a breaking change.