MISP MCP Server について
MISP MCP Server は、MISP インスタンスから IOC を取得する機能を MCP 対応クライアントに提供します。最近の IOC の集計、種類別の絞り込み、JSON 出力、接続確認に対応します。
主な機能
- 01過去24時間に追加されたIOCを取得
- 02種類別にIOC件数を集計
- 03種類でIOCを絞り込み
- 04最近のIOCをJSONに出力
- 05MISPの接続と設定を確認
活用シーン
- 01MISPに最近追加された指標を確認
- 02種類ごとの最近の指標数を集計
- 03IP、ドメイン、URL、ハッシュの指標を取得
- 04最近の指標を後で使うために保存
MCP 対応
MCP クライアントに、MISP IOC の取得、集計、絞り込み、出力ツールとサーバー情報リソースを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MISP MCP サーバー
MISP(Malware Information Sharing Platform)の IOC 取得機能を、Claude Desktop などの MCP 互換クライアントに公開するシンプルな Model Context Protocol(MCP)サーバーです。
機能
- 最新の IOC を取得:過去 24 時間以内に MISP に追加された IOC を取得します
- IOC の概要:IOC タイプ別の統計と件数を取得します
- タイプで絞り込み:特定のタイプ(IP、ドメイン、URL など)で絞り込んだ IOC を取得します
- ファイルに保存:IOC を JSON ファイルにエクスポートします
- 接続を確認:MISP への接続と設定を確認します
前提条件
- Python 3.8+
- MISP インスタンスへのアクセス
- 適切な権限を持つ MISP API キー
インストール
-
プロジェクトファイルをクローンまたはダウンロードします:
git clone <your-repo-url> cd misp-mcp-server -
依存関係をインストールします:
pip install -r requirements.txt -
環境変数を設定します: MISP の認証情報を記載した
.envファイルを作成します:MISP_URL=https://your-misp-instance.com MISP_API_KEY=your-api-key-here
使用方法
MCP サーバーの実行
python misp_mcp_server.py
サーバーが起動し、STDIO 経由で MCP 接続を待ち受けます。
Claude Desktop への接続
以下を Claude Desktop の MCP 設定ファイルに追加します:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"misp-server": {
"command": "python",
"args": ["/absolute/path/to/misp_mcp_server.py"],
"env": {
"MISP_URL": "https://your-misp-instance.com",
"MISP_API_KEY": "your-api-key-here"
}
}
}
}
MCP Inspector でのテスト
# Install MCP tools (optional)
pip install mcp
# Run the inspector
mcp-inspector python misp_mcp_server.py
利用可能なツール
get_recent_iocs()
過去 24 時間以内に MISP に追加されたすべての IOC を取得します。
戻り値:value、type、timestamp、category、tags、event フィールドを含む IOC の辞書リスト
get_ioc_summary()
最新の IOC の概要統計を取得します。
戻り値:合計件数、タイプ別件数、サンプル IOC を含む辞書
get_iocs_by_type(ioc_type: str)
特定のタイプで IOC を絞り込みます。
パラメーター:
ioc_type:絞り込む IOC のタイプ(例:'ip-dst'、'domain'、'url'、'md5'、'sha256')
戻り値:指定したタイプに一致する IOC のリスト
save_iocs_to_file(filename: str = None)
最新の IOC を JSON ファイルに保存します。
パラメーター:
filename:任意のファイル名(指定しない場合は自動生成されます)
戻り値:保存結果を含むステータス辞書
check_misp_connection()
MISP への接続と設定を確認します。
戻り値:接続ステータスと設定情報
利用可能なリソース
misp://server-info
利用可能なツールと説明を含む、MCP サーバーの情報を取得します。
やり取りの例
Claude Desktop に接続すると、次のように尋ねることができます:
- 「MISP の最新 IOC の概要を取得して」
- 「過去 24 時間以内の IP アドレスの IOC をすべて表示して」
- 「最新の IOC を 'threats_today.json' という名前のファイルに保存して」
- 「MISP への接続が正常に機能しているか確認して」
- 「最近追加されたドメインの IOC はいくつ?」
ファイル構成
misp-mcp-server/
├── misp_to_json.py # Original MISP IOC retrieval functions
├── misp_mcp_server.py # MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
├── .env # Environment variables (create this)
└── .env.example # Example environment file
設定
環境変数
| 変数 | 説明 | 必須 |
|---|---|---|
MISP_URL | MISP インスタンスの URL | はい |
MISP_API_KEY | MISP API 認証キー | はい |
MISP の権限
MISP API キーには、次の権限が必要です:
- 属性への読み取りアクセス
- イベントへのアクセス(コンテキスト用)
- タグの表示権限(タグを使用する場合)
トラブルシューティング
よくある問題
「MISP_API_KEY not found」
.envファイルがスクリプトと同じディレクトリにあることを確認してください- API キーの形式が正しいことを確認してください
「Failed to connect to MISP」
.envファイル内のMISP_URLを確認してください- ネットワークから MISP インスタンスにアクセスできることを確認してください
- SSL 証明書の問題を確認してください(ローカルインスタンスではスクリプトが
ssl=Falseを使用します)
「No IOCs found」
- 過去 24 時間以内に IOC が追加されていない場合、これは正常です
- MISP インスタンスで最近のアクティビティを確認してください
Pydantic の検証エラー
- fastmcp 2.0 以降を使用していることを確認してください
- すべての関数パラメーターに適切な型ヒントが設定されていることを確認してください
デバッグモード
misp_mcp_server.py の先頭に以下を追加すると、デバッグログが有効になります:
import logging
logging.basicConfig(level=logging.DEBUG)
開発
新しいツールの追加
新しい MCP ツールを追加するには、関数に @mcp.tool() デコレーターを付けます:
@mcp.tool()
def your_new_function(param: str) -> dict:
"""Description of what this tool does"""
# Your implementation here
return {"result": "success"}
新しいリソースの追加
新しい MCP リソースを追加するには、@mcp.resource() を使用します。
@mcp.resource("misp://your-resource")
def your_resource() -> str:
"""Resource description"""
return "Resource content"
ライセンス
このプロジェクトは、教育目的および運用目的で現状有姿のまま提供されます。IOC データを扱う際は、組織のセキュリティポリシーを遵守してください。
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 変更を加えます
- MCP Inspector でテストします
- プルリクエストを送信します
サポート
以下に関する問題について:
- MCP プロトコル:Model Context Protocol のドキュメントを確認してください
- FastMCP:FastMCP のドキュメントをご覧ください
- MISP API:PyMISP のドキュメントを参照してください
注記:このサーバーは、信頼できる MISP インスタンスでの内部利用を想定して設計されています。脅威インテリジェンスデータを扱う際は、常に組織のセキュリティガイドラインに従ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。