urlDNA MCP Server

公式

urlDNA.ioを使用して、潜在的に悪意のあるURLを動的にスキャンおよび分析します。

ドキュメント

urlDNA MCP サーバー

ブログ

Claude Prompt

urlDNA MCP Server は、OpenAI GPT-4.1 や Claude Desktop といったセキュリティ重視の LLM エージェントがネイティブツールを利用できるようにし、API 経由で urlDNA 脅威インテリジェンスプラットフォームと直接やり取りするためのインターフェースを提供します。


インストールとセットアップ

このプロジェクトは、高速な Python パッケージ管理のために uv を使用します。

前提条件

uv をまだインストールしていない場合は、インストールしてください:

# On macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# On Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# Or with pip
pip install uv

クイックスタート

  1. プロジェクトをクローンしてセットアップする:
git clone <repository-url>
cd urlDNA-mcp-server
uv sync
  1. MCP サーバーをローカルで実行する (stdio モード):
uv run python urldna_mcp/run.py
  1. MCP サーバーを SSE モードで実行する:
uv run python urldna_mcp/server.py

開発

# Install development dependencies
uv sync --dev

# Run tests (when available)
uv run pytest

# Format code
uv run black .

# Type checking
uv run mypy .

# Lint code
uv run flake8 .

ホスト型 MCP サーバー

urlDNA MCP サーバーは、すでにホストされ、利用可能です:

https://mcp.urldna.io/sse

このサーバーは Server-Sent Events (SSE) プロトコル経由でアクセス可能で、LLM とバックエンドツール間のストリーミングインタラクションをサポートします。

MCP 仕様をサポートする任意のプラットフォームや LLM (例: Claude Desktop、OpenAI GPT-4.1) で直接使用できます。


サポートされているツール

スキャン

ツール説明
fast_checkURL がスキャン済みかどうかを即座に確認します。SAFE / MALICIOUS / UNRATED を返します。
new_scan完全なスキャンのために URL を送信し、結果を待ちます (~30~60秒)。
get_scanID で完全なスキャン結果を取得します。

検索

ツール説明
searchCQL (カスタムクエリ言語) を使用して、ドメイン、IP、テクノロジー、悪意のあるフラグなどでスキャンを検索します。ページネーションをサポート (2ページ目以降は PREMIUM が必要)。

保存済みクエリ

ツール説明
list_queries認証されたユーザーの保存済みクエリをすべて一覧表示します。
get_queryID で特定の保存済みクエリとそのフィルターを取得します。
create_query1つ以上の CQL フィルター条件で新しい保存済みクエリを作成します。
update_query既存のクエリの名前とフィルターを更新します (完全置換)。
delete_queryID で保存済みクエリを完全に削除します。
query_scans保存済みクエリに一致するすべてのスキャンを取得します。

ブランド監視

ツール説明
list_brandsオプションの名前検索と可視性フィルター (ALL / FREE / PREMIUM / USER_BRANDS) で利用可能なブランドを一覧表示します。
get_brandID で特定のブランドの完全な詳細を取得します。
brand_scansブランドに関連付けられたすべてのスキャンを取得します。追加の CQL フィルタリングをサポートします。

API リファレンス

ツール説明
search_docs完全な urlDNA OpenAPI とドキュメントを取得します。

Claude Desktop との統合

Claude Desktop で urlDNA MCP server を統合するには、claude_desktop_config.json を更新します:

{
  "mcpServers": {
    "urlDNA": {
      "command": "uv",
      "args": [
        "--directory",
        "<YOUR_PATH>\\urldna_mcp",
        "run",
        "run.py"
      ],
      "env": {
        "x-api-key": "<urlDNA_API_KEY>"
      }
    }
  }
}

<YOUR_PATH> をプロジェクトディレクトリへの実際のパスに、<urlDNA_API_KEY>https://urldna.io からの API キーに置き換えてください。

設定が完了すると、Claude に自然言語でプロンプトを送ることができます。例:

「urlDNA でタイトルが paypal のような悪意のあるスキャンを検索して」

「イタリアからのモバイルスキャンで悪意のあるフラグが付いたものの保存済みクエリを作成して」

「Google ブランドに関連付けられたすべてのスキャンを表示して」

Claude は自動的に正しいツールを呼び出し、urlDNA プラットフォームから結果を返します。


OpenAI GPT-4.1 での MCP サーバーの使用

from openai import OpenAI

# Initialize OpenAI client (assumes OPENAI_API_KEY is set via environment variable)
client = OpenAI()

response = client.responses.create(
    model="gpt-4.1",  # GPT-4.1 supports native MCP tool use
    input=[
        {
            "role": "system",
            "content": [{"type": "input_text", "text": "You are a cybersecurity analyst using urlDNA."}]
        },
        {
            "role": "user",
            "content": [{"type": "input_text", "text": "Search in urlDNA for malicious scans with title like paypal"}]
        }
    ],
    text={"format": {"type": "text"}},
    reasoning={},
    tools=[
        {
            "type": "mcp",
            "server_label": "urlDNA",
            "server_url": "https://mcp.urldna.io/sse",
            "headers": {
                "x-api-key": "<URLDNA_API_KEY>"  # Replace with your urlDNA API key
            },
            "allowed_tools": [
                # --- Scanning ---
                "new_scan",       # Submit a URL for a full scan and wait for the result
                "get_scan",       # Retrieve a scan result by ID
                "fast_check",     # Lightweight instant safety check (SAFE / MALICIOUS / UNRATED)

                # --- Search ---
                "search",         # Search scans using CQL (Custom Query Language)

                # --- Saved Queries (PREMIUM) ---
                "list_queries",
                "get_query",
                "create_query",
                "update_query",
                "delete_query",
                "query_scans",

                # --- Brand Monitoring (PREMIUM) ---
                "list_brands",
                "get_brand",
                "brand_scans",

                # --- API Reference ---
                "search_docs",
            ],
            "require_approval": "never"
        }
    ],
    temperature=0.7,
    top_p=1,
    max_output_tokens=2048,
    store=True
)

print(response.output)

コンテナデプロイメント

Docker でビルドして実行:

# Build the container
docker build -t urldna-mcp-server .

# Run the server
docker run -p 8080:8080 -e x-api-key=<URLDNA_API_KEY> urldna-mcp-server

貢献

  1. リポジトリをフォークする
  2. フィーチャーブランチを作成する: git checkout -b feature-name
  3. 開発依存関係をインストールする: uv sync --dev
  4. 変更を加え、テストが通ることを確認する
  5. コードをフォーマットする: uv run black .
  6. プルリクエストを送信する

お問い合わせとサポート

サポートや API アクセスについては、https://urldna.io にアクセスするか、[email protected] までメールでお問い合わせください。