About mcp-servers-nix
mcp-servers-nix is a Nix-based framework for configuring MCP servers, with ready-to-use server packages. It generates client configuration files and suits users who want declarative, reproducible MCP deployments.
Key features
- 01Modular combination of multiple server configurations
- 02Reproducible, declarative builds with Nix
- 03Pre-configured modules for many servers
- 04Credential handling via envFile and passwordCommand
- 05Integration with Flakes, devenv and Home Manager
Use cases
- 01Running a single MCP server directly with nix run
- 02Generating config files for Claude Desktop, VS Code or Codex CLI
- 03Managing MCP servers declaratively with Home Manager
MCP support
The project packages MCP servers and generates their configuration for several MCP client formats, including claude, claude-code, vscode, codex, opencode and zed.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-servers-nix
A Nix-based configuration framework for Model Control Protocol (MCP) servers with ready-to-use packages.
Overview
This repository provides both MCP server packages and a Nix framework for configuring and deploying MCP servers. It offers a modular approach to configuring various MCP servers with a consistent interface.
Features
- Modular Configuration: Define and combine multiple MCP server configurations
- Reproducible Builds: Leverage Nix for reproducible and declarative server setups
- Pre-configured Modules: Ready-to-use configurations for popular MCP server types
- Security-focused: Better handling credentials and sensitive information through
envFileandpasswordCommand, with pinned server versions - Framework Support: Integrates with Flakes, flake-parts, devenv, and Home Manager
Quick Start
Run an MCP server directly:
nix run github:natsukium/mcp-servers-nix#mcp-server-fetch
Generate a configuration file with mkConfig:
# config.nix
let
pkgs = import <nixpkgs> { };
mcp-servers-nix = import (fetchTarball
"https://github.com/natsukium/mcp-servers-nix/archive/main.tar.gz") { inherit pkgs; };
in
mcp-servers-nix.lib.mkConfig pkgs {
programs.filesystem = {
enable = true;
args = [ "/path/to/allowed/directory" ];
};
}
nix-build config.nix && cat result
{
"mcpServers": {
"filesystem": {
"command": "/nix/store/7b4ancp3cns9lkkybd090qzr0hah5qq0-mcp-server-filesystem-2025.12.18/bin/mcp-server-filesystem",
"args": [ "/path/to/allowed/directory" ]
}
}
}
The output format adapts to the flavor option — see Supported Flavors below.
Supported Flavors
| Flavor | Key | Typical File | Client |
|---|---|---|---|
claude | mcpServers | claude_desktop_config.json | Claude Desktop |
claude-code | mcpServers | .mcp.json | Claude Code |
vscode | mcp.servers | settings.json | VS Code |
vscode-workspace | servers | .vscode/mcp.json | VS Code (workspace) |
codex | mcp_servers | .mcp.toml | Codex CLI |
opencode | mcp | opencode.json | OpenCode |
zed | context_servers | (varies) | Zed |
Available Modules
- clickup
- codex
- context7
- deepl
- esa
- everything
- fetch
- filesystem
- freee
- git
- github
- grafana
- home-assistant
- mastra
- memory
- netdata
- nixos
- notion
- playwright
- sequential-thinking
- serena
- slite
- tavily
- terraform
- textlint
- time
Examples
Check the examples directory for complete configuration examples:
claude-desktop.nix: Basic configuration for Claude Desktopvscode.nix: VS Code integration setuplibrechat.nix: Configuration for LibreChat integrationcodex.nix: Codex CLI integration with MCP serversopencode.nix: OpenCode CLI integration with MCP serversvscode-workspace: VS Code workspace configuration exampleflake-parts-module: Flake-parts module integration with multi-flavor supportdevenv: devenv integration usingclaude.code.mcpServershome-manager: Home Manager integration withprograms.mcp.servers
Real World Examples
Check out GitHub search results for examples of how others are using mcp-servers-nix in their projects.
Documentation
- Module Usage Guide — How to configure MCP servers with Nix (classic, npins, flakes, flake-parts)
- Configuration Reference — Security, credential handling, and flake-parts options
- Module Options Reference — Auto-generated list of all module options
- Packages Guide — Using standalone MCP server packages
- Contributing Guide — Adding new packages and modules
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.