SuperAPI AI 工具集

mcp-nixos

MCP-NixOS 是一个为 NixOS 生态提供实时、准确信息的 Model Context Protocol(MCP)服务器,可让 AI 助手直接查询 NixOS 包、系统选项、Home Manager、nix-darwin、Nixvim、NVF、FlakeHub、Noogle、NixOS Wiki、nix.dev 以及包版本历史等资源。该工具无需安装 Nix/NixOS,可在 Windows、macOS 和 Linux 上运行,仅通过查询 API 获取数据。它提供统一的 nix 查询工具和 nix_versions 包版本历史工具,共两个工具,总 token 占用约 1,030,旨在减少 AI 对包名和配置的幻觉。支持通过 uvx、Docker、HTTP、Pi Coding Agent 等多种方式运行,并可以声明式方式安装到 NixOS、Home Manager 或 nix-darwin 中。

访问官网

工具介绍

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。

  1. nix:统一查询工具。其中 version 和 system 参数仅用于 action="cache"。NVF 结果使用规范的 vim.* 选项路径。查询也可以使用简写 programs.nvf.vim.* 或 NixOS/Home Manager 模块路径 programs.nvf.settings.vim.*,两者会被自动规范化。
  2. 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 输入。
  • 具体安装命令和配置细节未在资料中完整提供。
  • 其他未提及的功能、收费、价格或效果暂未提供。