urlDNA

by urldna

365 downloads
Not rated
GitHub

About

Dynamically scan and analyze potentially malicious URLs using the [urlDNA](https://urlDNA.io)

Details

Author
urldna
Downloads
365
Categories
Web Scraping, Developer Tools, Other, Security

- Enables native tool use for security-focused LLM agents
- Supports OpenAI GPT-4.1 and Claude 3 Desktop
- Provides direct API interface to urlDNA threat intelligence platform

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name urlDNA
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "urldna": {
            "urlDNA": {
                "command": "uv",
                "args": [
                    "run",
                    "python",
                    "<YOUR_PATH>/urldna_mcp/run.py"
                ],
                "env": {
                    "authorization": "<urlDNA_API_KEY>"
                }
            }
        }
    }
}

McpServers

{
    "urlDNA": {
        "command": "uv",
        "args": [
            "run",
            "python",
            "<YOUR_PATH>/urldna_mcp/run.py"
        ],
        "env": {
            "authorization": "<urlDNA_API_KEY>"
        }
    }
}

- Check a URL’s safety instantly— usefast_checkto get an immediate SAFE, MALICIOUS, or UNRATED verdict without waiting for a full scan.
- Submit a URL for deep scanning— triggernew_scanto analyze a URL and retrieve the complete result once the scan finishes.
- Search the scan database with CQL— query scans by domain, IP, technology, or malicious flag usingsearchwith Custom Query Language.
- Manage saved queries— create, list, update, or delete reusable CQL queries viacreate_query,list_queries,update_query, anddelete_query, then fetch matching scans withquery_scans.
- Monitor brand-related threats— list monitored brands withlist_brands, inspect a brand’s details withget_brand, and retrieve associated scans viabrand_scans.
- Retrieve a past scan by ID— useget_scanto pull the full report for a previously completed scan.

TheurlDNA MCP Serverenables native tool use for security-focused LLM agents like OpenAI GPT-4.1 and Claude Desktop, providing a direct interface to interact with theurlDNAthreat intelligence platform via API.

This project usesuvfor fast Python package management.

# 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
git clone <repository-url> cd urlDNA-mcp-server uv sync

- Run the MCP server locally (stdio mode):

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

TheurlDNA MCPserver is alreadyhosted and availableat:

This server is accessible overServer-Sent Events (SSE)protocol, which supports streaming interactions between LLMs and the backend tools.

You can use it directly with any platform or LLM that supports the MCP specification (e.g., Claude Desktop, OpenAI GPT-4.1).

To integrate theurlDNA MCP serverin Claude Desktop, update yourclaude_desktop_config.json:

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

Replace<YOUR_PATH>with the actual path to the project directory and<urlDNA_API_KEY>with your API key fromhttps://urldna.io.

Once configured, you can prompt Claude with natural language, for example:

"Search in urlDNA for malicious scans with title like paypal"

"Create a saved query for mobile scans from Italy that are flagged as malicious"

"Show me all scans associated with the Google brand"

Claude will automatically call the correct tool and return results from the urlDNA platform.

Using the MCP Server with 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)
# 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

- Fork the repository
- Create a feature branch:git checkout -b feature-name
- Install development dependencies:uv sync --dev
- Make your changes and ensure tests pass
- Format code:uv run black .
- Submit a pull request

For support or API access, visithttps://urldna.ioor emailurldna@urldna.io.

Enable AI agents to get structured data from unstructured web with AgentQL.

Web scraping, crawling, and change detection with AI

Official Apify MCP server for AI agents to run Actors, extract website data, and automate web scraping and crawling workflows.

1GB Free Trial, World's Leading Proxy Service Platform, Efficient Data Collection

Discover, extract, and interact with the web - one interface powering automated access across the public internet.

Automate browser interactions in the cloud (e.g. web navigation, data extraction, form filling, and more)

Easy web data access. Simplified retrieval of information from websites and online sources.

Adds powerful web scraping and search capabilities to LLM clients like Cursor and Claude.

Real-time web data, structured for agents

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.