VOOZH about

URL: https://glama.ai/mcp/servers/utensils/mcp-nixos?locale=es-ES

⇱ mcp-nixos by utensils | Glama


MCP-NixOS - Porque tu IA no debería alucinar con los nombres de los paquetes

👁 CI
👁 codecov
👁 PyPI
👁 FlakeHub
👁 Python 3.11+
👁 CodeRabbit Pull Request Reviews
👁 Built with Claude

Inicio rápido

🚨 ¡No se requiere Nix/NixOS! Funciona en cualquier sistema: Windows, macOS, Linux. Solo estás consultando APIs.

Opción 1: uvx (Recomendado)

👁 Install MCP Server

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

Opción 2: Nix

👁 Install MCP Server

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

Opción 3: Docker

👁 Install MCP Server

{
 "mcpServers": {
 "nixos": {
 "command": "docker",
 "args": ["run", "--rm", "-i", "ghcr.io/utensils/mcp-nixos"]
 }
 }
}

Tu IA ahora tiene acceso a datos reales de NixOS en lugar de inventárselos. De nada.

Opción 4: HTTP (MCP remoto)

FastMCP admite la ejecución de este servidor a través de HTTP en una URL (el endpoint de MCP es /mcp por defecto).

# 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-nixos

STDIO (predeterminado):

MCP_NIXOS_TRANSPORT=stdio mcp-nixos

Ruta personalizada:

MCP_NIXOS_TRANSPORT=http MCP_NIXOS_PATH=/api/mcp mcp-nixos

HTTP sin estado (deshabilita el estado de sesión por cliente):

MCP_NIXOS_TRANSPORT=http MCP_NIXOS_STATELESS_HTTP=1 mcp-nixos

Opción 5: Agente de codificación Pi

Pi no habla MCP de forma nativa. Hay dos rutas compatibles:

A. pi-mcp-adapter (recomendado: habla MCP, fuente única de verdad):

pi install npm:pi-mcp-adapter

Luego añade a ~/.pi/agent/mcp.json:

{
 "mcpServers": {
 "nixos": {
 "command": "uvx",
 "args": ["mcp-nixos"],
 "lifecycle": "lazy"
 }
 }
}

B. Extensión local del proyecto (clonar + ejecutar): este repositorio incluye .pi/extensions/mcp-nixos.ts, que se carga automáticamente cuando ejecutas pi en el repositorio clonado. Opcional: cd .pi && npm install para la resolución de tipos del editor. Pi lo ejecuta de cualquier manera.

Related MCP server: MCP-Context-Provider

¿Qué es esto?

Un servidor MCP que proporciona información precisa y en tiempo real sobre:

  • Paquetes de NixOS - Más de 130 mil paquetes que realmente existen

  • Opciones de NixOS - Más de 23 mil formas de configurar tu sistema

  • Home Manager - Más de 5 mil opciones para entusiastas de los archivos de configuración (dotfiles)

  • nix-darwin - Más de 1 mil configuraciones de macOS que Apple no documenta

  • Nixvim - Más de 5 mil opciones para la configuración de Neovim a través de NuschtOS search

  • FlakeHub - Más de 600 flakes del registro de FlakeHub.com

  • Noogle - Más de 2 mil funciones de Nix con firmas de tipo a través de noogle.dev

  • NixOS Wiki - Documentación y guías de la comunidad desde wiki.nixos.org

  • nix.dev - Tutoriales y guías oficiales de Nix desde nix.dev

  • Versiones de paquetes - Versiones históricas con hashes de commit a través de NixHub.io

  • Estado de la caché binaria - Comprueba si los paquetes están en caché en cache.nixos.org con tamaños de descarga

  • Entradas de flake locales - Explora tus dependencias de flake fijadas directamente desde el almacén de Nix (requiere Nix)

Las herramientas

Solo dos. Consolidamos 17 herramientas en 2 porque la ventana de contexto de tu IA no es infinita.

~1,030 tokens en total. Eso es todo. Mientras otros servidores MCP acaparan tu contexto como si fuera el Black Friday, nosotros tomamos un té minimalista en la esquina. Tu IA obtiene superpoderes de NixOS sin el peso innecesario.

nix - Herramienta de consulta unificada

Una herramienta para gobernarlos a todos:

nix(action, query, source, type, channel, limit)

Acción

Qué hace

search

Busca paquetes, opciones, programas o flakes

info

Obtiene información detallada sobre un paquete u opción

stats

Obtiene recuentos y categorías

options

Explora opciones de Home Manager/Darwin por prefijo

channels

Lista los canales de NixOS disponibles

flake-inputs

Explora entradas de flake locales desde el almacén de Nix

cache

Comprueba el estado de la caché binaria para paquetes

Fuente

Qué consulta

nixos

Paquetes, opciones, programas

home-manager

Opciones de Home Manager

darwin

Opciones de nix-darwin

flakes

Flakes de la comunidad (search.nixos.org)

flakehub

Registro de FlakeHub (flakehub.com)

nixvim

Opciones de configuración de Nixvim Neovim

noogle

Firmas de funciones de Nix y documentación (noogle.dev)

wiki

Artículos de la Wiki de NixOS (wiki.nixos.org)

nix-dev

Documentación oficial de Nix (nix.dev)

nixhub

Metadatos de paquetes y rutas de almacén (nixhub.io)

Ejemplos:

# 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 - Historial de versiones de paquetes

Encuentra versiones históricas con hashes de commit de nixpkgs. La salida incluye:

  • Metadatos del paquete (licencia, página web, programas) cuando están disponibles

  • Disponibilidad de plataforma por versión (Linux/macOS)

  • Hash de commit de Nixpkgs para compilaciones reproducibles

  • Ruta de atributo para expresiones de Nix

nix_versions(package, version, limit)

Ejemplos:

# List recent versions with metadata
nix_versions(package="python", limit=5)

# Find specific version
nix_versions(package="nodejs", version="20.0.0")

Instalación

NO necesitas Nix instalado. Esto se ejecuta donde sea que se ejecute Python.

# Run directly (no install)
uvx mcp-nixos

# Or install
pip install mcp-nixos

Para usuarios de Nix:

nix run github:utensils/mcp-nixos
nix profile install github:utensils/mcp-nixos

Instalación declarativa (NixOS / Home Manager / nix-darwin)

mcp-nixos está disponible en 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 ];

O usa el flake directamente con el overlay proporcionado:

# 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 ];
 }];
 };
 };
}

Desarrollo

nix develop # Enter dev shell
nix build # Build package
pytest tests/ # Run tests
ruff check . # Lint
ruff format . # Format
mypy mcp_nixos/ # Type check

Reconocimientos

  • NixHub.io - Historial de versiones de paquetes

  • search.nixos.org - Búsqueda oficial de NixOS

  • FlakeHub - Registro de Flake de Determinate Systems

  • Jetify - Creadores de Devbox y NixHub

  • Noogle - Motor de búsqueda de funciones de Nix

  • NuschtOS - Infraestructura de búsqueda de opciones estáticas que potencia el soporte de Nixvim

  • Nixvim - Marco de configuración de Neovim para Nix

Licencia

MIT - Porque compartir es cuidar.


Creado por James Brink. Mantenido por maso̶q̶u̶i̶s̶t̶a̶s̶ entusiastas que disfrutan de Nix.

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
21hResponse time
3wRelease cycle
15Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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