Skip to main content

MCP server for Nixpkgs, NixOS and Home Manager

Project description

A tasteful MCP server for the Nix ecosystem

Tests

Ecosystem coverage

  • Nixpkgs
  • NixOS
  • Home Manager
  • Nixvim
  • nix-darwin
  • NixHub
  • Noogle (Nix standard library)

Without additional configuration, only Nixpkgs and NixOS categories are included.

Installation

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

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

Using Nix

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

Tools

  • Categories included by default:
Category ID Tools
Nixpkgs nixpkgs search_nixpkgs, show_nixpkgs_package, read_derivation[^a]
NixOS nixos search_nixos_options, show_nixos_option, list_nixos_channels, read_nixos_module[^a]
  • Categories excluded by default
Category ID Tools
Home Manager homemanager search_homemanager_options, show_homemanager_option, list_homemanager_releases, read_home_module[^a]
Nixvim nixvim search_nixvim_options, show_nixvim_option, read_nixvim_declaration[^a]
nix-darwin nix-darwin search_nix_darwin_options, show_nix_darwin_option, read_nix_darwin_declaration[^a]
NixHub nixhub list_package_versions, find_nixpkgs_commit_with_package_version
Noogle noogle search_nix_stdlib, help_for_stdlib_function

[^a]: Requires explicit --include even when the category is enabled.

Including tools

  • By category
    • Pass the category's ID as an argument: --homemanager --nixvim
  • By name
    • Use --include: --include=list_package_versions,...

Excluding tools

  • By category
    • Prefix the category's ID by "no-": --no-nixos
  • By name
    • Use --exclude: --exclude=find_nixpkgs_commit_with_package_version,...

List of tools

Tool Usage
nixpkgs
search_nixpkgs Search for Nixpkgs packages by name or description
show_nixpkgs_package Get details for a Nixpkgs package by exact name
read_derivation[^a] Read the Nix source code for a package derivation
nixos
search_nixos_options Search NixOS configuration options
show_nixos_option Get details for a NixOS option, or list children if given a prefix
list_nixos_channels List available NixOS release channels
read_nixos_module[^a] Read the Nix source code for a NixOS option declaration
homemanager
search_homemanager_options Search Home Manager options for user environment configuration
show_homemanager_option Get details for a Home Manager option, or list children if given a prefix
list_homemanager_releases List available Home Manager releases
read_home_module[^a] Read the Nix source code for a Home Manager option declaration
nixvim
search_nixvim_options Search NixVim configuration options
show_nixvim_option Get details for a NixVim option, or list children if given a prefix
read_nixvim_declaration[^a] Get the declaration reference for a NixVim option
nix-darwin
search_nix_darwin_options Search nix-darwin configuration options for macOS
show_nix_darwin_option Get details for a nix-darwin option, or list children if given a prefix
read_nix_darwin_declaration[^a] Get the declaration reference for a nix-darwin option
nixhub
list_package_versions List all available versions for a Nixpkgs package
find_nixpkgs_commit_with_package_version Get the nixpkgs commit hash for a specific package version
noogle
search_nix_stdlib Search Nix standard library functions by name or type signature
help_for_stdlib_function Get detailed help for a Nix standard library function
[^a]: Requires explicit --include even when the category is enabled.

Contributing

Read CONTRIBUTING.md

Credits

Thanks to the NixOS Search Team, ExtraNix, NüschtOS, 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_nix-0.2.1.tar.gz (112.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_nix-0.2.1-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_nix-0.2.1.tar.gz.

File metadata

  • Download URL: mcp_nix-0.2.1.tar.gz
  • Upload date:
  • Size: 112.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","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}

File hashes

Hashes for mcp_nix-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c7d8de903297a95909ecbf78d4acc861ebd1bcbe0f391b8c8c2b5441bd283750
MD5 81eacd303d665790940fb0388d70df34
BLAKE2b-256 059ed5c15714150043dcae0171458fa9a6fac10fcd8fa01be353e545c3582b59

See more details on using hashes here.

File details

Details for the file mcp_nix-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_nix-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","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}

File hashes

Hashes for mcp_nix-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1021613d24b35d82083f408c277da2cedcab29c5f46b4706b231b6097a8cfbf8
MD5 5ae01aed30d698764d1be3bf1c59fcf1
BLAKE2b-256 b073a44ec730b98f5c85e1c73c0495645d9b86175db9a7007f1a46557fbdb1ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page