MCP Tool Catalog
The AutoCISO MCP server exposes 23 tools: 22 read-only tools and one write tool, risk_create_draft. This page explains how to read the catalog and groups tools by area; the table at the bottom is generated from the same manifest the SDKs are built from, so it never drifts.
How to read the catalog
- Scope —
mcp:readfor every read tool;mcp:writeforrisk_create_draft. - Arguments — taken from each tool’s published input schema. Most read tools take no arguments.
- PII masking applies to all results. Emails are masked to
a***@domain.comand personal names are redacted. A type that promises a real email is a lie — never rely on full identity fields in a result. - Result caps. Some tools silently return a partial result set with no continuation token. The catalog flags each one. The only tool with real pagination is
audit_trail_search.
Access (9 tools)
access_stale_accounts, access_concentration, access_privileged_delta, access_high_risk_lifecycle, access_anomaly_discovery, access_offboarding_violations, access_normalization_health, access_department_risk, access_security_debt_trend.
These power the access-intelligence surface. Results carry masked identity fields. access_security_debt_trend accepts an optional months argument (default 6).
const stale = await client.access.staleAccounts();
const debt = await client.access.securityDebtTrend({ months: 12 }); stale = client.access.stale_accounts()
debt = client.access.security_debt_trend(months=12) Reviews (2 tools)
uar_status, access_reviews_list — user access review status and campaign completion.
ISO 27001 (3 tools)
iso_gap_status, iso_soa_summary, iso_controls_list. Each accepts an optional projectId; if omitted, the first active ISO project is used.
const gaps = await client.iso.gapStatus();
const soa = await client.iso.soaSummary({ projectId: 'iso_…' }); gaps = client.iso.gap_status()
soa = client.iso.soa_summary(project_id="iso_…") Risk (3 tools)
risk_register_list, risk_get, and the write tool risk_create_draft.
const risks = await client.risk.registerList(); // finalized only
const one = await client.risk.get({ id: 'risk_…' }); risks = client.risk.register_list() # finalized only
one = client.risk.get(id="risk_…") // Requires mcp:write + MCP write enabled for your org.
const draft = await client.risk.createDraft({ title: 'Vendor X data residency' });
// On a read-only org this throws AutocisoPermissionError (NOT_PERMITTED). # Requires mcp:write + MCP write enabled for your org.
draft = client.risk.create_draft(title="Vendor X data residency")
# On a read-only org this raises AutocisoPermissionError (NOT_PERMITTED). Suppliers (2 tools)
supplier_list, supplier_assessment_status — third-party inventory and assessment completion.
Evidence & Audit (2 tools)
evidence_log (capped at 50 entries), audit_trail_search.
audit_trail_search is the only paginated tool. It returns a wrapped object — { items, total, limit, offset } — not a bare array. Use limit/offset to page and total for the full count.
const page = await client.audit.trailSearch({ limit: 25, offset: 0 });
console.log(page.items.length, 'of', page.total); page = client.audit.trail_search(limit=25, offset=0)
print(len(page.items), "of", page.total) {
"items": [
{ "id": "aud_…", "action": "risk.updated", "actor": "a***@domain.com", "at": "2026-06-20T08:00:00Z" }
],
"total": 184,
"limit": 25,
"offset": 0
}
Maturity & Posture (2 tools)
maturity_scores (capped result set), posture_summary (a single roll-up — the recommended first call).
Generated tool reference
The table below is generated from the committed MCP manifest at build time — the same artifact the SDKs are generated from. It always reflects the live tool surface.
23 tools (22 read-only, 1 write). Generated from the committed MCP manifest (the same artifact the SDK is built from).
All results are PII-masked: emails become a***@domain.com and personal names are redacted. The Masked column flags tools whose results commonly carry identity fields. The Result notes column flags pagination and silent result caps.
| Tool | Description | Scope | Read-only | Arguments | Masked | Result notes |
|---|---|---|---|---|---|---|
access_anomaly_discovery | Detect anomalous access patterns and outliers | mcp:read | Yes | none | Yes | — |
access_concentration | Identify accounts with excessive privilege accumulation | mcp:read | Yes | none | Yes | — |
access_department_risk | Show per-department access risk scores | mcp:read | Yes | none | Yes | — |
access_high_risk_lifecycle | List employees in high-risk lifecycle states (joiners/movers/leavers) | mcp:read | Yes | none | Yes | — |
access_normalization_health | Report on access data quality and normalization coverage | mcp:read | Yes | none | — | — |
access_offboarding_violations | List offboarding violations and over-provisioned leavers | mcp:read | Yes | none | Yes | — |
access_privileged_delta | Show changes in privileged access over the last 30 days | mcp:read | Yes | none | Yes | — |
access_reviews_list | List access review campaigns and their completion status | mcp:read | Yes | none | Yes | — |
access_security_debt_trend | Show security debt trend over recent months | mcp:read | Yes | months (integer, optional, default 6) | — | — |
access_stale_accounts | List stale and orphaned accounts with risk scores | mcp:read | Yes | none | Yes | — |
audit_trail_search | List audit-trail entries, optionally filtered by exact actor ID | mcp:read | Yes | actorId (string, optional) — Exact actor identifier to filter by (e.g. a usr_… ID); omit to list alllimit (integer, optional, default 50)offset (integer, optional, default 0) | Yes | Paginated: returns { items, total, limit, offset } (not a bare array). Use limit/offset to page; total is the full count. |
evidence_log | Get the evidence audit log | mcp:read | Yes | none | Yes | Truncated: returns at most 50 entries with no continuation token. |
iso_controls_list | List ISO 27001 controls with gap status | mcp:read | Yes | projectId (string, optional) — ISO project ID (optional; uses first active project if omitted) | — | — |
iso_gap_status | Get ISO 27001 gap analysis status across all controls | mcp:read | Yes | projectId (string, optional) — ISO project ID (optional; uses first active project if omitted) | — | — |
iso_soa_summary | Get Statement of Applicability (SoA) summary | mcp:read | Yes | projectId (string, optional) — ISO project ID (optional; uses first active project if omitted) | — | — |
maturity_scores | Get latest maturity assessment scores | mcp:read | Yes | none | — | Truncated: returns a capped set of the latest scores with no continuation token. |
posture_summary | Get overall security posture summary | mcp:read | Yes | none | — | — |
risk_create_draft | Create a new risk draft (requires mcp:write scope) | mcp:write | No | title (string, required) — Risk title | — | — |
risk_get | Get a specific risk by ID | mcp:read | Yes | id (string, required) — Risk ID | — | — |
risk_register_list | List finalized risk register entries (drafts are not included) | mcp:read | Yes | none | — | Lists finalized risks only — drafts created via risk_create_draft are not returned here. |
supplier_assessment_status | Get supplier assessment completion status | mcp:read | Yes | none | — | — |
supplier_list | List all third-party suppliers | mcp:read | Yes | none | — | — |
uar_status | Get current user access review (UAR) status and open items | mcp:read | Yes | none | Yes | — |
Was this page helpful?