Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
AxioRank API key as a Bearer token (axr_live_…), required for tool calls (the handshake and tool listing are public). Create one in your AxioRank dashboard under Settings → API keys.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Describe 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+).
What to detect, e.g. 'flag AWS secret access keys in tool arguments'.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Describe 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+).
| Argument | Type | Description |
|---|---|---|
| description* | string | What to detect, e.g. 'flag AWS secret access keys in tool arguments'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"description"
],
"properties": {
"description": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "What to detect, e.g. 'flag AWS secret access keys in tool arguments'."
}
}
}Poll 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.
| Argument | Type | Description |
|---|---|---|
| approvalId* | string | The approvalId returned by axiorank_score_tool_call when the decision was 'hold'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"approvalId"
],
"properties": {
"approvalId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The approvalId returned by axiorank_score_tool_call when the decision was 'hold'."
}
}
}Create 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.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| labels | array | |
| ttlSeconds | integer | Token lifetime in seconds (60–3600). Defaults to 900 (15 min). |
| description | string | |
| tokenScopes | array | Operational scopes for the token (gateway:write, cards:verify, logs:read). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"labels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 32
},
"ttlSeconds": {
"type": "integer",
"maximum": 3600,
"minimum": 60,
"description": "Token lifetime in seconds (60–3600). Defaults to 900 (15 min)."
},
"description": {
"type": "string",
"maxLength": 2000
},
"tokenScopes": {
"type": "array",
"items": {
"enum": [
"gateway:write",
"cards:verify",
"logs:read"
],
"type": "string"
},
"default": [
"gateway:write"
],
"maxItems": 3,
"minItems": 1,
"description": "Operational scopes for the token (gateway:write, cards:verify, logs:read)."
}
}
}Create 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.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| action* | string | |
| context | any | |
| priority | integer | |
| toolPattern* | string | |
| riskThreshold | any | |
| signalCategory | any | |
| enforcementMode | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"toolPattern",
"action"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"action": {
"enum": [
"allow",
"deny",
"require_approval",
"redact"
],
"type": "string"
},
"context": {
"anyOf": [
{
"type": "object",
"properties": {
"ip": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"geo": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"ifc": {
"type": "object",
"properties": {
"sinkTypes": {
"type": "array",
"items": {
"enum": [
"egress",
"destructive",
"state_change"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1
},
"sourceTags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 16,
"minItems": 1
},
"propagation": {
"enum": [
"explicit",
"coarse"
],
"type": "string"
},
"destinations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 253,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
}
}
},
"args": {
"type": "array",
"items": {
"type": "object",
"required": [
"path"
],
"properties": {
"gt": {
"type": "number"
},
"lt": {
"type": "number"
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"glob": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"path": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"anyOf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"regex": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"exists": {
"type": "boolean"
},
"negate": {
"type": "boolean"
},
"contains": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
}
},
"maxItems": 10,
"minItems": 1
},
"time": {
"type": "object",
"required": [
"windows"
],
"properties": {
"tz": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"negate": {
"type": "boolean"
},
"windows": {
"type": "array",
"items": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^\\d{1,2}:\\d{2}$"
},
"days": {
"type": "array",
"items": {
"type": "integer",
"maximum": 6,
"minimum": 0
}
},
"start": {
"type": "string",
"pattern": "^\\d{1,2}:\\d{2}$"
}
}
},
"maxItems": 32,
"minItems": 1
}
}
},
"agent": {
"type": "object",
"properties": {
"ids": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"labels": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"attributes": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"additionalProperties": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
}
}
}
},
"chain": {
"type": "object",
"properties": {
"anyOf": {
"type": "array",
"items": {
"enum": [
"exfiltration",
"recon_then_destroy",
"injection_then_action"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1
},
"minSeverity": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string"
},
"valueConfirmed": {
"type": "boolean"
}
}
},
"model": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"budget": {
"type": "object",
"required": [
"metric",
"window",
"gte"
],
"properties": {
"gte": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
},
"metric": {
"enum": [
"calls",
"cost_usd"
],
"type": "string"
},
"window": {
"enum": [
"hour",
"day",
"month"
],
"type": "string"
}
}
},
"novelty": {
"type": "object",
"required": [
"gte"
],
"properties": {
"gte": {
"type": "number",
"maximum": 1,
"minimum": 0
}
}
},
"commerce": {
"type": "object",
"properties": {
"onViolation": {
"type": "boolean"
}
}
},
"resource": {
"type": "object",
"properties": {
"host": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 64,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"type": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"enum": [
"database",
"http_api",
"filesystem",
"messaging",
"other"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
},
"environment": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"enum": [
"production",
"staging",
"development",
"unknown"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1
},
"negate": {
"type": "boolean"
}
}
}
}
},
"agentRisk": {
"type": "object",
"required": [
"gte"
],
"properties": {
"gte": {
"type": "number",
"maximum": 100,
"minimum": 0
}
}
},
"callCostUsd": {
"type": "object",
"required": [
"gte"
],
"properties": {
"gte": {
"type": "number",
"maximum": 1000000,
"minimum": 0
}
}
},
"agentDaysOld": {
"type": "object",
"required": [
"lte"
],
"properties": {
"lte": {
"type": "number",
"maximum": 3650,
"minimum": 0
}
}
},
"mlThreatClass": {
"type": "object",
"required": [
"anyOf"
],
"properties": {
"anyOf": {
"type": "array",
"items": {
"enum": [
"prompt_injection",
"jailbreak",
"data_exfiltration",
"malware",
"social_engineering",
"policy_violation"
],
"type": "string"
},
"maxItems": 6,
"minItems": 1
}
}
}
}
},
{
"type": "null"
}
]
},
"priority": {
"type": "integer",
"default": 100,
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"toolPattern": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"riskThreshold": {
"anyOf": [
{
"type": "integer",
"maximum": 100,
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"signalCategory": {
"anyOf": [
{
"enum": [
"secret",
"pii",
"destructive",
"injection",
"egress",
"malware",
"financial"
],
"type": "string"
},
{
"type": "null"
}
]
},
"enforcementMode": {
"enum": [
"monitor",
"enforce"
],
"type": "string",
"default": "enforce"
}
}
}Fetch one agent's posture (quarantine state, labels, last-used, revocation) by id, scoped to your workspace. Requires the `agents:read` scope.
| Argument | Type | Description |
|---|---|---|
| agentId* | string | The agent's UUID (from axiorank_list_agents). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agentId"
],
"properties": {
"agentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The agent's UUID (from axiorank_list_agents)."
}
}
}Liveness/readiness probe for the AxioRank control plane (API + database reachability). Returns `status: ok|degraded`.
No arguments.
{
"type": "object",
"properties": {}
}Fetch 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.
| Argument | Type | Description |
|---|---|---|
| alertId* | string | The alert/incident UUID (from axiorank_list_incidents). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"alertId"
],
"properties": {
"alertId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The alert/incident UUID (from axiorank_list_incidents)."
}
}
}Fetch one outbound policy by id, scoped to your workspace. Requires the `policies:read` scope.
| Argument | Type | Description |
|---|---|---|
| policyId* | string | The policy's UUID (from axiorank_list_policies). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"policyId"
],
"properties": {
"policyId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The policy's UUID (from axiorank_list_policies)."
}
}
}List 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.
No arguments.
{
"type": "object",
"properties": {}
}Report 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.
No arguments.
{
"type": "object",
"properties": {}
}Mint 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.
| Argument | Type | Description |
|---|---|---|
| scopes | array | Operational scopes for the token (gateway:write, cards:verify, logs:read). |
| agentId* | string | The agent's UUID (from axiorank_list_agents). |
| ttlSeconds | integer | Token lifetime in seconds (60–3600). Defaults to 900 (15 min). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agentId"
],
"properties": {
"scopes": {
"type": "array",
"items": {
"enum": [
"gateway:write",
"cards:verify",
"logs:read"
],
"type": "string"
},
"default": [
"gateway:write"
],
"maxItems": 3,
"minItems": 1,
"description": "Operational scopes for the token (gateway:write, cards:verify, logs:read)."
},
"agentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The agent's UUID (from axiorank_list_agents)."
},
"ttlSeconds": {
"type": "integer",
"maximum": 3600,
"minimum": 60,
"description": "Token lifetime in seconds (60–3600). Defaults to 900 (15 min)."
}
}
}List 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.
No arguments.
{
"type": "object",
"properties": {}
}List 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.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| limit | integer | |
| status | string | |
| severity | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kind": {
"enum": [
"high_risk",
"anomaly",
"auto_response",
"kill_chain",
"ml_threat"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
},
"status": {
"enum": [
"open",
"acknowledged",
"resolved",
"suppressed"
],
"type": "string"
},
"severity": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string"
}
}
}List 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
}
}
}List 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.
No arguments.
{
"type": "object",
"properties": {}
}List 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.
No arguments.
{
"type": "object",
"properties": {}
}Reversible 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.
| Argument | Type | Description |
|---|---|---|
| agentId* | string | The agent's UUID (from axiorank_list_agents). |
| quarantine* | boolean | true = quarantine (deny all its calls); false = release. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agentId",
"quarantine"
],
"properties": {
"agentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The agent's UUID (from axiorank_list_agents)."
},
"quarantine": {
"type": "boolean",
"description": "true = quarantine (deny all its calls); false = release."
}
}
}Permanently 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.
| Argument | Type | Description |
|---|---|---|
| agentId* | string | The agent's UUID (from axiorank_list_agents). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agentId"
],
"properties": {
"agentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The agent's UUID (from axiorank_list_agents)."
}
}
}Inspect 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.
| Argument | Type | Description |
|---|---|---|
| tool* | string | |
| model | string | |
| phase | string | |
| intent | string | |
| source | string | |
| context | string | |
| costUsd | number | |
| traceId | string | |
| metadata | object | |
| passport | boolean |
Search 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.
| Argument | Type | Description |
|---|---|---|
| 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 | integer | |
| source | string | |
| agentId | string | |
| minRisk | integer | |
| decision | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"description": "ISO timestamp: exclusive upper bound on created_at."
},
"from": {
"type": "string",
"description": "ISO timestamp: inclusive lower bound on created_at."
},
"tool": {
"type": "string",
"maxLength": 200,
"description": "Case-insensitive substring of the tool name."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
},
"source": {
"enum": [
"sdk",
"mcp",
"coding-agent",
"browser-agent"
],
"type": "string"
},
"agentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"minRisk": {
"type": "integer",
"maximum": 100,
"minimum": 0
},
"decision": {
"enum": [
"allow",
"deny",
"hold"
],
"type": "string"
}
}
}Update an existing policy: enable/disable it, rename it, or change its priority. (Other fields are edited in the dashboard.) Requires the `policies:write` scope.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| enabled | boolean | Arm (true) or disarm (false) the policy. |
| policyId* | string | The policy's UUID (from axiorank_list_policies). |
| priority | integer | Lower runs first; ties broken by creation order. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"policyId"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"enabled": {
"type": "boolean",
"description": "Arm (true) or disarm (false) the policy."
},
"policyId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The policy's UUID (from axiorank_list_policies)."
},
"priority": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Lower runs first; ties broken by creation order."
}
}
}Vet 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.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| document | any | |
| protocol | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"document": {},
"protocol": {
"enum": [
"a2a",
"mcp",
"oauth",
"api-catalog",
"x402",
"acp",
"ucp",
"mpp",
"did",
"acp-comm",
"anp",
"agntcy-slim",
"authmd",
"ap2",
"content-permission",
"agntcy-directory",
"nlweb",
"ans",
"agent-skills",
"webmcp",
"nanda",
"vc",
"visa-tap",
"spiffe",
"agents-json",
"l402",
"oid4vci",
"authzen",
"mc-agent-pay",
"visa-intelligent-commerce",
"skyfire",
"nekuda",
"amex-agent-pay",
"paypal-agentic-checkout"
],
"type": "string"
}
}
}| arguments | object |
| sessionId | string |
| stepIndex | integer |
| durationMs | integer |
| promptText | string |
| resultText | string |
| inputTokens | integer |
| taintHandle | string |
| outputTokens | integer |
| completionText | string |
| parentStepIndex | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tool"
],
"properties": {
"tool": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"model": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"phase": {
"enum": [
"request",
"result",
"prompt",
"completion"
],
"type": "string",
"default": "request"
},
"intent": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"source": {
"enum": [
"sdk",
"mcp",
"coding-agent",
"browser-agent"
],
"type": "string"
},
"context": {
"type": "string",
"maxLength": 200000
},
"costUsd": {
"type": "number",
"maximum": 1000000,
"minimum": 0
},
"traceId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"passport": {
"type": "boolean"
},
"arguments": {
"type": "object",
"default": {},
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"stepIndex": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"durationMs": {
"type": "integer",
"maximum": 86400000,
"minimum": 0
},
"promptText": {
"type": "string",
"maxLength": 200000
},
"resultText": {
"type": "string",
"maxLength": 200000
},
"inputTokens": {
"type": "integer",
"maximum": 100000000,
"minimum": 0
},
"taintHandle": {
"type": "string",
"maxLength": 16384
},
"outputTokens": {
"type": "integer",
"maximum": 100000000,
"minimum": 0
},
"completionText": {
"type": "string",
"maxLength": 200000
},
"parentStepIndex": {
"type": "integer",
"maximum": 100000,
"minimum": 0
}
}
}