{
  "title": "MCP vs A2A Myths and Evidence",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-26",
  "protocolRevision": "MCP 2026-07-28 / A2A 1.0",
  "mcpRevision": "2026-07-28",
  "a2aCompatibilityLine": "1.0",
  "a2aWebsiteSpecificationLabel": "1.0.0",
  "a2aRepositoryPatchTag": "v1.0.1",
  "a2aVersionSemantics": "A2A negotiates major.minor 1.0; patch tags identify specification releases and are not negotiated.",
  "count": 35,
  "records": [
    {
      "id": "R8-MYTH001",
      "myth": "A2A replaces MCP",
      "assessment": "False",
      "correction": "Official A2A materials call them complementary.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH002",
      "myth": "MCP is agent-to-agent",
      "assessment": "Usually false",
      "correction": "MCP primarily connects hosts/agents to capabilities; an implementation may wrap an agent.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH003",
      "myth": "A2A is just tool calling between agents",
      "assessment": "False",
      "correction": "A2A defines Messages, Tasks, Artifacts, Agent Cards, streaming and push delivery.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH004",
      "myth": "Every MCP server is an agent",
      "assessment": "False",
      "correction": "An MCP server may be a deterministic wrapper with no model or autonomy.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH005",
      "myth": "Every A2A server contains an LLM",
      "assessment": "Not required",
      "correction": "The protocol defines an agent role, not a mandatory model implementation.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH006",
      "myth": "An A2A skill is the same as an MCP tool",
      "assessment": "False",
      "correction": "A skill is descriptive and can encompass many internal operations.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH007",
      "myth": "MCP Tasks and A2A Tasks are compatible",
      "assessment": "False",
      "correction": "They have different methods, states, negotiation and semantics.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH008",
      "myth": "A2A Tasks are optional extensions",
      "assessment": "False",
      "correction": "Task is a core A2A object; a direct Message can be returned for simpler work.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH009",
      "myth": "MCP Tasks are core MCP",
      "assessment": "False in current MCP",
      "correction": "Current Tasks are an extension.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH010",
      "myth": "A2A only uses JSON-RPC",
      "assessment": "False in v1.0",
      "correction": "JSON-RPC, HTTP+JSON/REST and gRPC are core bindings.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH011",
      "myth": "MCP only uses HTTP",
      "assessment": "False",
      "correction": "stdio remains a core transport.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH012",
      "myth": "Both protocols require persistent sessions",
      "assessment": "False",
      "correction": "Current MCP is sessionless; A2A uses explicit Task/context state over stateless infrastructure.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH013",
      "myth": "Agent Cards prove an agent is safe",
      "assessment": "False",
      "correction": "Signatures can establish integrity/origin, not behavioral safety.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH014",
      "myth": "server/discover is an Agent Card",
      "assessment": "False",
      "correction": "It is live MCP capability/version discovery, not an agent identity/skill document.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH015",
      "myth": "A signed Agent Card proves every skill works",
      "assessment": "False",
      "correction": "It proves the signed metadata was not altered and came from the signing identity.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH016",
      "myth": "A2A hides all agent outputs",
      "assessment": "False",
      "correction": "It hides internals while exchanging Messages, status, history and Artifacts.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH017",
      "myth": "A2A requires agents to reveal chain of thought",
      "assessment": "False",
      "correction": "Opaque execution is a guiding principle.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH018",
      "myth": "Using both protocols automatically preserves user identity",
      "assessment": "False",
      "correction": "Bridges must explicitly preserve or exchange identity and authorization context.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH019",
      "myth": "OAuth makes combined systems secure",
      "assessment": "False",
      "correction": "Authorization design, task ownership, content trust and implementation security still matter.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH020",
      "myth": "A2A is a Google-only protocol",
      "assessment": "Outdated",
      "correction": "Google created it, then donated it; it now has multi-company governance and AAIF hosting.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH021",
      "myth": "MCP is controlled only by Anthropic",
      "assessment": "Outdated",
      "correction": "MCP has public governance and AAIF hosting, though its origins remain Anthropic.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH022",
      "myth": "Both projects share one technical steering committee",
      "assessment": "False",
      "correction": "They share an AAIF umbrella but retain distinct technical governance.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH023",
      "myth": "A2A v1.0 was released in 2025",
      "assessment": "False",
      "correction": "The first stable v1.0 release shipped in March 2026.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH024",
      "myth": "A2A v0.3 and v1.0 are automatically wire-identical",
      "assessment": "False",
      "correction": "v1.0 includes breaking changes; compatibility layers are explicit.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH025",
      "myth": "A2A is a subagent protocol",
      "assessment": "Officially no",
      "correction": "The project says it is not a protocol for an agent’s private subagents or tools.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH026",
      "myth": "A2A replaces APIs",
      "assessment": "False",
      "correction": "A2A uses web bindings and agents still call APIs internally.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH027",
      "myth": "MCP replaces APIs",
      "assessment": "False",
      "correction": "MCP servers frequently wrap APIs, databases and SDKs.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH028",
      "myth": "The vertical/horizontal metaphor fully explains the protocols",
      "assessment": "Incomplete",
      "correction": "It obscures task semantics, identity, discovery, local execution and ambiguous boundaries.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH029",
      "myth": "One gateway can treat all MCP and A2A traffic identically",
      "assessment": "Unsafe simplification",
      "correction": "The protocols expose different identities, operations, state and policy units.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH030",
      "myth": "A2A Artifacts are MCP resources",
      "assessment": "False",
      "correction": "They can be bridged conceptually but are different protocol objects.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH031",
      "myth": "MCP resources are A2A messages",
      "assessment": "False",
      "correction": "Resources are URI-addressable server data; Messages are communication turns.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH032",
      "myth": "A2A remote agents cannot use MCP",
      "assessment": "False",
      "correction": "Official architecture explicitly expects many agents to use MCP internally.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH033",
      "myth": "An MCP server cannot call A2A",
      "assessment": "False at implementation layer",
      "correction": "A server can delegate internally, though that composition is outside MCP core semantics.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH034",
      "myth": "Using A2A always means less control",
      "assessment": "Too broad",
      "correction": "Clients can apply policy, but the remote agent intentionally owns more execution discretion.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-MYTH035",
      "myth": "Using MCP always means deterministic behavior",
      "assessment": "False",
      "correction": "Tools can wrap models, workflows or stochastic services.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    }
  ]
}