{
  "title": "MCP vs A2A FAQ",
  "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.",
  "schemaNote": "Visible answer dataset only. FAQPage JSON-LD is intentionally not emitted, and no FAQ rich-result eligibility is claimed.",
  "count": 50,
  "records": [
    {
      "id": "R8-FAQ001",
      "packageFaqId": "FAQ001",
      "question": "What is MCP?",
      "answer": "MCP is a protocol through which AI applications discover and use server-exposed tools, resources, prompts and extensions.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ002",
      "packageFaqId": "FAQ002",
      "question": "What is A2A?",
      "answer": "A2A is a protocol for independently implemented agents to discover one another, exchange Messages, delegate work, track Tasks and return Artifacts.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ003",
      "packageFaqId": "FAQ003",
      "question": "What is the main difference between MCP and A2A?",
      "answer": "MCP usually governs access to capabilities; A2A governs collaboration and delegation between agents.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ004",
      "packageFaqId": "FAQ004",
      "question": "Does A2A replace MCP?",
      "answer": "No. Official A2A documentation presents them as complementary.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ005",
      "packageFaqId": "FAQ005",
      "question": "Can a system use both?",
      "answer": "Yes. A2A can connect agents while each agent uses MCP for tools and data.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ006",
      "packageFaqId": "FAQ006",
      "question": "Is an MCP server an agent?",
      "answer": "Not inherently. It may be deterministic, rule-based or a wrapper around an API.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ007",
      "packageFaqId": "FAQ007",
      "question": "Is an A2A server an agent?",
      "answer": "Yes in the protocol role sense: it is the remote agent application accepting Messages and Tasks.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ008",
      "packageFaqId": "FAQ008",
      "question": "What is an MCP tool?",
      "answer": "A named, schema-described operation exposed by an MCP server.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ009",
      "packageFaqId": "FAQ009",
      "question": "What is an A2A skill?",
      "answer": "A descriptive ability advertised in an Agent Card; it may be fulfilled through many internal tools or workflows.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ010",
      "packageFaqId": "FAQ010",
      "question": "Are tools and skills equivalent?",
      "answer": "No. Tools are invocation-shaped; skills are broader advertised abilities.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ011",
      "packageFaqId": "FAQ011",
      "question": "What is an Agent Card?",
      "answer": "A discovery document describing an A2A agent’s identity, interfaces, versions, security and skills.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ012",
      "packageFaqId": "FAQ012",
      "question": "What is server/discover?",
      "answer": "`server/discover` is required for MCP 2026-07-28 servers. A client may skip that preflight call, invoke another RPC directly, and handle an unsupported-version error.",
      "packageAnswer": "An optional MCP method that reports a server’s supported versions and capabilities.",
      "packageSourceIds": [
        "S044"
      ],
      "sourceIds": [
        "S127"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence",
      "editorialCorrection": "Current primary-source publication correction applied."
    },
    {
      "id": "R8-FAQ013",
      "packageFaqId": "FAQ013",
      "question": "Is server/discover the same as an Agent Card?",
      "answer": "No. It is live server capability discovery, not a complete agent identity and skill document.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ014",
      "packageFaqId": "FAQ014",
      "question": "How are public A2A agents discovered?",
      "answer": "Commonly through /.well-known/agent-card.json, direct configuration or registries.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ015",
      "packageFaqId": "FAQ015",
      "question": "How are MCP tools discovered?",
      "answer": "Through server/discover and tools/list, subject to host policy and protocol version.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ016",
      "packageFaqId": "FAQ016",
      "question": "What is an MCP Task?",
      "answer": "An optional extension result that gives a durable handle for a long-running MCP request.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ017",
      "packageFaqId": "FAQ017",
      "question": "What is an A2A Task?",
      "answer": "The core tracked unit of agent work, with status, history and Artifacts.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ018",
      "packageFaqId": "FAQ018",
      "question": "Are MCP Tasks and A2A Tasks compatible?",
      "answer": "No. They use different protocols, states and operations.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ019",
      "packageFaqId": "FAQ019",
      "question": "Can A2A return without creating a Task?",
      "answer": "Yes. A simple interaction may return a direct Message.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ020",
      "packageFaqId": "FAQ020",
      "question": "Which protocol has task listing?",
      "answer": "A2A v1.0 has List Tasks; current MCP Tasks intentionally omits a general tasks/list.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ021",
      "packageFaqId": "FAQ021",
      "question": "Which protocol supports push notifications?",
      "answer": "A2A defines push-notification configuration in its core operations; MCP is developing broader event mechanisms and uses subscriptions/notifications for selected features.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ022",
      "packageFaqId": "FAQ022",
      "question": "Which protocol supports local stdio servers?",
      "answer": "MCP.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ023",
      "packageFaqId": "FAQ023",
      "question": "Which protocol supports gRPC?",
      "answer": "A2A v1.0 defines gRPC as a core binding.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ024",
      "packageFaqId": "FAQ024",
      "question": "Do both use JSON-RPC?",
      "answer": "MCP is JSON-RPC based; A2A offers a JSON-RPC binding alongside HTTP+JSON and gRPC.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ025",
      "packageFaqId": "FAQ025",
      "question": "Is MCP stateless?",
      "answer": "The current 2026-07-28 core is stateless at the protocol request layer.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ026",
      "packageFaqId": "FAQ026",
      "question": "Is A2A stateless?",
      "answer": "Its v1.0 architecture is web-aligned and stateless at the service layer while Task and context state are explicit.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ027",
      "packageFaqId": "FAQ027",
      "question": "Who owns reasoning in MCP?",
      "answer": "Usually the host/model, although a server can perform complex internal work.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ028",
      "packageFaqId": "FAQ028",
      "question": "Who owns reasoning in A2A?",
      "answer": "The remote agent may own its plan and execution strategy.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ029",
      "packageFaqId": "FAQ029",
      "question": "Can an A2A agent use MCP tools?",
      "answer": "Yes; this is the canonical complementary architecture.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ030",
      "packageFaqId": "FAQ030",
      "question": "Can an MCP server call an A2A agent?",
      "answer": "Yes as an implementation choice, though MCP does not standardize that internal delegation.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ031",
      "packageFaqId": "FAQ031",
      "question": "Should I expose an agent as one MCP tool?",
      "answer": "Only when a bounded invocation contract is sufficient. Use A2A when task lifecycle, skill discovery and agent discretion matter.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ032",
      "packageFaqId": "FAQ032",
      "question": "Should I expose a deterministic API as an A2A agent?",
      "answer": "Usually not; direct APIs or MCP are simpler when no independent agent behavior is needed.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ033",
      "packageFaqId": "FAQ033",
      "question": "How does authorization differ?",
      "answer": "MCP defines a detailed OAuth resource-server profile; A2A declares web security schemes in Agent Cards and leaves credential acquisition out of protocol messages.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ034",
      "packageFaqId": "FAQ034",
      "question": "Do signed Agent Cards make agents trustworthy?",
      "answer": "They can verify integrity and signer identity, not competence, safety or authorization.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ035",
      "packageFaqId": "FAQ035",
      "question": "What are A2A Artifacts?",
      "answer": "Deliverables produced by a Task, composed of content Parts and capable of incremental updates.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ036",
      "packageFaqId": "FAQ036",
      "question": "Are A2A Artifacts MCP resources?",
      "answer": "No, although a bridge can store or expose an Artifact as a resource.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ037",
      "packageFaqId": "FAQ037",
      "question": "What is contextId in A2A?",
      "answer": "An opaque identifier that groups related A2A Messages and Tasks. An agent may generate it when absent and may accept a client-provided value; authorization must not rely on the identifier alone.",
      "packageAnswer": "A server-generated identifier grouping related Messages and Tasks.",
      "packageSourceIds": [
        "S003"
      ],
      "sourceIds": [
        "S339"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence",
      "editorialCorrection": "Current primary-source publication correction applied."
    },
    {
      "id": "R8-FAQ038",
      "packageFaqId": "FAQ038",
      "question": "Does MCP have contextId?",
      "answer": "No equivalent core field; host context and explicit application handles are separate.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ039",
      "packageFaqId": "FAQ039",
      "question": "Which protocol is better for multi-agent systems?",
      "answer": "A2A is designed for inter-agent communication; MCP remains useful inside each agent.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ040",
      "packageFaqId": "FAQ040",
      "question": "Which protocol is better for database access?",
      "answer": "MCP, unless the remote component is a database-specialist agent that owns a broader task.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ041",
      "packageFaqId": "FAQ041",
      "question": "Which protocol is better for incident response?",
      "answer": "Often both: A2A between specialist agents and MCP for logs, metrics and remediation tools.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ042",
      "packageFaqId": "FAQ042",
      "question": "Which protocol is more secure?",
      "answer": "Neither universally. Their threat models differ, and deployment authority determines risk.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ043",
      "packageFaqId": "FAQ043",
      "question": "Can a host use MCP without an LLM?",
      "answer": "Yes.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ044",
      "packageFaqId": "FAQ044",
      "question": "Can an A2A client be non-agent software?",
      "answer": "Yes; the client role can be an application acting on behalf of a user or system.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ045",
      "packageFaqId": "FAQ045",
      "question": "Is A2A an agent framework?",
      "answer": "No. It is a communication protocol between agents built with frameworks.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ046",
      "packageFaqId": "FAQ046",
      "question": "Is MCP an agent framework?",
      "answer": "No. It is an integration protocol.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ047",
      "packageFaqId": "FAQ047",
      "question": "Who governs MCP?",
      "answer": "MCP maintainers and its public governance process under AAIF hosting.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ048",
      "packageFaqId": "FAQ048",
      "question": "Who governs A2A?",
      "answer": "An eight-seat Technical Steering Committee under its project governance and current AAIF hosting.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ049",
      "packageFaqId": "FAQ049",
      "question": "Are MCP and A2A official internet standards?",
      "answer": "They are open protocols, not IETF, W3C or ISO standards as of the verification date.",
      "packageSourceIds": [
        "S003",
        "S004",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S340",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence"
    },
    {
      "id": "R8-FAQ050",
      "packageFaqId": "FAQ050",
      "question": "What versions are current?",
      "answer": "This comparison freezes MCP at `2026-07-28` and A2A at the stable `1.0` compatibility line. The A2A website labels the released specification `1.0.0`, while the repository lists a `v1.0.1` patch tag. A2A wire negotiation uses major.minor `1.0`; patch tags are not sent or compared for compatibility.",
      "packageAnswer": "MCP 2026-07-28 is current; A2A is on the stable 1.0 line with a v1.0.1 patch release. Live-check before publication.",
      "packageSourceIds": [
        "S003",
        "S015",
        "S038"
      ],
      "sourceIds": [
        "S339",
        "S351",
        "S054"
      ],
      "sourceMappingStatus": "editorially-mapped-to-package-evidence",
      "editorialCorrection": "Current primary-source publication correction applied."
    }
  ]
}