MCP Nixos logo

MCP Nixos

by utensils

Query current Nix packages, options, flakes, documentation, caches, and local store paths through MCP.

Install MCP Nixos

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "utensils-mcp-nixos": {
      "command": "uvx",
      "args": [
        "mcp-nixos"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 2 tools correctly (24d ago).

Overview

utensils/mcp-nixos MCP server gives AI agents current Nix ecosystem data through unified query tools. It covers NixOS packages and options, Home Manager, nix-darwin, Nixvim, NVF, flakes, documentation, binary caches, and selected local Nix store or flake inputs. Reach for it when package availability, option paths, channel data, or store contents must be checked instead of inferred from stale training data. It runs over stdio by default and can also expose an HTTP MCP endpoint.

Use cases

  • Verify whether a package exists in a specific NixOS channel
  • Find Home Manager, Darwin, Nixvim, or NVF option paths
  • Check whether a package is available from the binary cache
  • Inspect local flake inputs and Nix store files
  • Search Nix documentation, wiki articles, or Noogle functions

Key features

  • Unified Nix ecosystem query tool
  • Package and option lookup across multiple sources
  • Binary cache and channel inspection
  • Flake input and Nix store exploration
  • Package version history through NixHub
  • stdio and HTTP transport modes

Tools2

What MCP Nixos lets your agent do. Expand a tool for its parameters.

Verified live~1.5k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

19/20 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · mcp-nixos (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars863Stargazers on the source repository.
Last commit1d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed2Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Nixos works

What utensils/mcp-nixos MCP server does

The utensils/mcp-nixos MCP server lets an MCP client query Nix-related data from several indexed and external sources. Its coverage includes NixOS packages and options, Home Manager settings, nix-darwin settings, Nixvim and NVF options, FlakeHub entries, Noogle function documentation, NixOS Wiki content, nix.dev documentation, NixHub package metadata, and binary cache status.

It is intended for questions where an incorrect attribute name, unsupported option, stale package version, or wrong channel assumption could lead to a broken configuration. Queries can target package names, option paths, programs provided by packages, available channels, documentation pages, or flake metadata.

How it works

The primary nix tool uses an action-based interface. Actions include search, info, stats, browse, channels, flake-inputs, cache, and store. A request can identify a source such as nixos, home-manager, darwin, nixvim, nvf, flakehub, noogle, wiki, nix-dev, or nixhub. Optional fields select a channel, result type, version, system, or result limit.

The server also provides nix_versions for package version history. That tool is separate from ordinary package lookup and returns historical commit hashes, attribute paths, and dates. For current package details, exact attribute paths are checked before exact package names; duplicate package names may be explicitly disambiguated.

Local inspection is supported for flake inputs and explicit /nix/store paths. These operations require Nix on the machine running the server. Other queries use APIs or indexed data and do not require a local Nix installation.

Setup and configuration

The server can run on Windows, macOS, or Linux without Nix when used for API-backed queries. A common stdio configuration runs mcp-nixos through uvx. It can also be started with nix run or as a Docker container using the published GitHub Container Registry image.

The utensils/mcp-nixos MCP server defaults to stdio transport. HTTP mode is available through environment settings: MCP_NIXOS_TRANSPORT=http enables it, while MCP_NIXOS_HOST, MCP_NIXOS_PORT, and MCP_NIXOS_PATH control the bind address, port, and endpoint path. The default HTTP endpoint is /mcp. MCP_NIXOS_STATELESS_HTTP=1 disables per-client session state.

Tools and capabilities

  • Search packages, options, programs, flakes, functions, wiki pages, and documentation.
  • Retrieve package, option, flake, function, or documentation details.
  • Browse supported option or function trees by prefix.
  • List channels and retrieve indexed channel commit information when known.
  • Inspect binary cache availability, including version or system-specific checks.
  • Read files and list directories below explicit /nix/store paths.
  • List local flake inputs and inspect entries inside a selected input.
  • Query package version history through nix_versions.

NVF queries use canonical vim.* paths; supported wrapper paths are normalized automatically. For Home Manager, Darwin, Nixvim, NVF, or Noogle trees, use browse only where that source supports it. NixOS options should be searched with search and type=options.

Limitations and notes

The server does not replace package version history with ordinary package lookup; historical questions should use nix_versions. Local flake and store inspection depends on Nix being installed and on the referenced paths being available locally. HTTP mode requires explicit transport configuration, while stdio is the default.

The utensils/mcp-nixos MCP server provides queried or indexed information, so channel, source, and type parameters affect the result. For example, a package search and an option search for the same text are different requests. Optional parameters should be omitted rather than passed as empty strings.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Nixos

utensils/mcp-nixos is an MCP server that connects AI clients to current NixOS, Home Manager, nix-darwin, flake, documentation, cache, and Nix store data. Its main tools are `nix` for searches, details, browsing, and local queries, plus `nix_versions` for package history with commits, attributes, and dates.

Install it by configuring an MCP client to run `uvx mcp-nixos`, `nix run github:utensils/mcp-nixos --`, or the Docker image `ghcr.io/utensils/mcp-nixos`. The README also provides a Cursor installation link and a Pi adapter configuration.

No, Nix is not required for API-backed queries, and the server runs on Windows, macOS, and Linux. Nix is required for local flake-input exploration and reading or listing local `/nix/store` paths.

Set `MCP_NIXOS_TRANSPORT=http` and start `mcp-nixos`; the default endpoint is `/mcp`. Use `MCP_NIXOS_HOST`, `MCP_NIXOS_PORT`, and `MCP_NIXOS_PATH` to change the address, port, or path, and set `MCP_NIXOS_STATELESS_HTTP=1` for stateless sessions.

Use `nix_versions` for package version history. It returns commit hashes, attribute paths, and dates for questions about when a package version shipped or when an attribute was added.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Nixos AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/utensils-mcp-nixos?style=directory)](https://allmcps.com/mcp/utensils-mcp-nixos)
HTML Embed
<a href="https://allmcps.com/mcp/utensils-mcp-nixos"><img src="https://allmcps.com/api/badge/utensils-mcp-nixos?style=directory" alt="MCP Nixos on AllMCPs" /></a>