MCP tools (27)

The complete typed API exposed by mcp/server.js. Every agent in every harness calls these tools to read or mutate state. All over stdio JSON-RPC, no dependencies.

HTTP

ToolPurpose
mantis_http_scanThe only network-touching tool. Issues an HTTP request, auto-runs analyzeResponse (tech fingerprint, security headers, secret detection, endpoint extraction). Honors auth_profile for attacker/victim role injection.

FSM lifecycle

ToolPurpose
mantis_init_sessionCreates ~/mantis-sessions/<domain>/state.json with phase=RECON.
mantis_read_session_stateReads full state (with arrays). Use only when you need the actual dead_ends / waf_blocked lists.
mantis_read_state_summaryCompact (~500 token) state view. Use for routine wave decisions.
mantis_transition_phaseValidates and applies a phase transition. Only legal edges allowed.

Findings

ToolPurpose
mantis_record_findingAppend a finding to findings.jsonl with a canonical ID (F-N). Validates schema, severity, wave/agent assignment.
mantis_read_findingsFull read of all findings.
mantis_list_findingsCompact list (id, severity, title, endpoint).

Wave dispatch

ToolPurpose
mantis_start_waveWrites wave-N-assignments.json mapping agents to surface IDs. Sets pending_wave.
mantis_apply_wave_mergeDeterministically reconciles a completed wave: explored / dead_ends / waf_blocked / lead_surface_ids.
mantis_write_wave_handoffPer-hunter authoritative handoff (JSON + markdown mirror).
mantis_wave_handoff_statusReturns received / missing / unexpected agents for a wave.
mantis_merge_wave_handoffsLower-level merge for cross-session reconciliation.
mantis_wave_statusCoverage % + finding summary for wave decisions.
mantis_read_hunter_briefSingle-call spawn briefing: assigned surface + bypass table + exclusions filtered to that surface.
mantis_log_dead_endsLive dead-end logging during a wave (survives maxTurns).

Multi-Step Evidence

ToolPurpose
mantis_write_verification_roundWrite a round's results. Validates completeness (round 2/3 must cover all round 1 findings).
mantis_read_verification_roundRead a specific round's results.

Grade + report

ToolPurpose
mantis_write_grade_verdict5-axis scores + SUBMIT/HOLD/SKIP. Drops proof_quality below threshold if Multi-Step Evidence is incomplete.
mantis_read_grade_verdictRead the grader's output.

Cross-session handoff

ToolPurpose
mantis_write_handoffWrite SESSION_HANDOFF.md for cross-session resume hints.
mantis_read_handoffRead the handoff.

Auth + signup

ToolPurpose
mantis_auth_storeStore an auth profile (headers, cookies, localStorage) for a role.
mantis_auth_manualLegacy single-profile auth storage.
mantis_signup_detectProbe target for signup endpoints + CAPTCHA detection (parallel fetch).
mantis_temp_emailDisposable email: create / poll / extract verification codes (mail.tm with guerrillamail fallback).
mantis_auto_signupBrowser-based signup via patchright + CapSolver.

Wire format

Standard MCP over stdio. Discovery:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-runner","version":"1"}}}

{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}

Calling a tool:

{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mantis_init_session","arguments":{"target_domain":"example.com","target_url":"https://example.com"}}}

See adapters/raw-mcp.md for the full integration guide for custom runners.