Developers
Govern any AI agent in one API call.
Inspect, score, and police every tool call (outbound and inbound) with a single line of code. Typed SDKs, a machine-readable OpenAPI spec, and signed webhooks.
No agent rewrite · decision in <100ms · redacted audit trail
import { AxioRank } from "@axiorank/sdk"; const axio = new AxioRank({ apiKey: process.env.AXIORANK_KEY! }); // One call governs a tool call. Throws if the gateway denies it.await axio.enforce({ tool: "aws.s3.deleteBucket", arguments: { bucket: "prod-backups" },});Quickstart
From zero to governed in three steps.
Install the SDK
TypeScript or Python. Thin, typed wrappers over the gateway HTTP API.
npm i @axiorank/sdkCreate an API key
Mint a scoped key in the console under Settings → API keys.
axr_live_…Guard your agent
Route tool calls through enforce(). One line, no agent rewrite.
await axio.enforce({ tool, arguments })Build
One control plane, six surfaces.
SDKs & reference
Typed clients. A spec you can import.
Official SDKs wrap every endpoint with a typed surface and error taxonomy. Prefer your own tooling? The whole API is a machine-readable OpenAPI 3.1 document. Drop it into Postman or any codegen.
Framework integrations
Already on a framework? One line.
Drop-in adapters wrap the tools you already define, so every call your agent makes is scored, policed, and audited with no rewrite. A blocked call raises by default, or returns the model a short, readable refusal it can recover from.
@axiorank/sdk/openai-agentsimport { guardExecute } from "@axiorank/sdk/openai-agents";
const refund = tool({
name: "refund",
parameters,
execute: guardExecute("refund", doRefund, axio),
});axiorank[openai-agents]from axiorank.integrations.openai_agents import guard_tool safe_deploy = guard_tool(deploy, async_client=axio, on_deny="return")
@axiorank/sdk/langchainimport { guardTools } from "@axiorank/sdk/langchain";
const agent = createReactAgent({ llm, tools: guardTools(myTools, axio, { onDeny: "return" }) });axiorank[langchain]from axiorank.integrations.langchain import AxioRankCallbackHandler
agent.invoke(task, config={"callbacks": [AxioRankCallbackHandler(axio)]})@axiorank/sdk/vercelimport { guardTools } from "@axiorank/sdk/vercel";
const tools = guardTools(myTools, axio, { onDeny: "return" });
await generateText({ model, tools, prompt });@axiorank/sdk/mastraimport { guardTool } from "@axiorank/sdk/mastra";
const deploy = guardTool(deployTool, axio, { onDeny: "return" });axiorank[llamaindex]from axiorank.integrations.llamaindex import guard_tool safe_tool = guard_tool(my_tool, axio, on_deny="return")
axiorank[pydantic-ai]from axiorank.integrations.pydantic_ai import guard_tool safe_tool = guard_tool(Tool(deploy), axio, on_deny="return")
Model Context Protocol
Connect AxioRank to your AI.
AxioRank ships a remote MCP server. Connect Cursor, Claude Desktop, or a ChatGPT connector and operate your control plane in natural language: score a tool call, verify a card, search the audit trail, manage agents & policies, and mint short-lived agent tokens. Authenticate with an API key, or use OAuth one-click connect.
Or add it to Claude Code:
claude mcp add --transport http axiorank https://www.axiorank.com/api/mcp-server/mcpConnecting and listing tools is public. Calling a tool needs an axr_live_… key or the one-click OAuth flow.
{
"mcpServers": {
"axiorank": {
"url": "https://app.axiorank.com/api/mcp-server/mcp",
"headers": { "Authorization": "Bearer axr_live_…" }
}
}
}Prefer OAuth? Point a compatible client at the URL with no header. It discovers the authorization server and prompts you to sign in. Scope the key or token to least privilege (e.g. agents:read + logs:read for a read-only assistant).
Interoperate
63 agent protocols tracked, 47 live in the gateway.
MCP, A2A, OAuth, x402, AP2, DID, ANS and more. Verify identities and capabilities across the agent ecosystem. The coverage matrix is machine-readable.
Ship your first governed call today.
Create a key, drop in the SDK, and route a tool call through the gateway in minutes.