Skip to main content
Glama
felixdorn

mcp-nix

A complete MCP server for Nix*

Tests

Features

  • Search Nixpkgs and read package derivations

  • Broad options coverage

    • NixOS

    • Home Manager

    • Nix Darwin

    • Nixvim

    • Impermanence

    • MicroVM.nix

    • nix-nomad

    • simple-nixos-mailserver

    • sops-nix

    • nixos-hardware

    • disko

  • Search the nix standard library and read function definitions

  • Find versions of nixpkgs in which a package exists

Installation

Use the following configuration to add the MCP server to your client:

Using uvx:

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

Add to cursor

Using nix run:

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

Add to cursor

Declaratively:

Add the flake input:

{
  inputs.mcp-nix.url = "github:felixdorn/mcp-nix";
}

Then reference the package:

{
  command = "${inputs.mcp-nix.packages.${system}.default}/bin/mcp-nix";
}

Tools

Tool

Description

search_nixpkgs

Search Nixpkgs packages

read_derivation

Read package source code

search_options

Search options for many projects

list_versions

List available versions for a project

show_option_details

Get option details or list children

read_option_declaration

Read option source code

find_nixpkgs_commit_with_package_version

Get nixpkgs commit for a version, shows available versions if not found (NixHub)

search_nix_stdlib

Search Nix stdlib functions (Noogle)

help_for_stdlib_function

Get help for a stdlib function (Noogle)

Excluding Tools

Use --exclude to disable specific tools:

{
  "mcpServers": {
    "nix": {
      "command": "uvx",
      "args": ["mcp-nix", "--exclude=read_derivation,read_option_declaration"]
    }
  }
}

Contributing

Read CONTRIBUTING.md

Acknowledgments

Thanks to the NixOS Search Team, ExtraNix, NüschtOS, nix-nomad, NixHub, Noogle for maintaining the backends and pipeline this server uses and for the Nix community for making any of this possible.

License

GPLv3: License

<!-- mcp-name: io.github.felixdorn/mcp-nix -->
-
security - not tested
A
license - permissive license
-
quality - not tested

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/felixdorn/mcp-nix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server