Enterprise AI Governance in 3 Lines of Code - Python SDK for integrating AI governance, policy enforcement, audit logging, MCP connectors, and multi-agent planning
AxonFlow SDK exposes 7 tools, all governance/policy-enforcement utilities rather than domain-specific operations. Tool names lack action verbs (mcp_check_input, mcp_check_output, check_tool_use, check_result, govern_tools, wrap_langgraph, proxy_llm_call). Descriptions are present but generic (50-150 chars). Input schemas are visible but sparse: most parameters lack type constraints, enums, or validation guidance. No output schemas documented. Error handling is implicit (PolicyViolationError mentioned but not detailed). Tools appear designed for framework integration rather than agent invocation, they wrap other tools rather than perform domain work. This is a governance SDK, not a tool server in the traditional sense.
Check a tool execution result before feeding it back to Claude. Scans for PII/secrets and can redact sensitive data.
Check a Computer Use tool_use block before execution against AxonFlow policies. Evaluates tool actions and locally checks bash commands against blocked patterns.
Wrap a list of LangChain BaseTool instances with AxonFlow governance. One-liner to govern all tools before passing them to any framework.
Evaluates tool arguments against AxonFlow policies before execution. Blocked calls raise PolicyViolationError and the tool never runs.
Evaluates tool results after execution. Can block (raise), redact (return cleaned data), or allow.
Proxy an LLM call through AxonFlow for policy enforcement and audit logging
Tool names lack action verbs. 'mcp_check_input', 'check_tool_use', 'govern_tools' do not follow verb_noun pattern (get_, create_, update_, check_, validate_). LLMs cannot infer intent from names alone.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Governance tools should return structured policy decisions (allowed/blocked/redacted) with clear field names.
Parameter 'statement' (mcp_check_input) and 'message' (mcp_check_output) accept JSON-serialized strings with no format guidance. LLMs will struggle to construct valid JSON. Provide schema examples or accept structured objects directly.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Wrap a compiled LangGraph StateGraph with AxonFlow policy enforcement at every node transition. No changes to the graph definition needed.
Parameter 'operation' (mcp_check_input) accepts 'execute' or 'query' but no enum constraint visible in schema. Free-form strings invite hallucinated values.
Error handling implicit. Descriptions mention PolicyViolationError and redaction but do not explain recovery paths. LLMs need actionable error guidance: 'Policy blocked. Try with operation=query instead' vs bare exception.