Skip to main content
Glama

MCP-NixOS - AIがパッケージ名をハルシネーションしないために

CI codecov PyPI FlakeHub Python 3.11+ CodeRabbit Pull Request Reviews Built with Claude

クイックスタート

🚨 Nix/NixOSは不要です! Windows、macOS、Linuxなど、あらゆるシステムで動作します。単にAPIをクエリするだけです。

オプション1: uvx (推奨)

Install MCP Server

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

オプション2: Nix

Install MCP Server

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

オプション3: Docker

Install MCP Server

{
  "mcpServers": {
    "nixos": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/utensils/mcp-nixos"]
    }
  }
}

これでAIは、適当なことを言う代わりに、実際のNixOSデータにアクセスできるようになります。どういたしまして。

オプション4: HTTP (リモートMCP)

FastMCPは、URL経由でのサーバー実行をサポートしています(MCPエンドポイントのデフォルトは /mcp です)。

# Run an HTTP MCP server at http://127.0.0.1:8000/mcp
MCP_NIXOS_TRANSPORT=http MCP_NIXOS_HOST=127.0.0.1 MCP_NIXOS_PORT=8000 mcp-nixos

STDIO (デフォルト):

MCP_NIXOS_TRANSPORT=stdio mcp-nixos

カスタムパス:

MCP_NIXOS_TRANSPORT=http MCP_NIXOS_PATH=/api/mcp mcp-nixos

ステートレスHTTP (クライアントごとのセッション状態を無効化):

MCP_NIXOS_TRANSPORT=http MCP_NIXOS_STATELESS_HTTP=1 mcp-nixos

オプション5: Pi Coding Agent

Pi はMCPをネイティブでサポートしていません。2つのサポートされたパスがあります:

A. pi-mcp-adapter (推奨 — MCPを話し、信頼できる唯一の情報源となります):

pi install npm:pi-mcp-adapter

次に ~/.pi/agent/mcp.json に追加します:

{
  "mcpServers": {
    "nixos": {
      "command": "uvx",
      "args": ["mcp-nixos"],
      "lifecycle": "lazy"
    }
  }
}

B. プロジェクトローカル拡張 (クローン + 実行): このリポジトリには .pi/extensions/mcp-nixos.ts が同梱されており、クローンしたリポジトリで pi を実行すると自動的に読み込まれます。オプション: エディタの型解決のために cd .pi && npm install を実行してください。Piはどちらの方法でも実行可能です。

Related MCP server: Grounded Code MCP

これは何か?

以下に関する正確でリアルタイムな情報を提供するMCPサーバーです:

  • NixOSパッケージ - 実際に存在する13万以上のパッケージ

  • NixOSオプション - システムを設定するための2万3千以上の方法

  • Home Manager - ドットファイル愛好家のための5千以上のオプション

  • nix-darwin - Appleがドキュメント化していない1千以上のmacOS設定

  • Nixvim - NuschtOS search を介したNeovim設定のための5千以上のオプション

  • FlakeHub - FlakeHub.com レジストリからの600以上のFlake

  • Noogle - noogle.dev を介した型シグネチャ付きの2千以上のNix関数

  • NixOS Wiki - wiki.nixos.org からのコミュニティドキュメントとガイド

  • nix.dev - nix.dev からの公式Nixチュートリアルとガイド

  • パッケージバージョン - NixHub.io を介したコミットハッシュ付きの過去バージョン

  • バイナリキャッシュステータス - cache.nixos.org でパッケージがキャッシュされているか、ダウンロードサイズとともに確認

  • ローカルFlake入力 - Nixストアから直接、ピン留めされたFlake依存関係を探索(Nixが必要)

ツール

たった2つです。AIのコンテキストウィンドウは無限ではないため、17個のツールを2つに統合しました。

合計約1,030トークン。 以上です。他のMCPサーバーがブラックフライデーのようにコンテキストを占有している間、私たちは隅でミニマリストなティーを飲んでいます。あなたのAIは、肥大化することなくNixOSのスーパーパワーを手に入れます。

nix - 統合クエリツール

すべてを支配する1つのツール:

nix(action, query, source, type, channel, limit)

アクション

内容

search

パッケージ、オプション、プログラム、またはFlakeを検索

info

パッケージやオプションの詳細情報を取得

stats

カウントとカテゴリを取得

options

プレフィックスごとにHome Manager/Darwinオプションを閲覧

channels

利用可能なNixOSチャンネルを一覧表示

flake-inputs

NixストアからローカルのFlake入力を探索

cache

パッケージのバイナリキャッシュステータスを確認

ソース

クエリ対象

nixos

パッケージ、オプション、プログラム

home-manager

Home Managerオプション

darwin

nix-darwinオプション

flakes

コミュニティFlake (search.nixos.org)

flakehub

FlakeHubレジストリ (flakehub.com)

nixvim

Nixvim Neovim設定オプション

noogle

Nix関数シグネチャとドキュメント (noogle.dev)

wiki

NixOS Wiki記事 (wiki.nixos.org)

nix-dev

公式Nixドキュメント (nix.dev)

nixhub

パッケージメタデータとストアパス (nixhub.io)

例:

# Search NixOS packages
nix(action="search", query="firefox", source="nixos", type="packages")

# Get package info
nix(action="info", query="firefox", source="nixos", type="package")

# Search Home Manager options
nix(action="search", query="git", source="home-manager")

# Browse darwin options
nix(action="options", source="darwin", query="system.defaults")

# Search Nixvim options
nix(action="search", query="telescope", source="nixvim")

# Get Nixvim option info
nix(action="info", query="plugins.telescope.enable", source="nixvim")

# Search FlakeHub
nix(action="search", query="nixpkgs", source="flakehub")

# Get FlakeHub flake info
nix(action="info", query="NixOS/nixpkgs", source="flakehub")

# Search Noogle for Nix functions
nix(action="search", query="mapAttrs", source="noogle")

# Get Noogle function info
nix(action="info", query="lib.attrsets.mapAttrs", source="noogle")

# Browse Noogle function categories
nix(action="options", source="noogle", query="lib.strings")

# Search NixOS Wiki
nix(action="search", query="nvidia", source="wiki")

# Get Wiki page info
nix(action="info", query="Flakes", source="wiki")

# Search nix.dev documentation
nix(action="search", query="packaging tutorial", source="nix-dev")

# Search NixHub for package metadata
nix(action="search", query="nodejs", source="nixhub")

# Get detailed package info from NixHub (license, homepage, store paths)
nix(action="info", query="python", source="nixhub")

# Check binary cache status
nix(action="cache", query="hello")

# Check cache for specific version
nix(action="cache", query="python", version="3.12.0")

# Check cache for specific system
nix(action="cache", query="firefox", system="x86_64-linux")

# Get stats
nix(action="stats", source="nixos", channel="stable")

# List local flake inputs (requires Nix)
nix(action="flake-inputs", type="list")

# Browse files in a flake input
nix(action="flake-inputs", type="ls", query="nixpkgs:pkgs/by-name")

# Read a file from a flake input
nix(action="flake-inputs", type="read", query="nixpkgs:flake.nix")

nix_versions - パッケージバージョン履歴

nixpkgsコミットハッシュを含む過去のバージョンを検索します。出力には以下が含まれます:

  • 利用可能な場合のパッケージメタデータ(ライセンス、ホームページ、プログラム)

  • バージョンごとのプラットフォーム可用性(Linux/macOS)

  • 再現可能なビルドのためのNixpkgsコミットハッシュ

  • Nix式のための属性パス

nix_versions(package, version, limit)

例:

# List recent versions with metadata
nix_versions(package="python", limit=5)

# Find specific version
nix_versions(package="nodejs", version="20.0.0")

インストール

Nixをインストールする必要はありません。 Pythonが動作する場所ならどこでも動作します。

# Run directly (no install)
uvx mcp-nixos

# Or install
pip install mcp-nixos

Nixユーザーの場合:

nix run github:utensils/mcp-nixos
nix profile install github:utensils/mcp-nixos

宣言的インストール (NixOS / Home Manager / nix-darwin)

mcp-nixos は nixpkgs で利用可能です:

# NixOS (configuration.nix)
environment.systemPackages = [ pkgs.mcp-nixos ];

# Home Manager (home.nix)
home.packages = [ pkgs.mcp-nixos ];

# nix-darwin (darwin-configuration.nix)
environment.systemPackages = [ pkgs.mcp-nixos ];

または、提供されているオーバーレイを使用して直接Flakeを使用してください:

# flake.nix
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    mcp-nixos.url = "github:utensils/mcp-nixos";
  };

  outputs = { self, nixpkgs, mcp-nixos, ... }: {
    # Example: NixOS configuration
    nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [{
        nixpkgs.overlays = [ mcp-nixos.overlays.default ];
        environment.systemPackages = [ pkgs.mcp-nixos ];
      }];
    };

    # Example: Home Manager standalone
    homeConfigurations.myuser = home-manager.lib.homeManagerConfiguration {
      pkgs = import nixpkgs {
        system = "x86_64-linux";
        overlays = [ mcp-nixos.overlays.default ];
      };
      modules = [{
        home.packages = [ pkgs.mcp-nixos ];
      }];
    };
  };
}

開発

nix develop          # Enter dev shell
nix build            # Build package
pytest tests/        # Run tests
ruff check .         # Lint
ruff format .        # Format
mypy mcp_nixos/      # Type check

謝辞

  • NixHub.io - パッケージバージョン履歴

  • search.nixos.org - 公式NixOS検索

  • FlakeHub - Determinate SystemsによるFlakeレジストリ

  • Jetify - DevboxおよびNixHubの作成者

  • Noogle - Nix関数検索エンジン

  • NuschtOS - Nixvimサポートを支える静的オプション検索インフラ

  • Nixvim - NixのためのNeovim設定フレームワーク

ライセンス

MIT - 分かち合いは思いやりだから。


James Brinkによって作成されました。Nixを楽しむマゾヒスト(愛好家)たちによって保守されています。

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
2dResponse time
3wRelease cycle
16Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.
    2
    1,169,818
    61,256
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A local MCP server that gives AI coding assistants retrieval access to your personal knowledge base of books, standards, and docs, grounding their answers in sources you trust.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that provides tools to fetch live, version-accurate documentation, changelogs, examples, and method signatures for npm and PyPI packages, preventing AI coding agents from hallucinating stale APIs.
    16
    ISC
  • F
    license
    A
    quality
    D
    maintenance
    Model Context Protocol (MCP) server for Octopilot — enables AI agents to detect, generate, build, and wire up new repositories end-to-end using the Octopilot CI/CD toolchain.
    7

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/utensils/mcp-nixos'

If you have feedback or need assistance with the MCP directory API, please join our Discord server