mcp-nix
Health Uyari
- License — License: GPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
A tasteful MCP for the Nix* ecosystem (Nixpkgs, NixOS, Home Manager, nixvim, noogle...)
A complete MCP server for Nix*
Features
- Search Nixpkgs and read package derivations
- Broad options coverage
- NixOS
- Home Manager
- Nix Darwin
- Nixvim
- Impermanence
- MicroVM.nix
- nix-nomad
- simple-nixos-mailserver
- sops-nix
- nixos-hardware
- disko
- Search the nix standard library and read function definitions
- Find versions of nixpkgs in which a package exists
Installation
Use the following configuration to add the MCP server to your client:
Using uvx:
{
"mcpServers": {
"nix": {
"command": "uvx",
"args": ["mcp-nix"]
}
}
}
Using nix run:
{
"mcpServers": {
"nix": {
"command": "nix",
"args": ["run", "github:felixdorn/mcp-nix"]
}
}
}
Declaratively:
Add the flake input:
{
inputs.mcp-nix.url = "github:felixdorn/mcp-nix";
}
Then reference the package:
{
command = "${inputs.mcp-nix.packages.${system}.default}/bin/mcp-nix";
}
Tools
| Tool | Description |
|---|---|
search_nixpkgs |
Search Nixpkgs packages |
read_derivation |
Read package source code |
search_options |
Search options for many projects |
list_versions |
List available versions for a project |
show_option_details |
Get option details or list children |
read_option_declaration |
Read option source code |
find_nixpkgs_commit_with_package_version |
Get nixpkgs commit for a version, shows available versions if not found (NixHub) |
search_nix_stdlib |
Search Nix stdlib functions (Noogle) |
help_for_stdlib_function |
Get help for a stdlib function (Noogle) |
Result contracts
Tools return readable text and typed structuredContent. Searches include records,total, returned, and the effective version. Tool failures set isError=true.
All tools advertise read-only, non-destructive behavior while querying external services.
Use limit (1–100) to bound searches. show_option_details returns up to 50 children
by default; pass its next_offset as offset to continue. Source readers accept
one-based start_line and limit (200 lines by default, maximum 1,000); follownext_start_line to continue reading. list_versions returns canonical version IDs.
Excluding Tools
Use --exclude to disable specific tools:
{
"mcpServers": {
"nix": {
"command": "uvx",
"args": ["mcp-nix", "--exclude=read_derivation,read_option_declaration"]
}
}
}
Contributing
Read CONTRIBUTING.md
Acknowledgments
Thanks to the NixOS Search Team, ExtraNix, NüschtOS, nix-nomad, NixHub, Noogle for maintaining the backends and pipeline this server uses and for the Nix community for making any of this possible.
License
GPLv3: License
<!-- mcp-name: io.github.felixdorn/mcp-nix -->
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi