mcp-nixos

utensils/mcp-nixos

4.3

mcp-nixos is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of mcp-nixos and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP-NixOS is a Model Context Protocol server designed to provide accurate information about NixOS, Home Manager, and nix-darwin configurations, preventing AI assistants from generating incorrect data.

Try mcp-nixos with chat:

Tools

Functions exposed to the LLM to take actions

nixos_search

Search NixOS packages, options, or programs.

Args: query: Search term to look for search_type: Type of search - "packages", "options", "programs", or "flakes" limit: Maximum number of results to return (1-100) channel: NixOS channel to search in (e.g., "unstable", "stable", "25.05")

Returns: Plain text results with bullet points or error message

nixos_info

Get detailed info about a NixOS package or option.

Args: name: Name of the package or option to look up type: Type of lookup - "package" or "option" channel: NixOS channel to search in (e.g., "unstable", "stable", "25.05")

Returns: Plain text details about the package/option or error message

nixos_channels

List available NixOS channels with their status.

Returns: Plain text list showing channel names, versions, and availability

nixos_stats

Get NixOS statistics for a channel.

Args: channel: NixOS channel to get stats for (e.g., "unstable", "stable", "25.05")

Returns: Plain text statistics including package/option counts

home_manager_search

Search Home Manager configuration options.

Searches through available Home Manager options by name and description.

Args: query: The search query string to match against option names and descriptions limit: Maximum number of results to return (default: 20, max: 100)

Returns: Plain text list of matching options with name, type, and description

home_manager_info

Get detailed information about a specific Home Manager option.

Requires an exact option name match. If not found, suggests similar options.

Args: name: The exact option name (e.g., 'programs.git.enable')

Returns: Plain text with option details (name, type, description) or error with suggestions

home_manager_stats

Get statistics about Home Manager options.

Retrieves overall statistics including total options, categories, and top categories.

Returns: Plain text summary with total options, category count, and top 5 categories

home_manager_list_options

List all Home Manager option categories.

Enumerates all top-level categories with their option counts.

Returns: Plain text list of categories sorted alphabetically with option counts

home_manager_options_by_prefix

Get Home Manager options matching a specific prefix.

Useful for browsing options under a category or finding exact option names.

Args: option_prefix: The prefix to match (e.g., 'programs.git' or 'services')

Returns: Plain text list of options with the given prefix, including descriptions

darwin_search

Search nix-darwin (macOS) configuration options.

Searches through available nix-darwin options by name and description.

Args: query: The search query string to match against option names and descriptions limit: Maximum number of results to return (default: 20, max: 100)

Returns: Plain text list of matching options with name, type, and description

darwin_info

Get detailed information about a specific nix-darwin option.

Requires an exact option name match. If not found, suggests similar options.

Args: name: The exact option name (e.g., 'system.defaults.dock.autohide')

Returns: Plain text with option details (name, type, description) or error with suggestions

darwin_stats

Get statistics about nix-darwin options.

Retrieves overall statistics including total options, categories, and top categories.

Returns: Plain text summary with total options, category count, and top 5 categories

darwin_list_options

List all nix-darwin option categories.

Enumerates all top-level categories with their option counts.

Returns: Plain text list of categories sorted alphabetically with option counts

darwin_options_by_prefix

Get nix-darwin options matching a specific prefix.

Useful for browsing options under a category or finding exact option names.

Args: option_prefix: The prefix to match (e.g., 'system.defaults' or 'services')

Returns: Plain text list of options with the given prefix, including descriptions

nixos_flakes_stats

Get statistics about available NixOS flakes.

Retrieves statistics from the flake search index including total packages, unique repositories, flake types, and top contributors.

Returns: Plain text summary with flake statistics and top contributors

nixos_flakes_search

Search NixOS flakes by name, description, owner, or repository.

Searches the flake index for community-contributed packages and configurations. Flakes are indexed separately from official packages.

Args: query: The search query (flake name, description, owner, or repository) limit: Maximum number of results to return (default: 20, max: 100) channel: Ignored - flakes use a separate indexing system

Returns: Plain text list of unique flakes with their packages and metadata

nixhub_package_versions

Get version history and nixpkgs commit hashes for a specific package from NixHub.io.

Use this tool when users need specific package versions or commit hashes for reproducible builds.

Args: package_name: Name of the package to query (e.g., "firefox", "python") limit: Maximum number of versions to return (default: 10, max: 50)

Returns: Plain text with package info and version history including commit hashes

nixhub_find_version

Find a specific version of a package in NixHub with smart search.

Automatically searches with increasing limits to find the requested version.

Args: package_name: Name of the package to query (e.g., "ruby", "python") version: Specific version to find (e.g., "2.6.7", "3.5.9")

Returns: Plain text with version info and commit hash if found, or helpful message if not

Prompts

Interactive templates invoked by user choice

No prompts

Resources

Contextual data attached and managed by the client

No resources