IR Toolshed MCP Server

by rossja
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides the ability to look up Google's ASN information and network details through the ASN lookup functionality.

IR ツールシェッド MCP サーバー

セキュリティ専門家向けにインシデント対応およびネットワーク分析ツールを提供する包括的なモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、ClaudeのようなAIエージェントは、ネットワーク関連の様々な検索と分析を実行し、セキュリティ調査を支援します。

概要

IR Toolshed MCPサーバーは、モデルコンテキストプロトコル(MCP)経由でアクセスできるネットワークおよびセキュリティツールスイートを提供します。ネットワークインシデント対応者向けの汎用サービスとして設計されており、以下のツールを使って基本的な検索を実行できます。

  • ASN(自律システム番号)検索
  • DNSルックアップと分析
  • WHOISレコードの取得
  • IPジオロケーション
  • さらに多くのネットワーク分析機能が今後登場します

各ツールにはリソースとして詳細なドキュメントが付属しており、AI システムがツールの使用方法や期待される出力を簡単に理解できるようになります。

現在のツール

ASN検索ツール

ASN 検索ツールは、次のような IP アドレスに関する情報を返します。

  • 照会されたIPアドレス
  • IPアドレスに関連付けられたAS番号
  • AS番号を所有する組織の名前

DNSルックアップツール

DNS ルックアップ ツールは、ドメインの DNS レコード情報を提供します。

  • 複数のレコードタイプをサポート(A、AAAA、MX、NS、TXT)
  • フォーマットされたDNSレコードを返します
  • IPv4とIPv6の両方のクエリを処理

WHOIS検索ツール

WHOIS 検索ツールはドメイン登録情報を取得します。

  • ドメイン所有権の詳細
  • 登録日
  • ネームサーバー情報
  • レジストラの詳細

地理位置情報ツール

IP ジオロケーション ツールは、MaxMind の GeoLite2 データベースを使用して位置情報を提供します。

  • 国および都市レベルの位置データ
  • 緯度と経度の座標
  • ネットワーク情報
  • タイムゾーンデータ

注: ジオロケーションツールを使用するには、MaxMind のライセンスキーが必要です。以下の操作が可能です。

  1. 無料キーを入手するには、次のサイトにアクセスしてください: https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
  2. どちらか:
    • MAXMIND_LICENSE_KEY環境変数を設定する
    • ツールを使用するときにパラメータとして指定します
    • プロンプトが表示されたら入力してください

今後のリリースではさらに多くのツールが追加される予定です。

前提条件

  • Python 3.8以降(3.13以上を推奨)
  • uv Python パッケージマネージャー

インストール

  1. このリポジトリをクローンします:
git clone <repository-url> cd ir-toolshed-mcp-server
  1. 仮想環境を作成します。
uv venv
  1. 仮想環境をアクティブ化します。

Windowsの場合:

.venv\Scripts\activate

macOS/Linuxの場合:

source .venv/bin/activate
  1. 開発モードでパッケージをインストールします。
uv pip install -e .

サーバーの実行

次のコマンドで MCP サーバーを起動します。

uv run mcp dev src/mcp_server.py

これにより、サーバーが開発モードで起動され、Claude Desktop などの MCP クライアントで使用できるようになります。

ツールの使用

ASN検索ツール

Claude Desktop などの MCP クライアントに接続すると、IP アドレスを指定して ASN 検索ツールを使用できます。

asnlookup("8.8.8.8")

出力例:

{ "ip_addr": "8.8.8.8", "as_number": "15169", "as_name": "GOOGLE - Google LLC" }

DNSルックアップツール

Claude Desktop などの MCP クライアントに接続すると、ドメインを指定して DNS ルックアップ ツールを使用できます。

dnslookup("example.com")

出力例:

{ "domain": "example.com", "record_type": "A", "record_value": "93.184.216.34" }

WHOIS検索ツール

Claude Desktop などの MCP クライアントに接続すると、ドメインを指定して WHOIS 検索ツールを使用できます。

whoislookup("example.com")

出力例:

{ "domain": "example.com", "ownership_details": "Google LLC", "registration_date": "2004-04-26", "nameserver_information": "ns1.google.com", "registrar_details": "MarkMonitor Inc." }

地理位置情報ツール

Claude Desktop などの MCP クライアントに接続すると、IP アドレスを指定して地理位置情報ツールを使用できます。

geolocation("8.8.8.8")

出力例:

{ "ip_addr": "8.8.8.8", "country": "US", "city": "Mountain View", "latitude": 37.40599, "longitude": -122.078514, "network": "AS15169 Google LLC", "timezone": "America/Los_Angeles" }

エラー処理

各ツールは一貫したエラー処理パターンに従います。

一般的なエラー応答形式:

{ "status": "error", "error": "Detailed error message", "query": "Original query value" }

ツール固有のエラーの例:

ASN検索:

{ "ip_addr": "<queried-ip>", "status": "error", "error": "Invalid IP address format" }

DNSルックアップ:

{ "domain": "<queried-domain>", "record_type": "<requested-type>", "status": "error", "error": "DNS resolution failed" }

WHOIS検索:

{ "domain": "<queried-domain>", "status": "error", "error": "WHOIS server not available" }

地理位置情報:

{ "ip_addr": "<queried-ip>", "status": "error", "error": "MaxMind database not found or license key invalid" }

プロジェクト構造

このプロジェクトは標準の Python パッケージ構造に従います。

irtoolshed_mcp_server/ # Main package directory ├── __init__.py # Package initialization ├── asnlookup.py # ASN lookup functionality ├── dnslookup.py # DNS lookup functionality ├── geolookup.py # Geolocation functionality ├── mcp_server.py # Main MCP server implementation └── whoislookup.py # WHOIS lookup functionality tests/ # Test directory ├── test_asnlookup.py # ASN lookup tests ├── test_dnslookup.py # DNS lookup tests ├── test_geolookup.py # Geolocation tests └── test_whoislookup.py # WHOIS lookup tests

発達

開発環境の設定

  1. このリポジトリをクローンします:
git clone <repository-url> cd ir-toolshed-mcp-server
  1. 仮想環境を作成し、依存関係をインストールします。
uv venv source .venv/bin/activate # On Windows use: .venv\Scripts\activate uv pip install -e ".[dev]"

テストの実行

テスト スイートを実行するには:

uv run pytest

これにより、次のようになります。

  • tests/ディレクトリ内のすべてのテストを実行する
  • テストカバレッジ情報を表示する
  • 失敗の詳細な出力を表示する

注: 一部のテストでは追加の構成が必要です。

  • ジオロケーションテストにはMaxMind GeoLite2データベースとライセンスキーが必要です
  • WHOISサービスが利用できない場合、WHOISテストは失敗する可能性があります

コード品質

このプロジェクトでは、コードの品質を維持するためにいくつかのツールを使用しています。

  • 黒でコードをフォーマットします:
uv run black .
  • isort を使用してインポートをソートします。
uv run isort .
  • mypy で型チェックを実行します。
uv run mypy .
  • ruff で linting を実行します。
uv run ruff .

ロードマップ

完了: ✓ ASN検索 ✓ DNSレコード検索 (A、AAAA、MXなど) ✓ WHOISレコード取得 ✓ IPジオロケーションサービス

今後追加予定のツール:

  • ドメイン評判スコアリング
  • SSL証明書分析
  • ネットワークポートスキャン
  • 脅威インテリジェンスの統合
  • パッシブDNS履歴
  • メールセキュリティ分析(SPF、DKIM、DMARC)
  • BGPルート分析
  • ネットワークトラフィックの可視化
  • マルウェアハッシュ検索
  • URL の評判チェック

貢献

新しいIRツールの追加や既存のツールの改善への貢献を歓迎します。以下の手順に従ってください。

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. mcp_server.py の既存のパターンに従ってツールを追加します。
  4. 適切なドキュメントをリソースとして含める
  5. 変更内容を明確に記述したプルリクエストを送信します

ライセンス

アパッチ 2.0

セキュリティに関する考慮事項

このサーバーは、正当なセキュリティ調査およびインシデント対応を目的としています。ユーザーは、これらのツールを使用する際に、適用されるすべての法律および規制を遵守する必要があります。

-
security - not tested
A
license - permissive license
-
quality - not tested

セキュリティ専門家にネットワーク分析ツールを提供するモデル コンテキスト プロトコル サーバー。Claude などの AI モデルが、セキュリティ調査のために ASN ルックアップ、DNS 分析、WHOIS 取得、IP ジオロケーションなどのタスクを実行できるようになります。

  1. Overview
    1. Current Tools
      1. ASN Lookup Tool
      2. DNS Lookup Tool
      3. WHOIS Lookup Tool
      4. Geolocation Tool
    2. Prerequisites
      1. Installation
        1. On Windows:
        2. On macOS/Linux:
      2. Running the Server
        1. Using the Tools
          1. ASN Lookup Tool
          2. DNS Lookup Tool
          3. WHOIS Lookup Tool
          4. Geolocation Tool
        2. Error Handling
          1. Project Structure
            1. Development
              1. Setting Up Development Environment
              2. Running Tests
              3. Code Quality
            2. Roadmap
              1. Contributing
                1. License
                  1. Security Considerations
                    ID: aq6e8k0oyw