A curated library of MCP (Model Context Protocol) server presets for Claude Code that integrates with native Claude modules in devenv and Home Manager.
Both devenv and home-manager now have native support for Claude Code configuration:
- home-manager:
programs.claude-code - devenv:
claude.code
This project provides reusable MCP server configurations (presets) that work with these native modules, allowing you to easily enable and configure popular MCP servers without manual JSON configuration.
-
Pre-configured MCP Servers: Built-in presets for popular MCP servers including Asana, GitHub, Buildkite, Git, Filesystem, LSP integrations, and more
-
Secure Credential Management: Support for reading API tokens from files instead of environment variables
-
Native Integration: Works with upstream Claude modules in both devenv and home-manager
-
Two Home Manager Options: Choose between native integration or custom script-based installation
-
Extensible: Add custom MCP servers alongside presets
Add this flake's overlay to your nixpkgs import.
let
pkgs = import nixpkgs {
overlays = [ inputs.mcps.overlays.default ];
};
in
# ...Add to your devenv module configuration:
{
imports = [ inputs.mcps.devenvModules.claude ];
claude.code = {
enable = true;
mcps = {
git.enable = true;
filesystem = {
enable = true;
allowedPaths = [ "/path/to/your/project" ];
};
github = {
enable = true;
tokenFilepath = "/path/to/github-token";
};
};
};
}This project provides two Home Manager modules:
Integrates with home-manager's native Claude Code support. MCP servers are managed through Nix and stored in the Nix store:
{
imports = [ inputs.mcps.homeManagerModules.claude ];
programs.claude-code = {
enable = true;
mcps = {
git.enable = true;
filesystem = {
enable = true;
allowedPaths = [ "${config.home.homeDirectory}/Projects" ];
};
asana = {
enable = true;
tokenFilepath = "/var/run/agenix/asana.token";
};
};
};
}Uses the Claude CLI to manage MCP servers in ~/.claude.json. This approach is useful if you:
- Want your MCP server configurations to persist in
~/.claude.json - Need to manually manage or edit MCP servers outside of Nix
- Prefer keeping custom MCP configurations in your home directory
{
imports = [ inputs.mcps.homeManagerModules.claude-install ];
programs.claude-code = {
enable = true;
mcps = {
git.enable = true;
buildkite = {
enable = true;
apiKeyFilepath = "/path/to/buildkite-token";
};
};
};
}| Preset | Description | Source |
|---|---|---|
| asana | Asana task management integration with API token support | roychri/mcp-server-asana |
| ast-grep | Structural code search and transformation using ast-grep patterns | ast-grep/ast-grep-mcp |
| buildkite | Buildkite CI/CD pipeline integration and monitoring | buildkite/buildkite-mcp-server |
| fetch | Web content fetching with proxy support and custom user agents | modelcontextprotocol/servers |
| filesystem | Local filesystem access with configurable path restrictions | modelcontextprotocol/servers |
| git | Git repository operations and version control | modelcontextprotocol/servers |
| github | GitHub API integration with configurable toolsets (repos, issues, users, pull_requests, code_security) | github/github-mcp-server |
| grafana | Grafana monitoring, alerting, and dashboard management with multiple toolsets | grafana/mcp-grafana |
| lsp-golang | Language Server Protocol integration for Go development with configurable workspace | isaacphi/mcp-language-server |
| lsp-nix | Language Server Protocol integration for Nix development with configurable workspace | isaacphi/mcp-language-server |
| lsp-python | Language Server Protocol integration for Python development with configurable workspace | isaacphi/mcp-language-server |
| lsp-rust | Language Server Protocol integration for Rust development with configurable workspace | isaacphi/mcp-language-server |
| lsp-typescript | Language Server Protocol integration for TypeScript development with configurable workspace | isaacphi/mcp-language-server |
| nixos | NixOS and Home Manager configuration search, options lookup, and package discovery | utensils/mcp-nixos |
| obsidian | Obsidian vault integration for notes and knowledge management | MarkusPfundstein/mcp-obsidian |
| sequential-thinking | Enhanced reasoning and knowledge graph capabilities | modelcontextprotocol/servers |
| time | Time and timezone utilities with configurable local timezone | modelcontextprotocol/servers |
The project now provides focused modules that integrate with native Claude Code support:
devenvModules.claude: Addsclaude.code.mcpsconfiguration to devenv's nativeclaude.codemodulehomeManagerModules.claude: Addsprograms.claude-code.mcpsconfiguration to home-manager's native Claude modulehomeManagerModules.claude-install: Alternative home-manager module that uses Claude CLI to manage~/.claude.json
All modules provide access to the same preset MCP server configurations, allowing you to easily enable popular MCP servers with simple boolean flags.
- Credential File Support: All MCP servers support reading credentials from files instead of environment variables
- Path Restrictions: Filesystem access is restricted to explicitly allowed paths
- No Credential Exposure: API tokens and keys are never exposed in the Nix store
See CONTRIBUTE.md for development setup, testing, and contribution guidelines.
This project is licensed under the MIT License.