SecureAI · Open source, Apache 2.0 · For agent builders
One import. Same code.
Open-source, drop-in adapters for the AI SDKs you already use. Change the import and every call is signed, checked against your policy and recorded.
pip install "macaw-adapters[all]"
Needs the MACAW client: npm install -g @macaw-ai/client && macaw-client install
What you get.
Thin, drop-in replacements for the agent SDKs you already use. Inside, each one runs a MACAW client, so every call gets MACAW’s cryptographic protocol and deterministic controls without changing your code.
Every call signed
Each call carries the agent’s own signature, so you know exactly who made it.
Policy before it runs
Limits on models, tokens and tools, checked before the call runs. LLM replies are checked too.
A signed record
A tamper-evident record of every call, allowed or denied.
Across frameworks
Write a policy once in MAPL and it applies to OpenAI, LangChain, MCP and the rest. One identity and one record, even when a workflow spans several.
How it works.
Every adapter creates a MACAW agent in your process. It signs each call, checks it against your policy and records it, whichever framework made the call.
The control plane holds the keys, the policies and the logs.
Learn more about our MCP adapterFind your adapter.
Start from what you run today.
- SecureOpenAIYou call OpenAI directly
macaw_adapters.openai - SecureAnthropicYou call Anthropic directly
macaw_adapters.anthropic - SecureLangChainYou build agents with LangChain
macaw_adapters.langchain - SecurePydanticAIYou build agents with Pydantic AI
macaw_adapters.pydantic_ai - SecureLiteLLMYou reach 100+ providers through LiteLLM
macaw_adapters.litellm - SecureMCPYou run your own MCP server
macaw_adapters.mcp - SecureMCPProxyYou connect to MCP servers you don’t control
macaw_adapters.mcp - Build your own adapterYou use another framework
- CrewAI, AutoGen, LlamaIndex, Haystack or A2A?We’ve secured these too. Tell us what you run and we’ll set you up.Talk to us
Python 3.9 or later. mcp, mcp-proxy and litellm need 3.10; pydantic-ai needs 3.11. Apache 2.0.
Working examples.
Runnable code for every adapter, on GitHub.
examples/openaiDrop-in, multi-user, streamingexamples/anthropicDrop-in, multi-user, streamingexamples/langchainAgents, permissions, memoryexamples/pydantic_aiModel routing, provider-side toolsexamples/litellmMany providers, one policyexamples/mcpServer, client and proxyexamples/attestationsHuman-in-the-loop approvalsexamples/phishing-resistanceApprovals that need a passkey
Get started.
Three steps, a few minutes. Your code stays as it is.
- Install the client
npm install -g @macaw-ai/client && macaw-client installYour browser opens; sign in and approve the workspace. - Install the adapters
pip install "macaw-adapters[all]"Or only what you use: openai, claude, langchain, pydantic-ai, litellm, mcp, mcp-proxy. - GoChange the import and run your agent.
Enforce everywhere your agents act.
One control plane decides for all of them.
- One control planePlatformPolicy, approvals and evidence in one console. SaaS, your VPC or on-prem.
- Beside your coding agentCoding agentsClaude Code and Codex. See what your agent did, then decide what it may do.
- In front of your MCP serversSecureMCP Store51 MCP servers. Every call checked against your policy first.