关于 Mcp Nix Ecosystem (nixos, Nix, Home Manager,... )
Mcp Nix Ecosystem 是用于搜索 Nix 软件包、配置选项和标准库函数的 MCP 服务,也可查看派生定义、选项声明及 nixpkgs 版本信息。
主要功能
- 01搜索 Nixpkgs 软件包并查看派生定义
- 02搜索 Nix 生态项目的选项
- 03查看选项详情与声明
- 04查找软件包版本及对应的 nixpkgs 提交
- 05搜索 Nix 标准库函数
适用场景
- 01查找 Nixpkgs 软件包并检查其派生定义
- 02查询 NixOS 或 Home Manager 配置选项
- 03查看选项声明或标准库函数说明
- 04定位包含指定软件包版本的 nixpkgs 提交
MCP 相关
它向 MCP 客户端提供软件包、选项、版本和标准库搜索工具。可通过 --exclude 参数禁用指定工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
一个完整的 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"]
}
}
}
使用 nix run:
{
"mcpServers": {
"nix": {
"command": "nix",
"args": ["run", "github:felixdorn/mcp-nix"]
}
}
}
声明式配置:
添加 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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。