urlDNA MCP Server

resmi

urlDNA.io kullanarak potansiyel olarak kötü amaçlı URL'leri dinamik olarak tarayın ve analiz edin.

Dokümantasyon

urlDNA MCP Sunucusu

Blog

Claude Prompt

urlDNA MCP Server, OpenAI GPT-4.1 ve Claude Desktop gibi güvenlik odaklı LLM ajanları için yerel araç kullanımı sağlar ve urlDNA tehdit istihbarat platformuyla API üzerinden etkileşim kurmak için doğrudan bir arayüz sunar.


Kurulum ve Yapılandırma

Bu proje, hızlı Python paket yönetimi için uv kullanır.

Ön Koşullar

Eğer henüz yüklü değilse uv'yi yükleyin:

# 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

Hızlı Başlangıç

  1. Projeyi klonlayın ve kurun:
git clone <repository-url>
cd urlDNA-mcp-server
uv sync
  1. MCP sunucusunu yerel olarak çalıştırın (stdio modu):
uv run python urldna_mcp/run.py
  1. MCP sunucusunu SSE modunda çalıştırın:
uv run python urldna_mcp/server.py

Geliştirme

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

Barındırılan MCP Sunucusu

urlDNA MCP sunucusu zaten barındırılmış ve kullanıma hazır olarak şu adreste mevcuttur:

https://mcp.urldna.io/sse

Bu sunucuya, LLM'ler ile arka uç araçları arasında akış etkileşimlerini destekleyen Sunucu Tarafından Gönderilen Olaylar (SSE) protokolü üzerinden erişilebilir.

MCP spesifikasyonunu destekleyen herhangi bir platform veya LLM ile doğrudan kullanabilirsiniz (örn. Claude Desktop, OpenAI GPT-4.1).


Desteklenen Araçlar

Tarama

AraçAçıklama
fast_checkBir URL'nin taranıp taranmadığını anında kontrol eder. GÜVENLİ / ZARARLI / DERECELENDİRİLMEMİŞ döndürür.
new_scanTam tarama için bir URL gönderir ve sonucu bekler (~30–60sn).
get_scanKimliğe göre tam bir tarama sonucunu getirir.

Arama

AraçAçıklama
searchAlan adı, IP, teknoloji, zararlı bayrağı ve daha fazlasına göre CQL (Özel Sorgu Dili) kullanarak taramaları arar. Sayfalamayı destekler (2. sayfa ve sonrası PREMIUM gerektirir).

Kayıtlı Sorgular

AraçAçıklama
list_queriesKimliği doğrulanmış kullanıcı için tüm kayıtlı sorguları listeler.
get_queryKimliğe göre belirli bir kayıtlı sorguyu ve filtrelerini getirir.
create_queryBir veya daha fazla CQL filtre koşuluyla yeni bir kayıtlı sorgu oluşturur.
update_queryMevcut bir sorgunun adını ve filtrelerini günceller (tam değiştirme).
delete_queryKimliğe göre bir kayıtlı sorguyu kalıcı olarak siler.
query_scansBir kayıtlı sorgu için eşleşen tüm taramaları getirir.

Marka İzleme

AraçAçıklama
list_brandsİsteğe bağlı ad araması ve görünürlük filtresi (TÜMÜ / ÜCRETSİZ / PREMIUM / KULLANICI_MARKALARI) ile mevcut markaları listeler.
get_brandKimliğe göre belirli bir markanın tam detaylarını getirir.
brand_scansBir markayla ilişkili tüm taramaları getirir. Ek CQL filtrelemeyi destekler.

API Referansı

AraçAçıklama
search_docsTam urlDNA OpenAPI ve dokümantasyonlarını getirir.

Claude Desktop ile Entegrasyon

urlDNA MCP server'i Claude Desktop'a entegre etmek için claude_desktop_config.json dosyanızı güncelleyin:

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

<YOUR_PATH> kısmını proje dizininin gerçek yoluyla ve <urlDNA_API_KEY> kısmını https://urldna.io adresinden aldığınız API anahtarınızla değiştirin.

Yapılandırıldıktan sonra, Claude'u doğal dil ile yönlendirebilirsiniz, örneğin:

"urlDNA'da paypal gibi başlığa sahip zararlı taramaları ara"

"İtalya'dan zararlı olarak işaretlenmiş mobil taramalar için kayıtlı bir sorgu oluştur"

"Google markasıyla ilişkili tüm taramaları göster"

Claude otomatik olarak doğru aracı çağıracak ve urlDNA platformundan sonuçları döndürecektir.


MCP Sunucusunu OpenAI GPT-4.1 ile Kullanma

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)

Konteyner Dağıtımı

Docker ile oluşturun ve çalıştırın:

# 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

Katkıda Bulunma

  1. Depoyu çatallayın
  2. Bir özellik dalı oluşturun: git checkout -b feature-name
  3. Geliştirme bağımlılıklarını yükleyin: uv sync --dev
  4. Değişikliklerinizi yapın ve testlerin geçtiğinden emin olun
  5. Kodu biçimlendirin: uv run black .
  6. Bir çekme isteği gönderin

İletişim ve Destek

Destek veya API erişimi için https://urldna.io adresini ziyaret edin veya [email protected] adresine e-posta gönderin.