AxioRank: Zero-Trust for AI Agents
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
| Author | com.axiorank |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 167 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AxioRank: Zero-Trust for AI Agents": {
"url": "https://app.axiorank.com/api/mcp-server/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (22)
axiorank_score_tool_callInspect a proposed agent tool call BEFORE executing it. AxioRank scores its risk (0–100), runs content inspection (secrets, PII, destructive ops, prompt-injection, egress), applies your policies, records an audit log, and returns a decision: `allow`, `deny`, or `hold`. On `hold`, a human must approve. Poll `axiorank_check_approval` with the returned `approvalId`. Call this in your tool-use loop and refuse or wait on any non-`allow` decision. Requires the `gateway:write` scope.
Parameters:
tool(required) — stringmodel— stringphase— stringintent— stringsource— stringcontext— stringcostUsd— numbertraceId— stringmetadata— objectpassport— booleanarguments— objectsessionId— stringstepIndex— integerdurationMs— integerpromptText— stringresultText— stringinputTokens— integertaintHandle— stringoutputTokens— integercompletionText— stringparentStepIndex— integer
Hints: read-only no · destructive no · idempotent no · open-world yes
axiorank_verify_cardVet a remote agent or tool's identity card (A2A Agent Card, MCP server card, OAuth metadata, x402, …) BEFORE connecting to it. Supply EITHER `url` (AxioRank fetches the card) OR an inline `document`. AxioRank verifies signatures, scores supply-chain risk, folds in cross-tenant threat intel, and returns `allow` / `review` / `deny` with the resolved identity, capabilities and auth. Use it as a connection preflight. Requires the `cards:verify` scope.
Parameters:
url— stringdocumentprotocol— string
Hints: read-only no · destructive no · idempotent no · open-world yes
axiorank_check_approvalread-onlyPoll the verdict of a held (`hold`) tool call. Pass the `approvalId` returned by `axiorank_score_tool_call`. Blocks briefly server-side and returns as soon as an operator approves/denies; otherwise returns the still-`pending` status so you can call again. Requires the `gateway:write` scope and the same agent key that made the original call.
Parameters:
approvalId(required) — string — The approvalId returned by axiorank_score_tool_call when the decision was 'hold'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_get_protocol_coverageread-onlyList the agent-interop protocols AxioRank can govern (A2A, MCP, OAuth, x402, DIDs, robots.txt/llms.txt, AP2, …), grouped into six planes, each with coverage status (live/beta/planned) and direction (inbound/outbound/both). Use this to discover what AxioRank speaks before wiring up card verification or inbound bot management.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_get_healthread-onlyLiveness/readiness probe for the AxioRank control plane (API + database reachability). Returns `status: ok|degraded`.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_list_agentsread-onlyList the active agents in your AxioRank workspace (id, name, labels, quarantine + last-used status). Use this to find an agent's id before calling agent-specific tools. Requires the `agents:read` scope.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_get_agentread-onlyFetch one agent's posture (quarantine state, labels, last-used, revocation) by id, scoped to your workspace. Requires the `agents:read` scope.
Parameters:
agentId(required) — string — The agent's UUID (from axiorank_list_agents).
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_quarantine_agentdestructiveReversible kill switch: quarantine an agent so the gateway DENIES all of its tool calls, or release it. Set `quarantine: false` to restore. Requires the `agents:write` scope.
Parameters:
agentId(required) — string — The agent's UUID (from axiorank_list_agents).quarantine(required) — boolean — true = quarantine (deny all its calls); false = release.
Hints: read-only no · destructive yes · idempotent yes · open-world no
axiorank_revoke_agentdestructivePermanently revoke an agent: its API keys stop authenticating immediately (incident response). Irreversible. Issue a new agent to restore access. Its audit history is kept. Requires the `agents:write` scope. Prefer `axiorank_quarantine_agent` for a reversible pause.
Parameters:
agentId(required) — string — The agent's UUID (from axiorank_list_agents).
Hints: read-only no · destructive yes · idempotent yes · open-world no
axiorank_list_policiesread-onlyList the outbound governance policies in your workspace (enabled or not), each with its tool pattern, action (allow/deny/require_approval/redact), risk threshold, priority and enabled flag. Requires the `policies:read` scope.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_get_policyread-onlyFetch one outbound policy by id, scoped to your workspace. Requires the `policies:read` scope.
Parameters:
policyId(required) — string — The policy's UUID (from axiorank_list_policies).
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_create_policyCreate an outbound governance policy. It is created DISABLED so an LLM can never arm enforcement unattended. Review it (axiorank_get_policy) then enable it with axiorank_update_policy. `toolPattern` is a glob over tool names; `action` is allow / deny / require_approval / redact (redact masks PII in a model completion). Requires the `policies:write` scope.
Parameters:
name(required) — stringtoolPattern(required) — stringaction(required) — stringcontextpriority— integerriskThresholdsignalCategoryenforcementMode— string
Hints: read-only no · destructive no · idempotent no · open-world no
axiorank_update_policyUpdate an existing policy: enable/disable it, rename it, or change its priority. (Other fields are edited in the dashboard.) Requires the `policies:write` scope.
Parameters:
policyId(required) — string — The policy's UUID (from axiorank_list_policies).name— stringenabled— boolean — Arm (true) or disarm (false) the policy.priority— integer — Lower runs first; ties broken by creation order.
Hints: read-only no · destructive no · idempotent no · open-world no
axiorank_search_audit_logsread-onlySearch your workspace's governance audit trail, newest first, with filters: decision (allow/deny/hold), source (sdk/mcp), agentId, tool name (substring), minimum risk, and a time window (ISO `from`/`to`). Payloads are already secret-redacted. Use it to answer questions like "show denied tool calls in the last 24h". Requires the `logs:read` scope.
Parameters:
to— string — ISO timestamp: exclusive upper bound on created_at.from— string — ISO timestamp: inclusive lower bound on created_at.tool— string — Case-insensitive substring of the tool name.limit— integersource— stringagentId— stringminRisk— integerdecision— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_list_incidentsread-onlyList security alerts/incidents in your workspace, newest first, filterable by status (open/acknowledged/resolved/suppressed), severity (low/medium/high/critical) and kind (high_risk/anomaly/auto_response/kill_chain/ml_threat). Requires the `logs:read` scope.
Parameters:
kind— stringlimit— integerstatus— stringseverity— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_get_incidentread-onlyFetch the kill-chain finding behind an alert (the multi-step attack pattern, severity, and the contributing tool-call ids) by alert id. Returns null evidence for a non-kill-chain alert. Requires the `logs:read` scope.
Parameters:
alertId(required) — string — The alert/incident UUID (from axiorank_list_incidents).
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_list_threat_intelread-onlyList external identities (card hosts/keys) flagged across the AxioRank network, with k-anonymity-gated aggregate counts (workspaces, sightings, deny/review, max risk). This is the shared cross-tenant feed, not your private data. Requires the `logs:read` scope.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_list_ml_assessmentsread-onlyList your workspace's most recent ML/LLM threat assessments (model verdict, threat class, confidence, recommendation) for tool calls and cards. Requires the `logs:read` scope.
Parameters:
limit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_get_usageread-onlyReport this billing period's usage for your workspace: plan tier, governed events used vs the monthly limit, and ML assessments used. Requires the `logs:read` scope.
Hints: read-only yes · destructive no · idempotent yes · open-world no
axiorank_issue_tokenMint a short-lived, scoped `axr_tok_…` access token for an existing agent. This is the Zero-Trust credential the agent sends as `Authorization: Bearer <token>`. It expires within the hour and cannot be replayed afterwards. Durable static keys are issued in the dashboard, not here. Requires the `keys:write` scope.
Parameters:
agentId(required) — string — The agent's UUID (from axiorank_list_agents).scopes— array — Operational scopes for the token (gateway:write, cards:verify, logs:read).ttlSeconds— integer — Token lifetime in seconds (60–3600). Defaults to 900 (15 min).
Hints: read-only no · destructive no · idempotent no · open-world no
axiorank_create_agentCreate a new agent in your workspace and return a SHORT-LIVED bootstrap token to start using it immediately (no durable secret is emitted). For long-term auth, add a static key or a federation binding in the dashboard. Requires the `agents:write` scope.
Parameters:
name(required) — stringlabels— arrayttlSeconds— integer — Token lifetime in seconds (60–3600). Defaults to 900 (15 min).description— stringtokenScopes— array — Operational scopes for the token (gateway:write, cards:verify, logs:read).
Hints: read-only no · destructive no · idempotent no · open-world no
axiorank_author_detectorDescribe a risk in plain English and AxioRank's AI proposes a custom content detector (regex or keyword) and SAVES it DISABLED for your review. An LLM never arms detection unattended. Outbound content categories only (secret/pii/destructive/injection/egress). Requires the `policies:write` scope and an AI-assessments-enabled plan (Team+).
Parameters:
description(required) — string — What to detect, e.g. 'flag AWS secret access keys in tool arguments'.
Hints: read-only no · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.