Connect AXL to other agent systems
Your agent is useful to more than your own application. A partner's system might want to delegate a task to it; someone else's MCP client might want to call it as a tool. Both are possible without building a separate integration, because AXL can publish an agent you have already configured.
There are two open interfaces for two different shapes of integration:
- A2A when another application needs to discover an agent, delegate work, follow task state, and answer approval or elicitation requests along the way.
- MCP when an MCP client should discover AXL's capabilities and invoke an agent as a tool.
Both run through the same agent configuration and the same task engine. You do not maintain a separate partner-facing agent or a second copy of its prompt - which is what keeps the published behavior honest as the agent evolves.
Choose an interface
| Your integration needs to… | Start with |
|---|---|
| Discover an agent through an Agent Card and exchange A2A tasks | A2A partner quickstart |
| Call one AXL agent as a named MCP tool | Expose an agent |
| Use AXL's broader MCP task and agent surface | Connect an MCP client |
The basic setup
Enable only what the agent should publish:
[interop]
a2a = true
mcp_tool = true
public_description = "Support agent for partners."
expose_skills = ["billing"]Treat public_description and expose_skills as part of the integration contract rather than
documentation. They are what an external developer reads when deciding whether to call your
agent, and they are visible to people who cannot see your configuration - so keep internal
routing details and implementation notes out of them.