AxioRankDocs
Integrations

Strands Agents

Govern a Strands (AWS) agent's tools with AxioRank. Wrap each @tool so every call is scored before it runs, with no rewrite.

Strands Agents tools are Python functions decorated with @tool. The AxioRank adapter wraps each one so its arguments are scored, policed, and audited before it runs, with no change to your agent. It is framework-free: it shadows the tool's function (the path the agent run and a direct call both use), so it never imports Strands itself.

Install

pip install "axiorank[strands]"

Guard your tools

from strands import Agent, tool
from axiorank import AxioRank
from axiorank.integrations.strands import guard_tool, guard_tools

axio = AxioRank(api_key="axr_live_...")

@tool
def deploy(service: str) -> str:
    """Deploy a service to production."""
    ...

agent = Agent(tools=guard_tools([deploy], axio, on_deny="return"))

Every call the agent makes through a guarded tool is scored first. On a deny, on_deny="raise" raises AxioRankDeniedError; on_deny="return" hands the model a short, readable refusal as the tool result, so it can re-plan. The tool's name and spec are untouched, so the guarded tool is a drop-in.

Correlate a whole run

Pass axio.trace() instead of the bare client to give every tool call in one agent run a shared trace id, so the gateway can stitch a multi-step kill chain into a single trace.

Next steps

On this page