🚨 无需Nix/NixOS! 适用于任何系统 - Windows、macOS、Linux。您只需查询API。
{
"mcpServers": {
"nixos": {
"command": "uvx",
"args": ["mcp-nixos"]
}
}
}

{
"mcpServers": {
"nixos": {
"command": "nix",
"args": ["run", "github:utensils/mcp-nixos", "--"]
}
}
}

{
"mcpServers": {
"nixos": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/utensils/mcp-nixos"]
}
}
}

现在您的AI可以访问真实的NixOS数据,而不是凭空想象。不用谢。
一个提供准确、实时信息的MCP服务器:
只有两个。我们将17个工具整合为2个,因为您AI的上下文窗口不是无限的。
**总共约1,030个token。**仅此而已。当其他MCP服务器像黑色星期五一样占用您的上下文时,我们正在角落里啜饮极简主义茶饮。您的AI获得NixOS超能力而无需臃肿。
nix - 统一查询工具一个统治所有查询的工具:
nix(action, query, source, type, channel, limit)
| 操作 | 功能 |
|---|---|
search |
搜索包、选项、程序或flake |
info |
获取包或选项的详细信息 |
stats |
获取计数和类别 |
options |
按前缀浏览Home Manager/Darwin选项 |
channels |
列出可用的NixOS通道 |
flake-inputs |
从Nix存储中探索本地flake输入 |
cache |
检查包的二进制缓存状态 |
| 来源 | 查询内容 |
|---|---|
nixos |
包、选项、程序 |
home-manager |
Home Manager选项 |
darwin |
nix-darwin选项 |
flakes |
社区flake(search.nixos.org) |
flakehub |
FlakeHub注册表(flakehub.com) |
nixvim |
Nixvim Neovim配置选项 |
noogle |
Nix函数签名和文档(noogle.dev) |
wiki |
NixOS Wiki文章(wiki.nixos.org) |
nix-dev |
官方Nix文档(nix.dev) |
nixhub |
包元数据和存储路径(nixhub.io) |
示例:
# 搜索NixOS包
nix(action="search", query="firefox", source="nixos", type="packages")
# 获取包信息
nix(action="info", query="firefox", source="nixos", type="package")
# 搜索Home Manager选项
nix(action="search", query="git", source="home-manager")
# 浏览darwin选项
nix(action="options", source="darwin", query="system.defaults")
# 搜索Nixvim选项
nix(action="search", query="telescope", source="nixvim")
# 获取Nixvim选项信息
nix(action="info", query="plugins.telescope.enable", source="nixvim")
# 搜索FlakeHub
nix(action="search", query="nixpkgs", source="flakehub")
# 获取FlakeHub flake信息
nix(action="info", query="NixOS/nixpkgs", source="flakehub")
# 在Noogle中搜索Nix函数
nix(action="search", query="mapAttrs", source="noogle")
# 获取Noogle函数信息
nix(action="info", query="lib.attrsets.mapAttrs", source="noogle")
# 浏览Noogle函数类别
nix(action="options", source="noogle", query="lib.strings")
# 搜索NixOS Wiki
nix(action="search", query="nvidia", source="wiki")
# 获取Wiki页面信息
nix(action="info", query="Flakes", source="wiki")
# 搜索nix.dev文档
nix(action="search", query="打包教程", source="nix-dev")
# 在NixHub中搜索包元数据
nix(action="search", query="nodejs", source="nixhub")
# 从NixHub获取详细的包信息(许可证、主页、存储路径)
nix(action="info", query="python", source="nixhub")
# 检查二进制缓存状态
nix(action="cache", query="hello")
# 检查特定版本的缓存
nix(action="cache", query="python", version="3.12.0")
# 检查特定系统的缓存
nix(action="cache", query="firefox", system="x86_64-linux")
# 获取统计信息
nix(action="stats", source="nixos", channel="stable")
# 列出本地flake输入(需要Nix)
nix(action="flake-inputs", type="list")
# 浏览flake输入中的文件
nix(action="flake-inputs", type="ls", query="nixpkgs:pkgs/by-name")
# 读取flake输入中的文件
nix(action="flake-inputs", type="read", query="nixpkgs:flake.nix")

nix_versions - 包版本历史查找带nixpkgs提交哈希的历史版本。输出包括:
nix_versions(package, version, limit)
示例:
# 列出带元数据的近期版本
nix_versions(package="python", limit=5)
# 查找特定版本
nix_versions(package="nodejs", version="20.0.0")

您不需要安装Nix。 这可以在任何运行Python的地方运行。
# 直接运行(无需安装)
uvx mcp-nixos
# 或安装
pip install mcp-nixos

对于Nix用户:
nix run github:utensils/mcp-nixos nix profile install github:utensils/mcp-nixos
mcp-nixos可在nixpkgs中使用:
# NixOS (configuration.nix)
environment.systemPackages = [ pkgs.mcp-nixos ];
# Home Manager (home.nix)
home.packages = [ pkgs.mcp-nixos ];
# nix-darwin (darwin-configuration.nix)
environment.systemPackages = [ pkgs.mcp-nixos ];

或者直接使用提供的overlay的flake:
# flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
mcp-nixos.url = "github:utensils/mcp-nixos";
};
outputs = { self, nixpkgs, mcp-nixos, ... }: {
# 示例:NixOS配置
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [{
nixpkgs.overlays = [ mcp-nixos.overlays.default ];
environment.systemPackages = [ pkgs.mcp-nixos ];
}];
};
# 示例:独立Home Manager
homeConfigurations.myuser = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [ mcp-nixos.overlays.default ];
};
modules = [{
home.packages = [ pkgs.mcp-nixos ];
}];
};
};
}

nix develop # 进入开发shell
nix build # 构建包
pytest tests/ # 运行测试
ruff check . # 代码检查
ruff format . # 格式化
mypy mcp_nixos/ # 类型检查

MIT - 因为分享就是关爱。
由 James Brink 创建。现由一群热爱 Nix 的 mass̶o̶c̶h̶i̶s̶t̶s̶ 狂热爱好者维护。
(注:原文中"mass̶o̶c̶h̶i̶s̶t̶s̶"为带删除线的自嘲式幽默表达,直译为"受虐狂",此处保留原文特殊格式并采用意译处理,以传达维护者们对Nix系统复杂性的调侃态度)