mcp-nix

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: GPL-3.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

A tasteful MCP for the Nix* ecosystem (Nixpkgs, NixOS, Home Manager, nixvim, noogle...)

README.md

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)

Result contracts

Tools return readable text and typed structuredContent. Searches include records,
total, returned, and the effective version. Tool failures set isError=true.
All tools advertise read-only, non-destructive behavior while querying external services.

Use limit (1–100) to bound searches. show_option_details returns up to 50 children
by default; pass its next_offset as offset to continue. Source readers accept
one-based start_line and limit (200 lines by default, maximum 1,000); follow
next_start_line to continue reading. list_versions returns canonical version IDs.

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

Yorumlar (0)

Sonuc bulunamadi