---
title: "Intruder MCP server for AI agents - actionlake"
description: "Give Claude 32 Intruder actions through one MCP server: scan schedules, scans. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/intruder
updated: 2026-10-23
---

Connectors · MSP & PSA

# Intruder MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Intruder and the rest of your systems. It gives your agent 32 Intruder actions (15 reads, 11 writes and 6 that wait for a confirmation) and holds the Intruder credential itself, so the agent never does. It paces Intruder's limits and records every call.

[Connect Intruder free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "intruder.issues.list",
  intent: "check which Intruder account is connected"
}
# List issues (vulnerabilities) found across targets · read · 1 upstream call
```

- 32 actions in one signed file
- 15 read look, never change
- 11 write create and update
- 6 wait for a yes destructive, confirmed first

Set up

## Connect Intruder in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Intruder.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` Intruder API access token
   ```
   account { op: "connections.requirements", service: "intruder" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "intruder.issues.list" }
   # list issues (vulnerabilities) found across targets · read · 1 upstream call
   check { action: "intruder.scans.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Intruder at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Limits we pace to**

300 calls a minute, per connection

**API covered**

Intruder API v1 (OpenAPI 3.1.1)`api.intruder.io`

**Built from**

Intruder's documentation, read 23 October 2026[api.intruder.io](https://api.intruder.io/v1/swagger.json) [developers.intruder.io](https://developers.intruder.io/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

15 of 15 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

2, so ask can line Intruder up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Intruder.

32 actions in 15 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **15** read look, never change
- **11** write create and update
- **6** destructive wait for a confirmation

1. ### Scan schedules
   4
   1 read · 2 write · 1 destructive
   Schedule a recurring scan · List scheduled scans · Delete a scheduled scan · Update a scheduled scan
2. ### Scans
   4
   2 read · 1 write · 1 destructive
   Start a scan of targets or tags · List scans · Get a scan · Cancel a running scan
3. ### Target authentications
   4
   1 read · 2 write · 1 destructive
   Add an authentication configuration to a target · List a target's authentication configurations · Delete a target authentication configuration · Update a target authentication configuration
4. ### Targets
   4
   1 read · 2 write · 1 destructive
   List targets · Add several targets at once (CIDR ranges supported) · Add a target · Delete a target
5. ### Target API schemas
   3
   1 read · 1 write · 1 destructive
   List a target's API schemas · Delete a target API schema · Update a target API schema's name, base URL or authentication
6. ### Occurrence comments
   2
   1 read · 1 write · 0 destructive
   Add a comment to an issue occurrence · List comments on an issue occurrence
7. ### Occurrences
   2
   1 read · 1 write · 0 destructive
   List an issue's occurrences · Snooze an issue occurrence
8. ### Target tags
   2
   0 read · 1 write · 1 destructive
   Add a tag to a target · Remove a tag from a target

**7 more areas · 7 actions**

- Fixed occurrences **1**
- Health **1**
- Issue targets **1**
- Issues **1**
- Licenses **1**
- Occurrence scanner output **1**
- Tags **1**

Top actions

## The Intruder API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `intruder.issues.list` List issues (vulnerabilities) found across targets | List issues (vulnerabilities) found across targets. | read | this connector |
| `intruder.targets.list` List targets | List targets. | read | this connector |
| `intruder.tags.list` List target tags | List target tags. | read | this connector |
| `intruder.scans.list` List scans | List scans. | read | this connector |
| `intruder.scans.create` Start a scan of targets or tags | Start a scan of targets or tags. | write | this connector |
| `intruder.licenses.list` List licence usage (infrastructure and application licences) | List licence usage (infrastructure and application licences). | read | this connector |
| `intruder.targets.create` Add a target | Add a target. | write | this connector |
| `intruder.target_tags.add` Add a tag to a target | Add a tag to a target. | write | this connector |
| `intruder.occurrences.list` List an issue's occurrences | List an issue's occurrences. | read | this connector |
| `intruder.issue_targets.list` List the targets an issue affects | List the targets an issue affects. | read | this connector |
| `intruder.scan_schedules.create` Schedule a recurring scan | Schedule a recurring scan. | write | this connector |
| `intruder.targets.delete` Delete a target | Delete a target. | destructive | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Intruder actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Intruder alerts are open right now? Group them by service.
   calls `intruder.issues.list`
2. Write write
   Start a scan of targets or tags in Intruder. Show me exactly what you will send before you save it.
   calls `intruder.scans.create`

Governance for Intruder

## Destructive actions wait for a yes.

6 Intruder actions are destructive. These are all of them:

- Delete a target `intruder.targets.delete`
- Remove a tag from a target `intruder.target_tags.remove`
- Delete a scheduled scan `intruder.scan_schedules.delete`
- Delete a target API schema `intruder.target_api_schemas.delete`
- Delete a target authentication configuration `intruder.target_authentications.delete`
- Cancel a running scan `intruder.scans.cancel`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do intruder.targets.delete confirm_policy: **human**

Delete a target?

**intent:** the user asked me to delete a target

run suspended · waiting for a named person · key _intruder-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "intruder-agent",
  allowed_actions: ["intruder.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "intruder.targets.delete", approver: "lead@example.com" },
    { match: "intruder.target_tags.remove", approver: "lead@example.com" },
    { match: "intruder.scan_schedules.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Intruder only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Intruder costs on actionlake.

Every Intruder action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Intruder refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 32 Intruder actions
- 32 actions page each page of a long list is one call
- 15 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Intruder action.

32 actions by area: the id your agent calls, what it does, and its effect.

**Scan schedules 4**

- `intruder.scan_schedules.create` Schedule a recurring scan write
- `intruder.scan_schedules.delete` Delete a scheduled scan destructive
- `intruder.scan_schedules.list` List scheduled scans read
- `intruder.scan_schedules.update` Update a scheduled scan write

**Scans 4**

- `intruder.scans.cancel` Cancel a running scan destructive
- `intruder.scans.create` Start a scan of targets or tags write
- `intruder.scans.get` Get a scan read
- `intruder.scans.list` List scans read

**Target authentications 4**

- `intruder.target_authentications.create` Add an authentication configuration to a target write
- `intruder.target_authentications.delete` Delete a target authentication configuration destructive
- `intruder.target_authentications.list` List a target's authentication configurations read
- `intruder.target_authentications.update` Update a target authentication configuration write

**Targets 4**

- `intruder.targets.bulk_create` Add several targets at once (CIDR ranges supported) write
- `intruder.targets.create` Add a target write
- `intruder.targets.delete` Delete a target destructive
- `intruder.targets.list` List targets read

**Target API schemas 3**

- `intruder.target_api_schemas.delete` Delete a target API schema destructive
- `intruder.target_api_schemas.list` List a target's API schemas read
- `intruder.target_api_schemas.update` Update a target API schema's name, base URL or authentication write

**Occurrence comments 2**

- `intruder.occurrence_comments.create` Add a comment to an issue occurrence write
- `intruder.occurrence_comments.list` List comments on an issue occurrence read

**Occurrences 2**

- `intruder.occurrences.list` List an issue's occurrences read
- `intruder.occurrences.snooze` Snooze an issue occurrence write

**Target tags 2**

- `intruder.target_tags.add` Add a tag to a target write
- `intruder.target_tags.remove` Remove a tag from a target destructive

**Fixed occurrences 1**

- `intruder.fixed_occurrences.list` List fixed (remediated) occurrences read

**Health 1**

- `intruder.health.get` Check the API is up and which user the key authenticates as read

**Issue targets 1**

- `intruder.issue_targets.list` List the targets an issue affects read

**Issues 1**

- `intruder.issues.list` List issues (vulnerabilities) found across targets read

**Licenses 1**

- `intruder.licenses.list` List licence usage (infrastructure and application licences) read

**Occurrence scanner output 1**

- `intruder.occurrence_scanner_output.list` List the raw scanner output for an issue occurrence read

**Tags 1**

- `intruder.tags.list` List target tags read

Questions

## The Intruder MCP server, answered.

**Is there an Intruder MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 32 Intruder actions across scan schedules, scans, target authentications and targets, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Intruder.

**What do I need to connect Intruder?**

Intruder API access token. The free call account { op: "connections.requirements", service: "intruder" } lists exactly what to paste.

**Can an AI agent delete or change things in Intruder?**

Only if its key allows it, and only with an explicit confirmation. 6 Intruder actions are destructive, including delete a target, remove a tag from a target and delete a scheduled scan. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Intruder API limit?**

actionlake paces every call to the limits in the Intruder service file: 300 calls a minute per connection. Repeated reads are answered from cache (15 Intruder actions can be), which never reaches Intruder.

**What does an Intruder action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (32 Intruder actions page). Cache hits, searches, dry runs and calls Intruder refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Intruder API does it cover?**

The Intruder API v1 (OpenAPI 3.1.1) at api.intruder.io. It is built from Intruder's documentation as read on 23 October 2026. 32 actions in 15 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Intruder data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Intruder credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Intruder

Joins with, on shared entities

- [Google Security Command Center 2](https://actionlake.com/connectors/google-security-command-center)
- [ServiceNow 1](https://actionlake.com/connectors/servicenow)
- [CrowdStrike Falcon 1](https://actionlake.com/connectors/crowdstrike-falcon)
- [ERPNext (Frappe) 1](https://actionlake.com/connectors/erpnext-frappe)
- [Dynatrace 1](https://actionlake.com/connectors/dynatrace)
- [Splunk Platform 1](https://actionlake.com/connectors/splunk-platform)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Intruder; the name is the vendor's own. Counts are from the Intruder service file, version 1.0.0.

## Give your agent Intruder today.

[Connect Intruder free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/intruder
More: https://actionlake.com/llms.txt
