AxioRank: Zero-Trust for AI Agents
REMOTE · APP.AXIORANK.COM · SCANNED AUG 3
Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (fair).Partial
- Context-footprint check failed: tool/resource definitions use about 2310 tokens (~105/item across 22 items; 22 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage76
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 29% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · app.axiorank.com
claude mcp add --transport http com-axiorank-axiorank https://app.axiorank.com/api/mcp-server/mcp
[mcp_servers.com-axiorank-axiorank] url = "https://app.axiorank.com/api/mcp-server/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-axiorank-axiorank": {
"type": "remote",
"url": "https://app.axiorank.com/api/mcp-server/mcp",
"enabled": true
}
}
} openclaw mcp add com-axiorank-axiorank --url https://app.axiorank.com/api/mcp-server/mcp --transport streamable-http
mcp_servers:
com-axiorank-axiorank:
url: "https://app.axiorank.com/api/mcp-server/mcp" {
"mcpServers": {
"com-axiorank-axiorank": {
"type": "http",
"url": "https://app.axiorank.com/api/mcp-server/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +6
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://app.axiorank.com/api/mcp-server/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=app.axiorank.com | CN=YR1,O=Let's Encrypt,C=US | 8 Jun 2026 | 6 Sept 2026 | RSA 2048 | SHA256-RSA | 5559d3722caa6962686a24078b30ce488b1 |
| SANs: app.axiorank.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of app.axiorank.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| axiorank.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://app.axiorank.com/.well-known/oauth-protected-resource"
Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://app.axiorank.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), browsing-topics=() |
Protected resource metadata
| Document | https://app.axiorank.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://app.axiorank.com/api/mcp-server/mcp |
| Authorisation server | https://app.axiorank.com |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.axiorank.com/api/mcp-server/mcp | Verified | 200 | |
| http (plaintext) | http://app.axiorank.com/api/mcp-server/mcp | HTTPS enforced | 308 | https://app.axiorank.com/api/mcp-server/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
axiorank_author_detector Author a detector from a description ~112
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+).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | What to detect, e.g. 'flag AWS secret access keys in tool arguments'. |
No output schema declared.
No examples provided.
axiorank_check_approval Check a held tool call ~115
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approvalId | string | yes | The approvalId returned by axiorank_score_tool_call when the decision was 'hold'. |
No output schema declared.
No examples provided.
axiorank_create_agent Create an agent ~135
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| labels | array | — | — |
| name | string | yes | — |
| tokenScopes | 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). |
No output schema declared.
No examples provided.
axiorank_create_policy Create a policy (disabled) ~150
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | — |
| context | — | — | — |
| enforcementMode | string | — | — |
| name | string | yes | — |
| priority | integer | — | — |
| riskThreshold | — | — | — |
| signalCategory | — | — | — |
| toolPattern | string | yes | — |
No output schema declared.
No examples provided.
axiorank_get_agent Get an agent ~65
Fetch one agent's posture (quarantine state, labels, last-used, revocation) by id, scoped to your workspace. Requires the `agents:read` scope.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | The agent's UUID (from axiorank_list_agents). |
No output schema declared.
No examples provided.
axiorank_get_health Get AxioRank health ~39
Liveness/readiness probe for the AxioRank control plane (API + database reachability). Returns `status: ok|degraded`.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
axiorank_get_incident Get incident kill-chain evidence ~81
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.
| Name | Type | Req | Description |
|---|---|---|---|
| alertId | string | yes | The alert/incident UUID (from axiorank_list_incidents). |
No output schema declared.
No examples provided.
axiorank_get_policy Get a policy ~53
Fetch one outbound policy by id, scoped to your workspace. Requires the `policies:read` scope.
| Name | Type | Req | Description |
|---|---|---|---|
| policyId | string | yes | The policy's UUID (from axiorank_list_policies). |
No output schema declared.
No examples provided.
axiorank_get_protocol_coverage Get protocol coverage ~96
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
axiorank_get_usage Get usage & plan ~46
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
axiorank_issue_token Issue a short-lived agent token ~152
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | 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). |
No output schema declared.
No examples provided.
axiorank_list_agents List agents ~57
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
axiorank_list_incidents List incidents ~104
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.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | — | — |
| limit | integer | — | — |
| severity | string | — | — |
| status | string | — | — |
No output schema declared.
No examples provided.
axiorank_list_ml_assessments List ML assessments ~59
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
No output schema declared.
No examples provided.
axiorank_list_policies List policies ~61
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
axiorank_list_threat_intel List network threat intel ~76
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
axiorank_quarantine_agent Quarantine or release an agent ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | The agent's UUID (from axiorank_list_agents). |
| quarantine | boolean | yes | true = quarantine (deny all its calls); false = release. |
No output schema declared.
No examples provided.
axiorank_revoke_agent Revoke an agent ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | The agent's UUID (from axiorank_list_agents). |
No output schema declared.
No examples provided.
axiorank_score_tool_call Score an agent tool call ~292
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.
| Name | Type | Req | Description |
|---|---|---|---|
| arguments | object | — | — |
| completionText | string | — | — |
| context | string | — | — |
| costUsd | number | — | — |
| durationMs | integer | — | — |
| inputTokens | integer | — | — |
| intent | string | — | — |
| metadata | object | — | — |
| model | string | — | — |
| outputTokens | integer | — | — |
| parentStepIndex | integer | — | — |
| passport | boolean | — | — |
| phase | string | — | — |
| promptText | string | — | — |
| resultText | string | — | — |
| sessionId | string | — | — |
| source | string | — | — |
| stepIndex | integer | — | — |
| taintHandle | string | — | — |
| tool | string | yes | — |
| traceId | string | — | — |
No output schema declared.
No examples provided.
axiorank_search_audit_logs Search audit logs ~184
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | — | — |
| decision | string | — | — |
| from | string | — | ISO timestamp: inclusive lower bound on created_at. |
| limit | integer | — | — |
| minRisk | integer | — | — |
| source | string | — | — |
| to | string | — | ISO timestamp: exclusive upper bound on created_at. |
| tool | string | — | Case-insensitive substring of the tool name. |
No output schema declared.
No examples provided.
axiorank_update_policy Update a policy ~110
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.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | — | Arm (true) or disarm (false) the policy. |
| name | string | — | — |
| policyId | string | yes | The policy's UUID (from axiorank_list_policies). |
| priority | integer | — | Lower runs first; ties broken by creation order. |
No output schema declared.
No examples provided.
axiorank_verify_card Verify an agent/server card ~142
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.
| Name | Type | Req | Description |
|---|---|---|---|
| document | — | — | — |
| protocol | string | — | — |
| url | string | — | — |
No output schema declared.
No examples provided.