MCP-NixOS – Damit Ihre KI keine Paketnamen halluziniert
👁 CI
👁 codecov
👁 PyPI
👁 FlakeHub
👁 Python 3.11+
👁 CodeRabbit Pull Request Reviews
👁 Built with Claude
Schnellstart
🚨 Kein Nix/NixOS erforderlich! Funktioniert auf jedem System – Windows, macOS, Linux. Sie fragen lediglich APIs ab.
Option 1: uvx (Empfohlen)
{
"mcpServers": {
"nixos": {
"command": "uvx",
"args": ["mcp-nixos"]
}
}
}Option 2: Nix
{
"mcpServers": {
"nixos": {
"command": "nix",
"args": ["run", "github:utensils/mcp-nixos", "--"]
}
}
}Option 3: Docker
{
"mcpServers": {
"nixos": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/utensils/mcp-nixos"]
}
}
}Ihre KI hat nun Zugriff auf echte NixOS-Daten, anstatt sich Dinge auszudenken. Gern geschehen.
Option 4: HTTP (Remote MCP)
FastMCP unterstützt den Betrieb dieses Servers über HTTP unter einer URL (der MCP-Endpunkt ist standardmäßig /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 (Standard):
MCP_NIXOS_TRANSPORT=stdio mcp-nixosBenutzerdefinierter Pfad:
MCP_NIXOS_TRANSPORT=http MCP_NIXOS_PATH=/api/mcp mcp-nixosZustandsloses HTTP (deaktiviert den Sitzungsstatus pro Client):
MCP_NIXOS_TRANSPORT=http MCP_NIXOS_STATELESS_HTTP=1 mcp-nixosOption 5: Pi Coding Agent
Pi spricht nicht nativ MCP. Es gibt zwei unterstützte Wege:
A. pi-mcp-adapter (empfohlen — spricht MCP, Single Source of Truth):
pi install npm:pi-mcp-adapterFügen Sie dann Folgendes zu ~/.pi/agent/mcp.json hinzu:
{
"mcpServers": {
"nixos": {
"command": "uvx",
"args": ["mcp-nixos"],
"lifecycle": "lazy"
}
}
}B. Projektlokale Erweiterung (klonen + ausführen): Dieses Repository enthält .pi/extensions/mcp-nixos.ts, das automatisch geladen wird, wenn Sie pi im geklonten Repository ausführen. Optional: cd .pi && npm install für die Editor-Typauflösung. Pi führt es in jedem Fall aus.
Related MCP server: MCP-Context-Provider
Was ist das?
Ein MCP-Server, der genaue Echtzeitinformationen bereitstellt über:
NixOS-Pakete – Über 130.000 Pakete, die tatsächlich existieren
NixOS-Optionen – Über 23.000 Möglichkeiten, Ihr System zu konfigurieren
Home Manager – Über 5.000 Optionen für Dotfile-Enthusiasten
nix-darwin – Über 1.000 macOS-Einstellungen, die Apple nicht dokumentiert
Nixvim – Über 5.000 Optionen für die Neovim-Konfiguration via NuschtOS search
FlakeHub – Über 600 Flakes aus der FlakeHub.com Registry
Noogle – Über 2.000 Nix-Funktionen mit Typsignaturen via noogle.dev
NixOS Wiki – Community-Dokumentation und Anleitungen von wiki.nixos.org
nix.dev – Offizielle Nix-Tutorials und Anleitungen von nix.dev
Paketversionen – Historische Versionen mit Commit-Hashes via NixHub.io
Binary-Cache-Status – Überprüfen Sie, ob Pakete auf cache.nixos.org zwischengespeichert sind, inklusive Downloadgrößen
Lokale Flake-Inputs – Erkunden Sie Ihre fixierten Flake-Abhängigkeiten direkt aus dem Nix-Store (erfordert Nix)
Die Tools
Nur zwei. Wir haben 17 Tools in 2 zusammengefasst, da das Kontextfenster Ihrer KI nicht unendlich ist.
Insgesamt ca. 1.030 Token. Das ist alles. Während andere MCP-Server Ihren Kontext belegen, als wäre es Black Friday, trinken wir minimalistischen Tee in der Ecke. Ihre KI erhält NixOS-Superkräfte ohne den Ballast.
nix – Einheitliches Abfragetool
Ein Tool, sie alle zu beherrschen:
nix(action, query, source, type, channel, limit)Aktion | Was es tut |
| Durchsucht Pakete, Optionen, Programme oder Flakes |
| Ruft detaillierte Informationen zu einem Paket oder einer Option ab |
| Ruft Anzahlen und Kategorien ab |
| Durchsucht Home Manager/Darwin-Optionen nach Präfix |
| Listet verfügbare NixOS-Kanäle auf |
| Erkundet lokale Flake-Inputs aus dem Nix-Store |
| Überprüft den Binary-Cache-Status für Pakete |
Quelle | Was es abfragt |
| Pakete, Optionen, Programme |
| Home Manager-Optionen |
| nix-darwin-Optionen |
| Community-Flakes (search.nixos.org) |
| FlakeHub-Registry (flakehub.com) |
| Nixvim Neovim-Konfigurationsoptionen |
| Nix-Funktionssignaturen und Dokumentation (noogle.dev) |
| NixOS Wiki-Artikel (wiki.nixos.org) |
| Offizielle Nix-Dokumentation (nix.dev) |
| Paket-Metadaten und Store-Pfade (nixhub.io) |
Beispiele:
# 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 – Paketversionsverlauf
Finden Sie historische Versionen mit Nixpkgs-Commit-Hashes. Die Ausgabe enthält:
Paket-Metadaten (Lizenz, Homepage, Programme), sofern verfügbar
Plattformverfügbarkeit pro Version (Linux/macOS)
Nixpkgs-Commit-Hash für reproduzierbare Builds
Attributpfad für Nix-Ausdrücke
nix_versions(package, version, limit)Beispiele:
# List recent versions with metadata
nix_versions(package="python", limit=5)
# Find specific version
nix_versions(package="nodejs", version="20.0.0")Installation
Sie benötigen KEIN installiertes Nix. Dies läuft überall dort, wo Python läuft.
# Run directly (no install)
uvx mcp-nixos
# Or install
pip install mcp-nixosFür Nix-Benutzer:
nix run github:utensils/mcp-nixos
nix profile install github:utensils/mcp-nixosDeklarative Installation (NixOS / Home Manager / nix-darwin)
mcp-nixos ist in nixpkgs verfügbar:
# 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 ];Oder verwenden Sie das Flake direkt mit dem bereitgestellten Overlay:
# 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 ];
}];
};
};
}Entwicklung
nix develop # Enter dev shell
nix build # Build package
pytest tests/ # Run tests
ruff check . # Lint
ruff format . # Format
mypy mcp_nixos/ # Type checkDanksagungen
NixHub.io – Paketversionsverlauf
search.nixos.org – Offizielle NixOS-Suche
FlakeHub – Flake-Registry von Determinate Systems
Jetify – Ersteller von Devbox und NixHub
Noogle – Suchmaschine für Nix-Funktionen
NuschtOS – Statische Options-Suchinfrastruktur, die die Nixvim-Unterstützung ermöglicht
Nixvim – Neovim-Konfigurationsframework für Nix
Lizenz
MIT – Weil Teilen Freude bereitet.
Erstellt von James Brink. Gewartet von Mass̶o̶c̶h̶i̶s̶t̶e̶n̶ Enthusiasten, die Nix genießen.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/utensils/mcp-nixos'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
