Agent Safe Caido MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent Safe Caido MCPlist recent requests to example.com with status 500"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Safe Caido MCP
A hardened local fork of Vibe Hacking for controlled web-audit automation. It keeps the upstream tool surface while using conservative defaults, bounded confirmations, and credential redaction.
Highlights
MCP‑native: exposes an MCP server over Streamable HTTP inside Caido.
Tool governance: group tools into safe/unsafe buckets and control them with
auto,confirm, ordisabledmodes.Clear UX: user‑friendly tool names in the UI (no SDK internals).
History-first output: request and WebSocket tools use stable list/get envelopes, Caido-native filters, field projection, and bounded body serialization.
Fail-closed defaults: unknown, traffic-producing, environment, and tamper operations start disabled.
Bounded confirmation: unanswered confirmations expire after 15 seconds and cannot be executed later.
Credential summaries: cookie and authentication-header values are redacted instead of previewed.
Side-by-side testing: the fork uses its own plugin ID and port
3334, so it can be validated before replacing the upstream plugin.

Related MCP server: Kuroko MCP Server
Install
Build the plugin in this repo.
Load it in Caido as a local plugin.
If you already have a dev flow, just build and load as usual.
Compatibility
Caido: v0.55.1+
Usage
Open the plugin page in Caido.
Use the Tools section to set each group to
auto,confirm, ordisabled.Call tools from your agent and rely on consistent JSON outputs.
The labels inherited from upstream describe feature families, not a security boundary. Review every tool listed in a group before changing it to auto.
API Control
The plugin exposes a localhost-only control endpoint at http://127.0.0.1:<port>/control.
When MCP also listens on a local host, both endpoints share one server. When MCP listens on
another interface, control stays local on the same port.
curl -sS -X POST "$CONTROL_URL" \
-H "content-type: application/json" \
-d '{"method":"getMcpServerSettings"}'Control requests are accepted only when the TCP peer is loopback, for example 127.0.0.1
or ::1. If MCP is bound to 0.0.0.0, the control route is still served by that listener,
but non-loopback peers receive 403.
The loopback control endpoint is intentionally read-only. Supported methods are
getMcpServerSettings and getToolGroupPermissionModes. Configuration and permission changes
must be made in the Caido plugin interface.
Tooling Notes
Some tools accept arrays even when the name is singular — this is intentional to support batch operations while keeping UI labels simple.
Discovery tools are not scope-limited by default:
list_requestsreturns all traffic (annotatingin_scope), and Sitemap/WebSocket lists only filter by scope when an explicitscope_idis passed. Since Caido scopes are often broad (e.g..+), narrow by host with HTTPQL (req.host.eq/req.host.regex) instead.Broad history discovery should start with
list_requests/list_websocket_messagesand tightfields; exact follow-up should useget_requests_by_ids/get_websocket_messages_by_ids.list_requestsuses native Caido cursor pagination; feedpage_info.end_cursor/start_cursorback ascursor.list_requests.filteris a raw HTTPQL string for method, host, status, port, time, path, raw, and row constraints.HTTP body output uses
{ encoding, size, text|base64, omitted_reason }. Raw request/response bytes are returned only when requested throughfields.list_requests.serialization.include_body=falseby default for broad discovery; set it totrueor request body/raw paths explicitly throughfields.Sitemap tools expose Caido's deduplicated Sitemap tree; use
list_sitemap_roots/list_sitemap_descendantsfor tree discovery andlist_sitemap_entry_requestsfor cursor-paginated requests attached to one entry.Sitemap entry lists use offset pagination and return
has_more/next_offset; they do not expose unusable GraphQL cursors.Sitemap entry lists use
request_limit=0by default, which returns request counts without samples; setrequest_limit>0when projectingrequests.items.*.Nested Sitemap
requestsinclude onlycountand optional sampleditems; uselist_sitemap_entry_requestsfor request pagination cursors.list_sitemap_entry_requestsreturns concrete HTTP history-shaped items and supports the sameserialization,regex_excerpt,fields, andexclude_fieldscontrols aslist_requests.fieldsandexclude_fieldsproject item payloads while preserving envelopes such aspage_info,items,requested,found, andresults.
Kali WSL proxy bridge
Caido and the MCP remain bound to Windows loopback. When Kali runs under WSL2 with NAT networking, an elevated PowerShell session can expose only the Caido proxy port to the private WSL adapter:
./scripts/ensure-wsl-caido-bridge.ps1 -Action EnsureThe script owns and replaces only its named firewall rules and its port-proxy
entry for port 8080. It validates that the gateway belongs to a WSL adapter,
does not expose the MCP port, and removes its changes if the connectivity check
fails. Inspect or remove it with -Action Status or -Action Remove.
Copy scripts/caido-proxy-url to ~/.local/bin in Kali. Tools can then opt in
per invocation, for example with --proxy "$(caido-proxy-url)". Do not export a
global proxy: every audit still requires its authorization, scope, and outbound
content guards before traffic is sent.
Core Tool Catalog
Request history:
list_requestsget_requests_by_idsmatch_requestssend_requestssend_raw_requestscheck_requests_scopesummarize_request_cookiessummarize_request_auth_headers
WebSocket/SSE:
list_websocket_streamsget_websocket_streams_by_idslist_websocket_messagesget_websocket_messages_by_idsget_websocket_message_edits_by_ids
Sitemap:
list_sitemap_rootslist_sitemap_descendantsget_sitemap_entries_by_idslist_sitemap_entry_requests
Environment:
list_environmentsget_environmentget_environment_contextcreate_environmentupdate_environmentdelete_environmentselect_environmentget_environment_variablelist_environment_variablesset_environment_variable
Other existing groups cover Replay, Tamper rules, scopes, findings, hosted files, and project/runtime info.
Example request discovery:
{
"limit": 50,
"filter": "req.host.eq:\"example.com\" AND req.method.eq:\"POST\" AND (resp.code.eq:200 OR resp.code.eq:401)",
"fields": ["cursor", "id", "time", "request.method", "request.url", "response.status_code"]
}Development
pnpm install
pnpm buildWatch mode:
pnpm watchUpstream maintenance
The fork keeps vvvvvvvvvvel/VibeHacking as upstream. A scheduled GitHub
workflow compares the fork with upstream/main every week and opens or updates
an issue when commits require review. It never merges, tags, releases, or
changes the installed plugin automatically.
Handle every update in a dedicated branch. Review the upstream diff, preserve the conservative permission model, run the backend tests and typecheck, build the plugin package, and repeat the local MCP smoke test before merging.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Identity, authorization, audit trails, and revocable permissions for AI agents accessing MCP tools.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform automated security testing through Caido, providing 10 security tools for vulnerability scanning (XSS, SQLi, command injection), HTTP request manipulation, and penetration testing workflows with whitelist protection.1-
- AlicenseNot gradedqualityBmaintenanceEnables security agents to interact with the Kuroko web security testing platform through MCP, providing access to traffic history, site graph entities, findings, and scan jobs with read-only defaults and scoped, approved tools for testing operations.1Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to perform API testing and security validation through a permission-gated, SSRF-protected, audited MCP tool layer.-
- AlicenseNot gradedqualityBmaintenanceEnables agents to run server-side security audits through callable tools that sweep attack surfaces, trace source-to-sink reachability, verify live findings, and manage scope, recon, chains, manuals, intelligence, and memory from any MCP client.7,195 npm508MIT