🍓 pihole-mcp-serer
Pi-hole用のモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Pi-holeの機能をAIアシスタントが使用できるツールとして公開します。
依存関係
ドッカー
uv
(オプション、開発用)
アプリケーションをローカルで実行したい場合は、 uv
を使用してください。お好みのパッケージマネージャーでインストールしてください。
環境
Pi-hole の資格情報を使用して、プロジェクト ルートに.env
ファイルを作成します。
プロジェクト構造
このプロジェクトは、保守性を向上させるためにモジュール構成を採用しています。
この構造により、すべての実行モードとの互換性を維持しながら、コードを論理コンポーネントに分割します。
サーバーの実行
Pi-hole MCP サーバーを実行するにはいくつかの方法があります。
Docker の使用 (本番環境での推奨)
サーバーはhttp://localhost:8383
で利用可能になります。
Dockerによる開発モード
開発の場合は、ローカルでビルドする dev Compose ファイルを使用します。
MCP検査官
uv
とmcp
CLI を使用して MCP インスペクターを実行できます。
これによりhttp://localhost:6274
で対話型インターフェースが起動し、ツールとリソースをテストできるようになります。
API
この MCP サーバーは、次のリソースとツールを公開します。
リソース
piholes://
: 設定されているすべてのPi-holesに関する情報を返しますversion://
: MCPサーバーのバージョンを返しますlist-tools://
: ツールカテゴリのリストを返しますlist-tools://{category}
: 特定のカテゴリ内のツールのリストを返します
ツール
各ツール呼び出しは、次の構造を持つ辞書のリストとして結果を返します。
構成
list_local_dns
: Pi-hole からすべてのローカル DNS 設定を一覧表示しますadd_local_a_record
: Pi-hole にローカル A レコードを追加します。add_local_cname_record
: Pi-hole にローカル CNAME レコードを追加します。remove_local_a_record
: ホスト名のすべての A レコードを削除します。remove_local_cname_record
: ホスト名のすべての CNAME レコードを削除します。
メトリクス
list_queries
: Pi-holeから最近のDNSクエリ履歴を取得します。list_query_suggestions
: クエリフィルタの提案を取得するlist_query_history
: クエリのアクティビティグラフデータを時間経過とともに取得する
goose
でのテスト
Gooseは、テストと開発に役立つCLI LLMクライアントです。インストール手順はこちらを参照してください。
以下はgoose configure
を使用して初期設定が完了していることを前提としています。
拡張機能の設定
- 設定メニューを開くには、
goose configure
と入力します。 - 拡張機能を追加を選択
- リモート内線を選択
- 名前を聞いてきます。どんな名前でも構いません。私は
pihole-mcp
と名付けました。 - *「SSE エンドポイント URI は何ですか?」*と尋ねられたら
http://localhost:8383/sse
と入力します。 - タイムアウトを入力します。
- 必要に応じて説明を追加してください。
- 環境変数について尋ねられたら、 **「いいえ」**を選択します。
セッションを開始する
サーバーがインストールされたら、チャット セッションを開始します。
*「ローカル DNS レコードとは何ですか?」*と質問してみてください。
...または、 「最近の DNS クエリを表示してください」と指示します。
クロードデスクトップ
Claude のデスクトップ クライアントは現在 STDIO プロトコルのみをサポートしていますが、プロキシを使用して SSE エンドポイントと通信することができます。
claude_desktop_config.json
ファイルに次の内容を追加します。
ローカルネットワーク上の別のホストに接続し、セキュリティ保護されていない接続を使用している場合は、 --allow-http
引数を使用して明示的に許可する必要があります。例:
その後、アプリケーションを完全に再起動して試してください。
ライセンス
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Pi-hole 機能を AI アシスタントのツールとして公開するサーバー。これにより、AI アシスタントは自然言語を通じてローカル DNS 設定やクエリ履歴を取得できるようになります。
Related MCP Servers
- AsecurityAlicenseAqualityProvides comprehensive access to Roam Research's API functionality. This server enables AI assistants like Claude to interact with your Roam Research graph through a standardized interface.Last updated -188959TypeScriptMIT License
- -securityAlicense-qualityA server that enables AI assistants like Claude to safely run Python code and access websites, processing data for better AI understanding while providing helpful error messages.Last updated -3PythonGPL 3.0
- -securityAlicense-qualityA simple MCP server that enables AI assistants to perform domain research including availability checking, WHOIS lookups, DNS record retrieval, and finding expired domains without requiring API keys.Last updated -27PythonMIT License
- -securityAlicense-qualityA server that enables AI assistants to access Polarsteps travel data, allowing queries about user profiles, trip details, travel statistics, and natural language search through travel histories.Last updated -2PythonMIT License