Agent Adapter is an open-source agentic framework for Python built for enterprises, startups and vibe coders. Its core promise is simple: write a tool once as a plain Python function, then run it in any agent framework, any backend or any language, with approvals, budgets, cost and traces built in. Tools are defined with a decorator, registered in a registry, and attached to the framework of your choice. The project ships with 23 integrations, 170 runnable examples and 6,000+ tests, and is distributed under the Apache-2.0 license as a free package installable via pip or added to your AI coding agent as a skill.
AI agent development is fragmented. Teams write tools for LangChain, then rewrite them for CrewAI, Google ADK or MCP, and repeat the work again when a non-Python backend needs the same capability. Agent Adapter addresses that fragmentation by keeping your tools in Python as the single source of truth while making them reachable from .NET, Java, TypeScript, Go, Rust, Ruby, PHP or any other backend over MCP or HTTP. It also adds a governance layer that agent frameworks do not provide out of the box, so every call can be subject to approvals, budgets, cost tracking, traces and audit records.
The first core capability is framework portability. You define a tool once with the registry decorator and change a single line to move it to another framework. The content lists integrations with LangChain, LangGraph, CrewAI, Google ADK, OpenAI Agents SDK, Pydantic AI, LlamaIndex, MCP, Composio, Claude Agent SDK, AutoGen, AG2, Haystack, smolagents, Strands Agents, Semantic Kernel, Microsoft Agent Framework, DSPy, Agno, CAMEL-AI, OpenAI, Gemini, Anthropic, OpenAPI, A2A and AG-UI. Each integration is installed as an optional extra and wired up through an attach call that receives your registry and executor.
The second capability is the executor layer, described in the documentation as L1 · EXECUTOR, where every call is checked. The executor adds approval, budgets, cost, traces and audit to tool invocations. The homepage illustrates a single call showing an approved status, a cost of $0.004 and a trace ID before the underlying function runs, such as booking tickets for the Louvre for two people. This means the same safeguards apply whether the tool is called from Python, from another framework, or from a remote backend.
The third capability is cross-language access. Your tools stay in Python and are served over MCP or HTTP, so .NET, Java, TypeScript, Go, Rust, Ruby, PHP or any other backend can call them. The content shows a Python example that serves tools with an HTTP app, a C# example using the MCP C# SDK to call a tool, and a Java example using Spring AI where tools become ToolCallbacks through a streamable HTTP connection. Approvals, budgets and traces apply to every call regardless of the calling language.
A fourth capability is AI IDE integration. One command, npx skills add VeloceAI/agent-adapter, adds the skill to your AI coding agent, and a copyable setup prompt is also provided. The skill and prompt work in Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Antigravity, Kiro, Cline, Roo Code and 60+ more coding agents, letting those assistants understand and scaffold Agent Adapter code.
Overall, the product works as a three-layer stack. At the base, L0 · TOOLS, your code is written once as plain Python functions with the @tool decorator. Above it, L1 · EXECUTOR checks every call with approval, budgets, cost, traces and audit. At the top, L2 · ATTACH connects any framework or language, such as LangChain, CrewAI, ADK, MCP, .NET, Java or Go. A single call flows start to finish: your agent asks, Agent Adapter approves, prices and traces it, then your function runs.
The benefits described are portability and safety. Because a tool is defined once, teams avoid duplicating work across frameworks and languages, and moving to another framework requires changing one line. Because the executor is always in the path, every invocation carries approvals, budgets, cost tracking and traces, giving visibility into what agents are doing and what they spend. The audit layer supports accountability, and free open-source Apache-2.0 licensing keeps adoption low-friction.
Typical use cases visible in the content include defining a ticket-booking tool and attaching it to LangChain, CrewAI, OpenAI Agents, Google ADK or MCP with the same registry and executor. Another is serving a weather tool from Python and calling it from a C# application through the MCP C# SDK, or from a Java application through Spring AI streamable HTTP connections. A third is invoking tools directly from Python through the executor's run method, and a fourth is exposing tools to any MCP client via a streamable HTTP app. Teams also add the skill to their AI coding agent to get assistance while building.
Agent Adapter targets enterprises, startups and vibe coders. It is a Python package installed through pip, with optional extras per framework, and the skill is added through npx. It is free and open source under Apache-2.0. The published integrations span agent frameworks including LangChain, LangGraph, CrewAI, Google ADK, OpenAI Agents SDK, Pydantic AI, LlamaIndex, MCP, Composio, Claude Agent SDK, AutoGen, AG2, Haystack, smolagents, Strands Agents, Semantic Kernel, Microsoft Agent Framework, DSPy, Agno and CAMEL-AI, plus model and protocol connectors for OpenAI, Gemini, Anthropic, OpenAPI, A2A and AG-UI.
In summary, Agent Adapter's primary value is writing an agent tool once and running it anywhere, safely. It combines framework portability, cross-language reach and a built-in executor for approvals, budgets, cost and traces, all in a free and open-source package designed to keep AI agent tooling consistent across stacks.