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
- Python SDK: the underlying client.
- Content-inspection engine: what each call is scored against.
- Gateway API: the HTTP contract behind every adapter.
OpenRouter
Govern agents that route models through OpenRouter with AxioRank. OpenRouter speaks the OpenAI API, so the AxioRank OpenAI adapter guards every tool call with no OpenRouter-specific package.
Slack
Add AxioRank to Slack with one click. Route high-risk AI-agent alerts to a channel, approve or deny held tool calls right in Slack, and run /axiorank for what needs attention.