Data as of

MCP-NixOS for Cursor: Setup & Config

MCP-NixOS gives Cursor live Nix ecosystem lookups instead of guessed package names and settings.

What you can do with MCP-NixOS in Cursor

A compact two-tool interface for verified Nix ecosystem lookups and reproducible version references.

  • Locate historical package versions and their nixpkgs commit hashes.
  • Check binary-cache availability or inspect local flake inputs.

Before you start: MCP-NixOS in Cursor

  • Python 3.11 or later
  • uv with uvx
  • Network access to queried data sources
  • Nix only for local flake-input operations

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.

MCP-NixOS Cursor configuration

  1. Choose Cursor configuration scope

    For MCP-NixOS, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.

  2. Add MCP-NixOS to Cursor

    Use the mcp-nixos entry below in mcpServers. Keep MCP-NixOS's documented stdio connection fields and your other Cursor entries.

  3. Check MCP-NixOS in Cursor

    MCP-NixOS: Enable in Cursor’s MCP settings; inspect tools.

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

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

MCP-NixOS tools available to Cursor

MCP-NixOS's stored tool list documents 2 tools; compare it with Cursor's connected tool list, because the stored list is not a live check.

nix

Find nix under MCP-NixOS in Cursor's MCP settings; inspect its arguments when the agent requests a call.

nix_versions

Find nix_versions under MCP-NixOS in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Find package release history with nixpkgs commits, attribute paths, platform details, and available metadata.

MCP-NixOS: full stored tool descriptions

Troubleshooting MCP-NixOS in Cursor

  • Cursor must find uvx mcp-nixos (from uv, for Python tools) for MCP-NixOS. Enable the project/user entry in MCP settings and inspect its tools.
  • MCP-NixOS uses stdio here: Cursor must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Local flake-input exploration still requires Nix.
  • Known limitation: API-backed lookups depend on reachable external data sources.
  • General Cursor troubleshooting lives in the /clients/cursor guide.

MCP-NixOS — details. Cursor guide

Frequently asked questions

Cursor's MCP-NixOS entry belongs under mcpServers in .cursor/mcp.json (project) or ~/.cursor/mcp.json (user). Confirm the active scope in MCP settings.

Cursor's mcp-nixos example uses stdio.

MCP-NixOS's Cursor configuration invokes uvx mcp-nixos (from uv, for Python tools).

MCP-NixOS's stored list contains 2 tools, including nix, nix_versions. Compare those names with Cursor's connected tool list; the stored list is not a live check.

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.