← Back to blog

Using DecryptAds with MCP

Model Context Protocol (MCP) lets AI assistants call structured tools instead of guessing at raw HTTP. DecryptAds ships an MCP bridge that exposes investigation, crawl, and transparency endpoints as named tools — so you can ask Cursor, Claude, or ChatGPT to look up a publisher, validate a schain, or pull declared-supply summaries in natural language.

Remote endpoint

The hosted MCP server uses Streamable HTTP at:

https://mcp.decryptads.com/mcp

The transport path is /mcp, not the site root. A short reference page lives at mcp.decryptads.com.

Under the hood, the bridge calls the same Flask API documented at api.decryptads.com/docs. Tool names and parameters mirror common GET/POST routes — for example investigate_hostname, get_declared_supply_summary, and validate_schain_json.

Authentication (API key)

MCP is available only to DecryptAds accounts. Each user connects with their own API key — the same tokens used for the REST API.

  1. Sign in to the app.
  2. Open Account → API keys (/apikeys) and create a token.
  3. Copy the key when shown (svw_…); it is displayed only once.
  4. Add it to your MCP client configuration (see below).

The bridge validates your key, then forwards it to the API on every tool call so you get the same access, rate limits, and monthly quota as direct REST usage. Revoke a key in the app to cut off MCP access immediately.

Send the token as Authorization: Bearer <key> or X-API-Key: <key> (see How to use the API).

Cursor

Add a remote MCP server in Cursor’s MCP configuration (~/.cursor/mcp.json or a project-level .cursor/mcp.json):

{
  "mcpServers": {
    "decryptads": {
      "url": "https://mcp.decryptads.com/mcp",
      "headers": {
        "Authorization": "Bearer svw_YOUR_KEY_HERE"
      }
    }
  }
}

Restart Cursor after saving. DecryptAds tools should appear in the MCP panel.

Claude Desktop

Open Settings → Developer → Edit config (file: ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows). Add the server inside mcpServers:

{
  "mcpServers": {
    "decryptads": {
      "url": "https://mcp.decryptads.com/mcp",
      "headers": {
        "Authorization": "Bearer svw_YOUR_KEY_HERE"
      }
    }
  }
}

Quit and restart Claude Desktop fully so it picks up the change.

If your Claude build does not accept a bare url, use the mcp-remote bridge instead:

{
  "mcpServers": {
    "decryptads": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.decryptads.com/mcp"]
    }
  }
}

Claude Code

From your terminal:

claude mcp add --transport http decryptads https://mcp.decryptads.com/mcp \
  --header "Authorization: Bearer svw_YOUR_KEY_HERE"

Or add a project-level .mcp.json:

{
  "mcpServers": {
    "decryptads": {
      "type": "http",
      "url": "https://mcp.decryptads.com/mcp",
      "headers": {
        "Authorization": "Bearer svw_YOUR_KEY_HERE"
      }
    }
  }
}

ChatGPT

ChatGPT connects to remote MCP servers over HTTPS (not local stdio processes).

  1. Open Settings → Apps (or Connectors, depending on your plan).
  2. Enable Developer mode if prompted.
  3. Click Add connector (or Add custom connector).
  4. Paste https://mcp.decryptads.com/mcp as the MCP endpoint URL.
  5. If the connector UI supports custom headers, add Authorization: Bearer <your API key> (create the key under /apikeys first).
  6. Save and start a new chat — ChatGPT can call DecryptAds tools when relevant.

Developer mode and custom connectors are available on paid ChatGPT plans (Team, Business, Enterprise, and similar tiers). Check OpenAI’s docs if your settings UI differs slightly. Some connector UIs cannot send auth headers yet; Cursor and Claude Desktop are the best-supported clients today.

What you can ask the assistant

Examples that map to MCP tools:

The bridge focuses on read-heavy lookups and app-aligned mutations (such as crawl ingest). Large file uploads (impression logs) still go through the web app; MCP can poll job status afterward.

MCP vs the REST API

Both MCP and REST use the same API keys and the same backend (see How to use the API). You configure the key once in your MCP client; the bridge attaches it to each tool call automatically.

For scripts and automation without an AI assistant, use the REST API directly. For interactive investigations in Cursor or Claude, MCP is usually faster.

Further reading