Server profile

MCP-NixOS

MCP-NixOS gives assistants live Nix ecosystem lookups instead of guessed package names and settings. Two tools cover packages, configuration options, documentation, functions, flakes, binary caches, and package version history.

Server facts

MCP-NixOS

Project

Author
utensils
License
MIT

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
858
Last commit
Data as of

Tags

  • Flakehub
  • Home Manager
  • Nix
  • Nixos
  • Package Search

Overview

MCP-NixOS supplies live information for assistants working with Nix packages and configuration. Its sources include NixOS package and option data, Home Manager, nix-darwin, Nixvim, community flakes, and FlakeHub. Documentation-oriented queries reach the NixOS Wiki and nix.dev, while Noogle provides function signatures and related information. NixHub supplies package metadata and historical version information. The server is written in Python and does not require Nix or NixOS for ordinary API-backed queries, so those lookups can run on Windows, macOS, or Linux.

The interface is deliberately consolidated into two tools. The general nix tool selects actions such as search, information lookup, statistics, option browsing, channel listing, and binary-cache checks. It can also explore locally pinned flake inputs, although that particular feature requires Nix and access to the local store. The version-history tool returns historical releases with nixpkgs commit hashes, attribute paths, platform availability, and metadata when available. These results help an assistant check real package names and identify a reproducible version reference. The README offers uvx, Nix, Docker, and HTTP launch options, with standard input/output as the default. Python 3.11 or newer is identified in the README badge. Declarative installation examples are provided for NixOS, Home Manager, and nix-darwin, alongside configurable HTTP paths and stateless operation.

Install & configure

Requirements

  • Python 3.11 or later
  • uv with uvx
  • Network access to queried data sources
  • Nix only for local flake-input operations
Documented launch / install command
uvx mcp-nixos

The README recommends uvx and states that ordinary API lookups do not need Nix. Docker and Nix launch alternatives are provided. HTTP mode is optional through MCP_NIXOS_TRANSPORT and related settings; stdio is the default. No required environment variables are stated for this launch.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "mcp-nixos": {
      "command": "uvx",
      "args": [
        "mcp-nixos"
      ],
      "env": {}
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

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

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "mcp-nixos": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-nixos"
      ],
      "env": {}
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

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

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "mcp-nixos": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-nixos"
      ],
      "env": {}
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
nixQuery Nix packages, options, docs, functions, flakes, channels, cache status, and local flake inputs.
nix_versionsFind package release history with nixpkgs commits, attribute paths, platform details, and available metadata.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Verify package names before proposing a Nix configuration.
  • Find Home Manager, nix-darwin, or Nixvim options.
  • Locate historical package versions and their nixpkgs commit hashes.
  • Check binary-cache availability or inspect local flake inputs.

Strengths

  • Most queries work without installing Nix or NixOS.
  • Combines many Nix information sources behind two tools.
  • Includes version history, metadata, and binary-cache checks.
  • Supports local stdio and configurable HTTP deployment.

Limitations

  • Local flake-input exploration still requires Nix.
  • API-backed lookups depend on reachable external data sources.

Frequently asked questions

No. Ordinary queries call APIs and work on Windows, macOS, or Linux without Nix installed.

The README requires it for exploring local flake inputs from the Nix store.

The README describes two: nix for general queries and nix_versions for historical package releases.

Yes. Version-history results include nixpkgs commit hashes and attribute paths, with platform and package metadata when available.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

MCP Advisor

Developer Tools

MCP Advisor helps assistants discover MCP servers from natural-language requests and obtain installation guidance. It combines registry providers with offline search and offers optional local Meilisearch integration.

Serena

Developer Tools

Serena gives coding agents symbol-aware retrieval, editing, refactoring, and debugging capabilities through MCP. It uses language servers or a JetBrains plugin to bring IDE-style code understanding to existing AI clients.

Context7

Developer Tools

Context7 retrieves current library documentation and code examples for AI coding assistants. It supports MCP tools or a CLI-and-skills workflow, with library IDs and version-aware requests helping narrow the documentation context.

FastAPI-MCP

Developer Tools

FastAPI-MCP exposes existing FastAPI endpoints as MCP tools while retaining schemas, endpoint documentation, and dependency-based authentication. It is a native extension for developers adding agent access to a FastAPI service.

GitMCP

Developer Tools

GitMCP turns public GitHub repositories and GitHub Pages projects into documentation sources for AI assistants. It offers repository-specific endpoints or a dynamic server for retrieving docs, searching code, and following referenced content.

XcodeBuildMCP

Developer Tools

XcodeBuildMCP provides an MCP server and CLI for AI agents working on iOS and macOS projects. One package supports direct terminal tools, simulator builds, and stateful operations such as debugging and log capture.

DevDocs by CyberAGI

Developer Tools

Crawl technical documentation into organized Markdown, JSON, and MCP-accessible content for development assistants. The public DevDocs repository is marked as not publicly maintained.

JetBrains MCP Proxy Server

Developer Tools

This legacy Node-based proxy connects MCP clients to a JetBrains IDE plugin. The repository is deprecated: IntelliJ-based IDEs include the core functionality from version 2025.2 onward.