MCP NixOS-因为你的AI不应该混淆包名
     
快速开始
🚨 无需Nix/NixOS! 适用于任何系统-Windows、macOS、Linux。你只是在查询API。
选项1:uvx(推荐)

{
"mcpServers": {
"nixos": {
"command": "uvx",
"args": ["mcp-nixos"]
}
}
}选项2:Nix

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

{
"mcpServers": {
"nixos": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/utensils/mcp-nixos"]
}
}
}你的AI现在可以访问真实的NixOS数据,而不是编造。不客气
选项4:HTTP(远程MCP)
FastMCP支持在URL上通过HTTP运行此服务器(MCP端点默认为 /mcp).
# Run an HTTP MCP server at http://127.0.0.1:8000/mcp
MCP_NIXOS_TRANSPORT=http MCP_NIXOS_HOST=127.0.0.1 MCP_NIXOS_PORT=8000 mcp-nixosSTDIO(默认):
MCP_NIXOS_TRANSPORT=stdio mcp-nixos自定义路径:
MCP_NIXOS_TRANSPORT=http MCP_NIXOS_PATH=/api/mcp mcp-nixos无状态HTTP(禁用每个客户端会话状态):
MCP_NIXOS_TRANSPORT=http MCP_NIXOS_STATELESS_HTTP=1 mcp-nixos选项5:Pi编码代理
π 不会说MCP母语。支持两条路径:
A.pi mcp适配器(推荐使用mcp,单一真实来源):
pi install npm:pi-mcp-adapter然后添加到 ~/.pi/agent/mcp.json:
{
"mcpServers": {
"nixos": {
"command": "uvx",
"args": ["mcp-nixos"],
"lifecycle": "lazy"
}
}
}B.项目本地扩展(克隆+运行): 此回购发货 .pi/extensions/mcp-nixos.ts,运行时自动加载 pi 在克隆仓库中。可选: cd .pi && npm install 用于编辑器类型解析。Pi以任何一种方式运行它。
这是什么?
MCP服务器提供有关以下内容的准确、实时信息:
- NixOS软件包 -实际存在的130K多个包
- NixOS选项 -23K多种配置系统的方法
- 家庭经理 -为点文件爱好者提供5K+选项
- 尼克松达尔文 -苹果没有记录1K+macOS设置
- 尼希米 -Neovim配置的5K+选项 NuschtOS搜索
- FlakeHub -600+片来自 FlakeHub.com 注册表
- 诺格尔 -2K+Nix函数具有类型签名,通过 noogle.dev
- NixOS 维基 -社区文档和指南 wiki.nixos.org
- nix.dev -Nix官方教程和指南 nix.dev
- 软件包版本 -通过提交哈希的历史版本 NixHub.io
- 二进制缓存状态 -检查cache.nixos.org上是否缓存了下载大小的包
- 本地薄片输入 -直接从Nix商店探索您的固定薄片依赖关系(需要Nix)
工具
只有两个。我们将17个工具合并为2个,因为你的AI的上下文窗口不是无限的。
总共约1030个代币。 就是这样。当其他MCP服务器像黑色星期五一样占据你的上下文时,我们正在角落里喝着极简主义的茶。你的AI在没有臃肿的情况下获得了NixOS的超能力。
nix -统一查询工具
一个工具来统治他们:
nix(action, query, source, type, channel, limit)| 行动 | 它的作用 |
|---|---|
search | 搜索包、选项、程序或薄片 |
info | 获取有关套餐或选项的详细信息 |
stats | 获取计数和类别 |
options | 按前缀浏览Home Manager/Darwin选项 |
channels | 列出可用的NixOS频道 |
flake-inputs | 探索Nix商店的本地薄片输入 |
cache | 检查包的二进制缓存状态 |
| 来源 | 查询内容 |
|---|---|
nixos | 包、选项、程序 |
home-manager | Home Manager选项 |
darwin | 尼克松达尔文期权 |
flakes | 社区薄片(search.nixos.org) |
flakehub | FlakeHub注册表(FlakeHub.com) |
nixvim | Nixvim Neovim配置选项 |
noogle | Nix函数签名和文档(noogle.dev) |
wiki | NixOS维基文章(Wiki.NixOS.org) |
nix-dev | Nix官方文档(Nix.dev) |
nixhub | 包元数据和存储路径(nixhub.io) |
示例:
# Search NixOS packages
nix(action="search", query="firefox", source="nixos", type="packages")
# Get package info
nix(action="info", query="firefox", source="nixos", type="package")
# Search Home Manager options
nix(action="search", query="git", source="home-manager")
# Browse darwin options
nix(action="options", source="darwin", query="system.defaults")
# Search Nixvim options
nix(action="search", query="telescope", source="nixvim")
# Get Nixvim option info
nix(action="info", query="plugins.telescope.enable", source="nixvim")
# Search FlakeHub
nix(action="search", query="nixpkgs", source="flakehub")
# Get FlakeHub flake info
nix(action="info", query="NixOS/nixpkgs", source="flakehub")
# Search Noogle for Nix functions
nix(action="search", query="mapAttrs", source="noogle")
# Get Noogle function info
nix(action="info", query="lib.attrsets.mapAttrs", source="noogle")
# Browse Noogle function categories
nix(action="options", source="noogle", query="lib.strings")
# Search NixOS Wiki
nix(action="search", query="nvidia", source="wiki")
# Get Wiki page info
nix(action="info", query="Flakes", source="wiki")
# Search nix.dev documentation
nix(action="search", query="packaging tutorial", source="nix-dev")
# Search NixHub for package metadata
nix(action="search", query="nodejs", source="nixhub")
# Get detailed package info from NixHub (license, homepage, store paths)
nix(action="info", query="python", source="nixhub")
# Check binary cache status
nix(action="cache", query="hello")
# Check cache for specific version
nix(action="cache", query="python", version="3.12.0")
# Check cache for specific system
nix(action="cache", query="firefox", system="x86_64-linux")
# Get stats
nix(action="stats", source="nixos", channel="stable")
# List local flake inputs (requires Nix)
nix(action="flake-inputs", type="list")
# Browse files in a flake input
nix(action="flake-inputs", type="ls", query="nixpkgs:pkgs/by-name")
# Read a file from a flake input
nix(action="flake-inputs", type="read", query="nixpkgs:flake.nix")nix_versions -包版本历史记录
使用nixpkgs提交哈希查找历史版本。输出包括:
- 包元数据(许可证、主页、程序)可用时
- 每个版本的平台可用性(Linux/macOS)
- Nixpkgs提交哈希以实现可重复构建
- Nix表达式的属性路径
nix_versions(package, version, limit)示例:
# List recent versions with metadata
nix_versions(package="python", limit=5)
# Find specific version
nix_versions(package="nodejs", version="20.0.0")安装
你不需要安装Nix。 这可以在Python运行的任何地方运行。
# Run directly (no install)
uvx mcp-nixos
# Or install
pip install mcp-nixos对于Nix用户:
nix run github:utensils/mcp-nixos
nix profile install github:utensils/mcp-nixos声明式安装(NixOS/Home Manager/nix darwin)
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 ];或者直接将薄片与提供的覆盖层一起使用:
# flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
mcp-nixos.url = "github:utensils/mcp-nixos";
};
outputs = { self, nixpkgs, mcp-nixos, ... }: {
# Example: NixOS configuration
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [{
nixpkgs.overlays = [ mcp-nixos.overlays.default ];
environment.systemPackages = [ pkgs.mcp-nixos ];
}];
};
# Example: Home Manager standalone
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 # Enter dev shell
nix build # Build package
pytest tests/ # Run tests
ruff check . # Lint
ruff format . # Format
mypy mcp_nixos/ # Type check致谢
- NixHub.io -软件包版本历史记录
- search.nixos.org -NixOS官方搜索
- FlakeHub -基于行列式系统的缺陷登记
- Jetify -Devbox和NixHub的创造者
- 诺格尔 -Nix函数搜索引擎
- NuschtOS -支持Nixvim的静态选项搜索基础架构
- 尼希米 -Nix的Neovim配置框架
许可证
麻省理工学院-因为分享就是关怀。
______________________________________________________________________
*由詹姆斯·布林克创建。由喜欢Nix的大众R o R; c Rs Rh Ri Rt Rn爱好者维护。*
