mcpField
M
Mcp Nix Ecosystem (nixos, Nix, Home Manager,... )

Mcp Nix Ecosystem (nixos, Nix, Home Manager,... )

本地服务
github.com/felixdorn开发工具742 周前更新

关于 Mcp Nix Ecosystem (nixos, Nix, Home Manager,... )

Mcp Nix Ecosystem 是用于搜索 Nix 软件包、配置选项和标准库函数的 MCP 服务,也可查看派生定义、选项声明及 nixpkgs 版本信息。

主要功能

  1. 01搜索 Nixpkgs 软件包并查看派生定义
  2. 02搜索 Nix 生态项目的选项
  3. 03查看选项详情与声明
  4. 04查找软件包版本及对应的 nixpkgs 提交
  5. 05搜索 Nix 标准库函数

适用场景

  1. 01查找 Nixpkgs 软件包并检查其派生定义
  2. 02查询 NixOS 或 Home Manager 配置选项
  3. 03查看选项声明或标准库函数说明
  4. 04定位包含指定软件包版本的 nixpkgs 提交

MCP 相关

它向 MCP 客户端提供软件包、选项、版本和标准库搜索工具。可通过 --exclude 参数禁用指定工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nix": {
"command": "uvx",
"args": [
"mcp-nix"
]
}
}
}
启动命令uvx mcp-nix

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-nix

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

一个完整的 Nix MCP 服务*

测试

功能

  • 搜索 Nixpkgs 并读取软件包派生定义
  • 广泛覆盖各类选项
    • NixOS
    • Home Manager
    • Nix Darwin
    • Nixvim
    • Impermanence
    • MicroVM.nix
    • nix-nomad
    • simple-nixos-mailserver
    • sops-nix
    • nixos-hardware
    • disko
  • 搜索 Nix 标准库并读取函数定义
  • 查找包含某个软件包的 nixpkgs 版本

安装

使用以下配置将 MCP 服务添加到客户端:

使用 uvx:

{
  "mcpServers": {
    "nix": {
      "command": "uvx",
      "args": ["mcp-nix"]
    }
  }
}

添加到 Cursor

使用 nix run:

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

添加到 Cursor

声明式配置:

添加 flake 输入:

{
  inputs.mcp-nix.url = "github:felixdorn/mcp-nix";
}

然后引用该软件包:

{
  command = "${inputs.mcp-nix.packages.${system}.default}/bin/mcp-nix";
}
工具
工具描述
search_nixpkgs搜索 Nixpkgs 软件包
read_derivation读取软件包源代码
search_options搜索多个项目的选项
list_versions列出项目的可用版本
show_option_details获取选项详情或列出子项
read_option_declaration读取选项源代码
find_nixpkgs_commit_with_package_version获取对应版本的 nixpkgs 提交;如果未找到,则显示可用版本(NixHub)
search_nix_stdlib搜索 Nix 标准库函数(Noogle)
help_for_stdlib_function获取标准库函数的帮助信息(Noogle)
排除工具

使用 --exclude 禁用特定工具:

{
  "mcpServers": {
    "nix": {
      "command": "uvx",
      "args": ["mcp-nix", "--exclude=read_derivation,read_option_declaration"]
    }
  }
}
贡献

请阅读 CONTRIBUTING.md

致谢

感谢 NixOS Search Team、ExtraNix、NüschtOS、nix-nomad、NixHub 和 Noogle 维护此服务所使用的后端和流水线,也感谢 Nix 社区让这一切成为可能。

许可证

GPLv3:许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。