urlDNA MCP Server

resmi

Memindai dan menganalisis URL yang berpotensi berbahaya secara dinamis menggunakan urlDNA.io

Dokumentasi

Server MCP urlDNA

Blog

Claude Prompt

urlDNA MCP Server memungkinkan penggunaan alat native untuk agen LLM yang berfokus pada keamanan seperti OpenAI GPT-4.1 dan Claude Desktop, menyediakan antarmuka langsung untuk berinteraksi dengan platform intelijen ancaman urlDNA melalui API.


Instalasi & Pengaturan

Proyek ini menggunakan uv untuk manajemen paket Python yang cepat.

Prasyarat

Instal uv jika Anda belum memilikinya:

# 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

Mulai Cepat

  1. Kloning dan atur proyek:
git clone <repository-url>
cd urlDNA-mcp-server
uv sync
  1. Jalankan server MCP secara lokal (mode stdio):
uv run python urldna_mcp/run.py
  1. Jalankan server MCP dalam mode SSE:
uv run python urldna_mcp/server.py

Pengembangan

# 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 .

Server MCP Terhosting

Server urlDNA MCP sudah terhosting dan tersedia di:

https://mcp.urldna.io/sse

Server ini dapat diakses melalui protokol Server-Sent Events (SSE), yang mendukung interaksi streaming antara LLM dan alat backend.

Anda dapat menggunakannya langsung dengan platform atau LLM apa pun yang mendukung spesifikasi MCP (misalnya, Claude Desktop, OpenAI GPT-4.1).


Alat yang Didukung

Pemindaian

AlatDeskripsi
fast_checkPeriksa secara instan apakah URL telah dipindai. Mengembalikan SAFE / MALICIOUS / UNRATED.
new_scanKirim URL untuk pemindaian penuh dan tunggu hasilnya (~30–60 detik).
get_scanAmbil hasil pemindaian lengkap berdasarkan ID.

Pencarian

AlatDeskripsi
searchCari pemindaian menggunakan CQL (Custom Query Language) di seluruh domain, IP, teknologi, flag berbahaya, dan lainnya. Mendukung paginasi (halaman 2+ memerlukan PREMIUM).

Kueri Tersimpan

AlatDeskripsi
list_queriesDaftar semua kueri tersimpan untuk pengguna yang terautentikasi.
get_queryAmbil kueri tersimpan tertentu dan filternya berdasarkan ID.
create_queryBuat kueri tersimpan baru dengan satu atau lebih kondisi filter CQL.
update_queryPerbarui nama dan filter kueri yang ada (penggantian penuh).
delete_queryHapus permanen kueri tersimpan berdasarkan ID.
query_scansAmbil semua pemindaian yang cocok untuk kueri tersimpan.

Pemantauan Merek

AlatDeskripsi
list_brandsDaftar merek yang tersedia dengan pencarian nama opsional dan filter visibilitas (ALL / FREE / PREMIUM / USER_BRANDS).
get_brandAmbil detail lengkap merek tertentu berdasarkan ID.
brand_scansDapatkan semua pemindaian yang terkait dengan suatu merek. Mendukung filter CQL tambahan.

Referensi API

AlatDeskripsi
search_docsAmbil OpenAPI urlDNA lengkap dan dokumentasi.

Integrasi dengan Claude Desktop

Untuk mengintegrasikan urlDNA MCP server di Claude Desktop, perbarui claude_desktop_config.json Anda:

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

Ganti <YOUR_PATH> dengan jalur aktual ke direktori proyek dan <urlDNA_API_KEY> dengan kunci API Anda dari https://urldna.io.

Setelah dikonfigurasi, Anda dapat memberikan perintah kepada Claude dengan bahasa alami, misalnya:

"Cari di urlDNA untuk pemindaian berbahaya dengan judul seperti paypal"

"Buat kueri tersimpan untuk pemindaian seluler dari Italia yang ditandai sebagai berbahaya"

"Tampilkan semua pemindaian yang terkait dengan merek Google"

Claude akan secara otomatis memanggil alat yang tepat dan mengembalikan hasil dari platform urlDNA.


Menggunakan Server MCP dengan OpenAI GPT-4.1

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)

Deployment Kontainer

Bangun dan jalankan dengan 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

Berkontribusi

  1. Fork repositori
  2. Buat cabang fitur: git checkout -b feature-name
  3. Instal dependensi pengembangan: uv sync --dev
  4. Lakukan perubahan Anda dan pastikan pengujian lulus
  5. Format kode: uv run black .
  6. Kirim pull request

Kontak & Dukungan

Untuk dukungan atau akses API, kunjungi https://urldna.io atau email [email protected].