Skip to content
Development
Command

/test-tools

Test MCP NixOS Tools (project)

From plugin
mcp-nixos
7842 skills3 agents2 commands1 MCP

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/test-tools

Context preview

What this command does when you run it.

Test MCP NixOS Tools (project)

Command definition

test-tools.md
allowed-tools: mcp__nixos__nix, mcp__nixos__nix_versions, Task
description: Test MCP NixOS Tools (project)

Test MCP NixOS Tools

**CRITICAL INSTRUCTIONS:** 1. You MUST dispatch ALL test groups below to subagents running IN PARALLEL 2. Each subagent MUST run EVERY test in its assigned group - no skipping 3. After ALL subagents complete, compile a SINGLE summary table with pass/fail for EVERY test 4. Do NOT stop early - all 8 test groups must be executed

Dispatch Strategy

Launch these 8 subagents IN PARALLEL (single message with multiple Task tool calls):

---

Group 1: Core NixOS Source Tests

**Subagent prompt:**

Test the mcp__nixos__nix tool for the core NixOS source. Run EVERY test below and record pass/fail:

SEARCH:
- action=search, source=nixos, type=packages, query=firefox
- action=search, source=nixos, type=options, query=nginx
- action=search, source=nixos, type=programs, query=vim, limit=3
- action=search, source=nixos, channel=stable, query=firefox, limit=3
- action=search, source=nixos, query=xyznonexistent12345 (expect "No packages found")

DOTTED/NAMESPACED PACKAGE SEARCH (issue #118 regression):
- action=search, source=nixos, type=packages, query=kdePackages.qt6ct (expect results containing qt6ct)
- action=search, source=nixos, type=packages, query=python314Packages.matplotlib (expect results containing matplotlib)
- action=search, source=nixos, type=packages, query=rocmPackages.clang (expect results containing clang)
- action=search, source=nixos, type=packages, query=llvmPackages_22.systemLibcxxClang (expect results; may match clang variants)
- action=search, source=nixos, type=packages, query=flang (expect exact match - control test)

INFO:
- action=info, source=nixos, type=package, query=firefox
- action=info, source=nixos, type=option, query=services.nginx.enable
- action=info, source=nixos, query=nonexistentpkg123 (expect NOT_FOUND)
- action=info, source=nixos, type=package, query=kdePackages.qt6ct (issue #118: should find qt6ct via attr path)
- action=info, source=nixos, type=package, query=qt6ct (should show attribute path in output)

STATS:
- action=stats, source=nixos

CHANNELS:
- action=channels

Return a markdown table with Test | Expected | Actual | Status (PASS/FAIL) for each test.

---

Group 2: Home Manager & Darwin Tests

**Subagent prompt:**

Test the mcp__nixos__nix tool for Home Manager and Darwin sources. Run EVERY test below:

HOME-MANAGER SEARCH:
- action=search, source=home-manager, query=git (expect programs.git.* in the TOP results, ranked above *.enableGitIntegration substring matches - ranking regression, issue #190)
- action=search, source=home-manager, query=programs.git.enable (expect exact match ranked first)

HOME-MANAGER INFO:
- action=info, source=home-manager, query=programs.git.enable

HOME-MANAGER STATS:
- action=stats, source=home-manager (expect Total options > 5,000)

HOME-MANAGER OPTIONS:
- action=options, source=home-manager, query=programs.git
- action=options, source=home-manager (no query - list all categories)

DARWIN SEARCH:
- action=search, source=darwin, query=dock (expect system.defaults.dock.* in the TOP results - ranking regression, issue #190)

DARWIN INFO:
- action=info, source=darwin, query=system.defaults.dock.autohide

DARWIN STATS:
- action=stats, source=darwin

DARWIN OPTIONS:
- action=options, source=darwin, query=system

Return a markdown table with Test | Expected | Actual | Status (PASS/FAIL) for each test.

---

Group 3: Flakes & FlakeHub Tests

**Subagent prompt:**

Test the mcp__nixos__nix tool for Flakes and FlakeHub sources. Run EVERY test below:

FLAKES SEARCH:
- action=search, source=flakes, query=atuin

FLAKES STATS:
- action=stats, source=flakes

FLAKES INFO (expect error):
- action=info, source=flakes, query=test (expect "flakes don't support info")

FLAKEHUB SEARCH:
- action=search, source=flakehub, query=nixpkgs

FLAKEHUB INFO:
- action=info, source=flakehub, query=NixOS/nixpkgs

FLAKEHUB STATS:
- action=stats, source=flakehub

FLAKE-INPUTS (requires nix installed):
- action=flake-inputs, type=list
- action=flake-inputs, type=ls, query=nixpkgs
- action=flake-inputs, type=ls, query=nixpkgs:pkgs/by-name
- action=flake-inputs, type=read, query=nixpkgs:flake.nix
- action=flake-inputs, type=read, query=flake-parts:flake.nix, limit=50
- action=flake-inputs, type=ls (missing query - expect error)
- action=flake-inputs, type=read, query=nixpkgs (missing file path - expect error)
- action=flake-inputs, type=ls, query=nonexistent-input (expect NOT_FOUND)

Return a markdown table with Test | Expected | Actual | Status (PASS/FAIL) for each test.

---

Group 4: Nixvim, NVF & Wiki Tests

**Subagent prompt:**

Test the mcp__nixos__nix tool for Nixvim, NVF, and Wiki sources. Run EVERY test below:

NIXVIM SEARCH:
- action=search, source=nixvim, query=telescope

NIXVIM INFO:
- action=info, source=nixvim, query=plugins.telescope.enable

NIXVIM STATS:
- action=stats, source=nixvim

NIXVIM OPTIONS:
- action=options, source=nixvim, query=plugins

NVF SEARCH:
- action=search, source=nvf, query=languages.nix (expect vim.languages.nix.* options)
- action=search, source=nvf, query=programs.nvf.vim.languages.nix.enable (wrapper path - expect results using canonical vim.* form)
- action=search, source=nvf, query=xyznonexistent12345 (expect "No NVF options found")

NVF INFO:
- action=info, source=nvf, query=vim.languages.nix.enable (canonical path)
- action=info, source=nvf, query=programs.nvf.settings.vim.languages.nix.enable (module wrapper path - expect "NVF Option: vim.languages.nix.enable" with Documentation link)
- action=info, source=nvf, query=vim.nonexistent.xyz (expect NOT_FOUND)

NVF STATS:
- action=stats, source=nvf (expect "Documentation track: unstable" and Total options > 2,000)

NVF BROWSE:
- action=browse, source=nvf (no query - expect categories including vim.languages)
- action=browse, source=nvf, query=programs.nvf.vim.languages.nix (wrapped prefix - expec
Read more
Ships withmcp-nixos

MCP-NixOS - Model Context Protocol Server for NixOS resources

Get the whole plugin
Stats
784
Stars
42
Forks
Active
Maintenance
Python
Language
MIT
License
4d ago
Last commit
1y ago
Created

Repo: utensils/mcp-nixos