MCP-NixOS 是一个 Model Context Protocol(MCP)服务器,用于向 AI 助手提供关于 NixOS 资源的准确、实时信息。它的目标是让 AI 不再编造包名,而是基于真实数据回答。该服务器不需要安装 Nix/NixOS,可在 Windows、macOS 和 Linux 上运行,因为它只是查询 API。
主要能力
- NixOS 包:覆盖 130K+ 个真实存在的包。
- NixOS 选项:23K+ 种配置系统的方式。
- Home Manager:5K+ 个选项,适合管理 dotfiles 的用户。
- nix-darwin:1K+ 个 macOS 设置,这些设置 Apple 并未提供文档。
- Nixvim:5K+ 个 Neovim 配置选项,通过 NuschtOS 搜索提供。
- NVF:2.4K+ 个 Neovim 选项,来自其发布的不稳定文档。
- FlakeHub:600+ 个来自 FlakeHub.com 注册表的 flake。
- Noogle:2K+ 个带类型签名的 Nix 函数,来自 noogle.dev。
- NixOS Wiki:来自 wiki.nixos.org 的社区文档和指南。
- nix.dev:来自 nix.dev 的官方 Nix 教程和指南。
- 包版本:通过 NixHub.io 提供历史版本及 commit 哈希。
- 二进制缓存状态:检查包是否缓存在 cache.nixos.org 上,并显示下载大小。
- 本地 flake 输入:从 Nix store 直接探索固定的 flake 依赖(需要 Nix)。
工具数量 该服务器只提供两个工具,将原本的 17 个工具合并为 2 个,以节省 AI 的上下文窗口。总 token 占用约 1,030。
- nix:统一查询工具。其中 version 和 system 参数仅用于 action="cache"。NVF 结果使用规范的 vim.* 选项路径。查询也可以使用简写 programs.nvf.vim.* 或 NixOS/Home Manager 模块路径 programs.nvf.settings.vim.*,两者会被自动规范化。
- nix_versions:包版本历史工具。用于查找带 nixpkgs commit 哈希的历史版本。输出包括:包元数据(许可证、主页、程序等,如果可用)、每个版本对应的平台可用性(Linux/macOS)、用于可复现构建的 nixpkgs commit 哈希、Nix 表达式的属性路径。
使用方式 不需要安装 Nix。只要 Python 能运行,它就能运行。提供多种安装和运行选项:
- 选项 1:uvx(推荐)。
- 选项 3:Docker。
- 选项 4:HTTP(远程 MCP)。FastMCP 支持通过 URL 以 HTTP 方式运行此服务器(MCP 端点默认为 /mcp)。支持 STDIO(默认)和无状态 HTTP(禁用每客户端会话状态)。
- 选项 5:Pi Coding Agent。Pi 本身不支持 MCP,有两种支持路径: A. pi-mcp-adapter(推荐——支持 MCP,单一事实来源),然后添加到 ~/.pi/agent/mcp.json。 B. 项目本地扩展(克隆并运行):仓库自带 .pi/extensions/mcp-nixos.ts,在克隆的仓库中运行 pi 时会自动加载。可选:cd .pi && npm install 用于编辑器类型解析。Pi 无论如何都会运行它。
声明式安装(NixOS / Home Manager / nix-darwin) mcp-nixos 可在 nixpkgs 中获取。也可以直接使用 flake,通过提供的 overlay。overlays.default 仅添加 pkgs.mcp-nixos。该包自带 FastMCP 4 / MCP SDK 2 栈(见 nix/fastmcp4.nix),包括符合 FastMCP 要求的 starlette 1.0.1 安全下限,因此即使 nixpkgs 渠道仍提供 FastMCP 3,你的 Python 包集合中的其他内容也不会改变。如果你还想在集合范围内升级 pkgs.python3Packages.fastmcp 本身,请额外应用 mcp-nixos.overlays.fastmcp4。
适用场景
- 需要让 AI 助手准确查询 NixOS 包、选项和配置信息时。
- 使用 Home Manager、nix-darwin、Nixvim、NVF 等工具进行配置时。
- 需要查找特定包的历史版本、commit 哈希或二进制缓存状态时。
- 在任何支持 Python 的平台上使用,无需安装 Nix。
限制
- 部分功能需要 Nix,例如探索本地 flake 输入。
- 具体安装命令和配置细节未在资料中完整提供。
- 其他未提及的功能、收费、价格或效果暂未提供。