Detectify MCP Server
The Detectify MCP Server is a remote Model Context Protocol server that exposes your Detectify data to AI coding agents and other MCP clients. Once connected, an agent can query your attack surface, assets, vulnerabilities, scan profiles, and compliance data directly through a set of read-only tools — for example, “list the most severe assets in my team” or “show the evidence for this finding”.
Access is authenticated per team with OAuth 2.1 + PKCE. You log in through your browser and pick the team the agent acts on behalf of.
Environment
- Server URL:
https://mcp.detectify.com/mcp - Public client ID:
5aaebbc4-eeca-4ede-a03e-682a495082f6
The server uses the Streamable HTTP transport. The client ID is a public OAuth client shared across every supported harness — there is no client secret.
Client setup
Before you start, confirm a team admin has enabled MCP access on the MCP page in the Detectify app. Without it, the OAuth login will fail no matter which client you use.
Adding the server takes two steps: register it with your MCP client, then complete the OAuth login. The registration step differs per client, but the authentication step is the same OAuth 2.1 + PKCE flow in every case. Select your client below.
Claude Code
1. Register the server
claude mcp add --transport http detectify \
https://mcp.detectify.com/mcp \
--callback-port 54321 \
--client-id=5aaebbc4-eeca-4ede-a03e-682a495082f62. Authenticate
Inside a Claude Code session run /mcp, pick detectify from the list, and choose Authenticate. Claude Code opens a browser where you log in to Detectify, consent, and pick your team.
Verify with /mcp — the server should show as connected.
Troubleshooting
- You only see a login page at
https://detectify.com/oauth2/consent?consent_challenge=XYZ…— do a hard reload of the/oauth2page (⇧⌘R). - Browser never opens / callback times out — confirm nothing else is bound to the loopback port the agent uses (
54321for Claude Code, Codex, Copilot CLI, OpenCode, and Pi). Because these share port54321, don’t run two OAuth flows at the same time. - Codex login hangs after clicking Allow — you likely clicked the first of two authorization URLs Codex printed. Confirm
scopesis set on thedetectifyentry in~/.codex/config.tomlso only one URL is printed, then re-runcodex mcp login detectify. - Copilot CLI callback times out — check the browser’s authorize URL shows
redirect_uri=http://127.0.0.1:54321/. A random port meansauth.redirectPortwasn’t applied (config not saved, or the field dropped in a newer Copilot build). If a previous attempt cached a bad redirect, clear~/.copilot/mcp-oauth-config/and retry. - Cursor rejects the request with
invalid_scope— theauth.scopesfield is missing from thedetectifyentry in~/.cursor/mcp.json.
Available tools
The server exposes read-only tools grouped by area. Tool names are shown exactly as the server advertises them to your MCP client.
Team and account
| Tool | What it’s for |
|---|---|
GetCurrentTeam | Which Detectify team you’re acting as (name and team token). |
ListUsers | Team members with their role and last-login time. |
Asset inventory
| Tool | What it’s for |
|---|---|
ListAssets | Flat list of assets (domains, IPs, ranges); scope to all, roots only, subassets only, or one root’s subassets. |
ListMonitoredAssets | Assets with per-asset surface aggregates (IPs, countries, ASNs, open ports, technologies). |
GetAssetDetails | Full drill-down on one asset (surface state, named IPs, ports, DNS, technologies). |
ListAssetClassifications | What kind of thing each asset is (web app, API, redirect, 4xx/5xx) and which scanners cover it. |
ListMostSevereAssets | Assets ranked by the severity of vulnerabilities found on them (for prioritization). |
Surface data (network / DNS / IP)
| Tool | What it’s for |
|---|---|
ListPorts | Ports across the surface. Use group_by to choose a per-port-number rollup with asset/IP counts (port, default) or row-level records showing which assets/IPs expose each port (instance). |
ListProtocols | Service endpoints (scheme, service, transport, port, IP). Use group_by to choose row-level endpoints (instance, default) or a per-scheme rollup with counts (scheme). |
ListDnsQueries | DNS records observed for monitored assets (queried name, response, record types). |
ListIpsByCountry | IP footprint grouped by country, with per-country IP/domain/ASN counts. |
ListConnectors | Cloud/DNS connectors feeding Detectify (AWS, GCP, Cloudflare, etc.). |
Technology inventory
| Tool | What it’s for |
|---|---|
ListTechnologies | Technologies detected across the surface. Use group_by to choose assets per technology (name, default), per name and version (name_version), or one row per technology instance per asset (asset) — for example, to find every asset running a given technology. |
Vulnerabilities and findings
| Tool | What it’s for |
|---|---|
ListVulnerabilities | The team’s findings, with filtering (severity, status, asset, scan source, custom tag), sorting, and pagination. |
GetVulnerabilityDetails | Full evidence for one finding (request/response, CWE, OWASP, CVSS) — built for false-positive triage. |
GetVulnerabilitySeveritySummary | Team-wide severity breakdown counts (critical/high/medium/low + total). |
ListVulnerabilityCustomTags | Custom tags defined on the team, so findings can be filtered or labeled by tag name. |
ListVulnerabilityDefinitions | Catalog of what Detectify can detect (is a given CVE or class covered?). |
Scan profiles and scan results
| Tool | What it’s for |
|---|---|
ListApplicationScanProfiles | Application Scanning profiles with each one’s latest scan status/result and next run. |
GetApplicationScanHistory | Scan-by-scan history for a single Application Scanning profile. |
ListApiScanningProfiles | API Scanning profiles (target, rate limit, last scan, severity summary). |
ListApiScanTests | The vulnerability tests the latest scan ran against one API Scanning profile — what it checks for, not what it found. API Scanning findings are available through ListVulnerabilities. |
PCI ASV Scanning
| Tool | What it’s for |
|---|---|
ListAsvScanProfiles | Approved Scanning Vendor (PCI external-scan) profiles. |
ListAsvReports | Per-scan PCI compliance reports for one ASV profile (high/medium/low counts, pass/fail). |
Policies and compliance breaches
| Tool | What it’s for |
|---|---|
ListPolicies | Security policies configured for the team (name, severity, trigger rules). |
ListPolicyBreaches | Assets currently violating a policy (open compliance breaches). |
GetBreachesOverTime | Time-series of policy breaches by severity (for trend charts; max 30-day window). |
WAF / scan interference
| Tool | What it’s for |
|---|---|
ListWafFindings | Requests blocked or altered by a WAF in front of a monitored asset (“is a WAF blocking our scans?”). |
GetWafFindingDetails | Full detail for one interference finding (risk, remediation, blocked request/response). |