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.