WHOIS MCP について
WHOIS MCPは、標準化されたインターフェースでドメイン登録情報を調べるJavaサーバーです。ドメインの検証とサニタイズ、WHOISサーバー情報のキャッシュを行い、必要に応じてIANA WHOISにフォールバックします。
主な機能
- 01ドメインのWHOIS情報を検索
- 02ドメインを検証・サニタイズ
- 03WHOISサーバー情報をキャッシュ
- 04IANA WHOISにフォールバック
- 05クエリエラーを処理
活用シーン
- 01ドメイン登録情報の確認
- 02MCPクライアントからWHOIS情報を照会
MCP 対応
標準入出力を介してMCPでドメインのWHOIS検索を提供します。対応クライアントからドメインを渡し、結果を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
WHOIS MCP
Model Context Protocol(MCP)サーバーとして実装された WHOIS ルックアップサービスです。
概要
WHOIS MCP は、Model Context Protocol を通じて WHOIS ルックアップ機能を提供する Java アプリケーションです。標準化されたインターフェースを使用して、ドメインの WHOIS 情報を照会できます。サーバーは標準入出力を介して通信するため、MCP クライアントと互換性があります。
デモ
https://github.com/user-attachments/assets/037a30de-c330-4dd4-93c2-2add936b9caf
https://github.com/user-attachments/assets/2a91045a-b922-4832-9500-dc9eacb54ee0
https://github.com/user-attachments/assets/befbb1e0-137c-4534-b7f7-433305a41755
機能
- ドメインの検証とサニタイズ
- WHOIS サーバー情報のキャッシュ
- 特定のサーバーが見つからない場合に IANA WHOIS サーバーへフォールバック
- 包括的なエラー処理
- Model Context Protocol との統合
インストール
前提条件
- Java 21 以降
- Maven 3.6 以降
プロジェクトのビルド
-
リポジトリをクローンします:
git clone https://github.com/asjordi/whois-mcp.git cd whois-mcp -
Maven でビルドします:
mvn clean package
これにより、実行可能な JAR ファイルが target ディレクトリに作成されます。
- 開発やデバッグを簡単に行うには、お好みの IDE(IntelliJ IDEA、Eclipse など)でプロジェクトを開きます。
サーバーのデバッグ
サーバーをデバッグするには、MCP Inspector を使用できます。
- まず、次のコマンドでプロジェクトをビルドします:
mvn clean package
- 次のコマンドで MCP Inspector を実行します:
npx @modelcontextprotocol/inspector
- 次の値を設定します:
- トランスポート:
STDIO - コマンド:
java - 引数:
-jar PATH\\target\\whois-mcp-1.0-SNAPSHOT.jar
- Connect ボタンをクリックして MCP Inspector を起動し、サーバーに接続します。
使用方法
設定が完了すると、このプロトコルをサポートする任意の MCP クライアントで WHOIS MCP サーバーを自動的に利用できるようになります。
Claude
メニューから「File」>「Settings」>「Developer」>「Edit Config」に進み、claude_desktop_config.json ファイルに次の内容を追加します:
{
"mcpServers": {
"whois-mcp-server": {
"command": "java",
"args": [
"-jar",
"PATH\\target\\whois-mcp-1.0-SNAPSHOT.jar"
]
}
}
}
ファイルを保存してアプリケーションを再起動します。これで、WHOIS MCP サーバーにリクエストを送信して利用できます。
VSCode
settings.json を開き、次の設定を追加します:
"mcp": {
"servers": {
"whois-mcp-server": {
"type": "stdio",
"command": "java",
"args": [
"-jar",
"PATH\\whois-mcp\\target\\whois-mcp-1.0-SNAPSHOT.jar"
]
}
}
}
ファイルを保存してアプリケーションを再起動します。Copilot を開き、モードを Agent に設定すると、WHOIS MCP サーバーを利用できます。
プロジェクト構成
プロジェクトは、次の主要コンポーネントを中心に構成されています:
主なコンポーネント
- Main:アプリケーションのエントリーポイントです。MCP サーバーを初期化して起動します。
- WhoisService:Apache Commons Net ライブラリを使用して WHOIS クエリを実行する中核サービスです。
- WhoisCache:ドメイン拡張子に基づいて WHOIS サーバー情報をキャッシュします。
- DomainValidatorUtil:Apache Commons Validator を使用してドメイン名を検証します。
- DomainSanitizer:不要な文字を削除し、適切な形式に整えることでドメイン名をサニタイズします。
- McpException:WHOIS MCP サーバー固有のエラーを処理するためのカスタム例外クラスです。
処理の流れ
- MCP サーバーがドメイン名を含むリクエストを受信します。
- ドメインを検証してサニタイズします。
- ドメイン拡張子に基づき、キャッシュから適切な WHOIS サーバーを特定します。
- サーバーに対して WHOIS クエリを実行します。
- MCP プロトコルを介して結果をクライアントに返します。
Whois サーバーのマッピング
WHOIS サーバーのマッピングは whois-servers.properties ファイルで設定します。このファイルでは、トップレベルドメインと対応する WHOIS サーバーを関連付けています。このファイルが利用できない場合は、デフォルトのサーバーセットが使用されます。
依存関係
- Model Context Protocol SDK:MCP サーバーの実装に使用
- SLF4J:ロギングに使用
- Apache Commons Net:WHOIS クライアント機能に使用
- Apache Commons Validator:ドメイン検証に使用
- JUnit Jupiter:テストに使用
テスト
このプロジェクトには、すべてのコンポーネントを対象とした包括的な単体テストが含まれています。次のコマンドでテストを実行します:
mvn test
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
Author
Jordi Ayala - asjordi.dev
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。