Skip to main content

A complete MCP server for Nix*

Tests

Features

  • Search Nixpkgs and read package derivations
  • Broad options coverage
    • NixOS
    • Home Manager
    • Nix Darwin
    • Other: 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"]
    }
  }
}

Using nix run:

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

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

Metadata

Release files for mcp-nix 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-nix 0.4.0
File Size Uploaded Provenance
mcp_nix-0.4.0.tar.gz 131.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-nix 0.4.0
File Interpreter ABI Platform
mcp_nix-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 174.7 kB

Release files / mcp_nix-0.4.0.tar.gz

Download URL mcp_nix-0.4.0.tar.gz
Size 131.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a41777cb4ab1931fc461f0e9067cb759b4bfaf8580a626b123516f9dbe3f134f
BLAKE2b-256 checksum
How to use checksums
3e58e725e31fec1ac29084f25163282e0c9cacf0520e5e3a978c944591c3c6c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / mcp_nix-0.4.0-py3-none-any.whl

Download URL mcp_nix-0.4.0-py3-none-any.whl
Size 43.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87613d1a148872cddf73c829b16fbe483d6ef3006d3187691d0b570cab003b0c
BLAKE2b-256 checksum
How to use checksums
e7132483c065a1a88c0d52cb68c0f03809aec87968b11c065b9d9c8fedf2893f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for mcp-nix 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page