Skip to content
🚀 EDDI 6.5.0

19 LLM providers, knowledge bases that crawl your site and read your files, and conversations that follow compatible agent versionsWhat's new

Managed Cloud Get Started
All integrations
Agent protocolsJSON-RPC 2.0

A2A

Expose EDDI agents to other agents through Agent Cards and JSON-RPC, and use remote A2A agents as tools inside your own agents.

What you get

  • An Agent Card for each agent you opt in, listing its skills
  • A JSON-RPC 2.0 endpoint with tasks/send, tasks/get and tasks/cancel
  • Remote A2A agents merged into the tool-calling loop next to built-in, MCP and HTTP tools
  • Skill filters to expose only part of a remote agent

How it works in EDDI

  1. Opt an agent in with a2aEnabled: true, a description and the skills to advertise.
  2. Peers fetch its card from /a2a/agents/{agentId}/agent.json and call POST /a2a/agents/{agentId}.
  3. To consume a remote agent, list it under a2aAgents in an LLM task with its URL and a vault-referenced API key.
  4. EDDI reads the remote card, turns each skill into a tool named {agentName}_{skillId} and calls it with tasks/send.

Configuration

Taken from the EDDI documentation. Placeholders such as your-agent-id are yours to replace.

Expose an agent (agent configuration)Expose an agent. A2A is opt-in per agent.
{
  "a2aEnabled": true,
  "description": "Customer support agent specializing in order tracking",
  "a2aSkills": ["order-tracking", "refund-processing"]
}
Consume a remote agent (LLM task)Consume a remote agent. The API key must be a vault reference.
{
  "systemMessage": "You are an orchestrator agent...",
  "a2aAgents": [
    {
      "url": "https://remote-eddi.example.com/a2a/agents/support-agent",
      "name": "support-agent",
      "apiKey": "${vault:remote-agent-key}",
      "timeoutMs": 30000,
      "skillsFilter": ["order-tracking"]
    }
  ]
}

Governance

  • Agent Cards are anonymous by design, so a peer can discover an agent before it holds credentials. With authentication on, listing agents and the JSON-RPC endpoint both require a token.
  • A remote agent's tools pass through the same approval gates and tool-result guardrails as other tool sources, and the API key stays in the vault.
  • tasks/send runs a conversation on your LLM budget, which is why it is not anonymous.

Good to know

  • When authentication is on, the card advertises a token endpoint. EDDI derives a Keycloak-style path unless you set eddi.a2a.public-token-endpoint, so set it for other identity providers.

Related integrations

Configuration and behavior on this page follow the EDDI documentation, checked on 2026-10-14. Field names and defaults can change between releases, so confirm them in the docs for your version.