Skip to content

Protocol Selection

Use A2A when the remote system is another autonomous agent. Use MCP when the remote system is a tool, resource, prompt, database, or API adapter. Use direct OpenAPI calls for deterministic service operations that do not need an agent protocol.

Tradeoffs

ChoiceBest fitStrengthCost
Direct API callDeterministic service operationSimple, debuggable, mature web toolingNo agent-native task lifecycle
MCPAgent-to-tool/resource integrationTool discovery, schemas, reusable serversDoes not represent another autonomous agent
A2AAgent-to-agent collaborationAgent Card discovery, task state, artifacts, delegationNewer ecosystem and evolving implementations
Workflow frameworkLocal orchestration inside one appControl over state and human-in-the-loop flowNot an interoperability protocol

Architecture Guidance

  • Keep OpenAPI as the contract for deterministic backend operations.
  • Wrap APIs with MCP only when agent hosts need discoverable tools.
  • Publish A2A only for services that behave like remote agents with task ownership.
  • Do not use A2A to hide ordinary CRUD APIs.
  • Do not use MCP to represent another organization-owned autonomous agent.

Example Artifacts

Page created by Dr. C. Klukas