{
  "title": "MCP Tasks vs A2A Tasks",
  "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": 17,
  "records": [
    {
      "Dimension": "Protocol status",
      "MCP Tasks": "Official extension io.modelcontextprotocol/tasks",
      "A2A Tasks": "Core A2A data model and operations",
      "id": "R8-TSK01",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Creation trigger",
      "MCP Tasks": "Server may replace supported request result with CreateTaskResult after client opt-in",
      "A2A Tasks": "Server may return Task instead of direct Message when tracking is needed",
      "id": "R8-TSK02",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Primary use",
      "MCP Tasks": "Asynchronous execution of an MCP request, commonly tools/call",
      "A2A Tasks": "Delegated agent work and multi-turn collaborative processing",
      "id": "R8-TSK03",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Handle",
      "MCP Tasks": "taskId in CreateTaskResult",
      "A2A Tasks": "Task id generated by A2A server",
      "id": "R8-TSK04",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Context grouping",
      "MCP Tasks": "No core conversation context; application may retain its own handles",
      "A2A Tasks": "contextId groups related Messages and Tasks",
      "id": "R8-TSK05",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Status values",
      "MCP Tasks": "working, input_required, completed, failed, cancelled",
      "A2A Tasks": "unspecified, submitted, working, completed, failed, canceled, input_required, rejected, auth_required",
      "id": "R8-TSK06",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Terminal states",
      "MCP Tasks": "completed, failed, cancelled",
      "A2A Tasks": "completed, failed, canceled, rejected",
      "id": "R8-TSK07",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Input during work",
      "MCP Tasks": "input_required plus inputRequests; client answers through tasks/update",
      "A2A Tasks": "input_required or auth_required status and follow-up Message/authorization flow",
      "id": "R8-TSK08",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Polling",
      "MCP Tasks": "tasks/get",
      "A2A Tasks": "Get Task",
      "id": "R8-TSK09",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Listing",
      "MCP Tasks": "No tasks/list in current extension",
      "A2A Tasks": "List Tasks is a core operation",
      "id": "R8-TSK10",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Cancellation",
      "MCP Tasks": "tasks/cancel; cooperative and may not stop work",
      "A2A Tasks": "Cancel Task; server behavior governed by task state and implementation",
      "id": "R8-TSK11",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Streaming updates",
      "MCP Tasks": "notifications/tasks through subscriptions/listen where supported",
      "A2A Tasks": "Send Streaming Message / Subscribe to Task with status and artifact events",
      "id": "R8-TSK12",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Push notifications",
      "MCP Tasks": "Not a general core webhook feature; roadmap work continues",
      "A2A Tasks": "Core push-notification configuration and delivery",
      "id": "R8-TSK13",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Result",
      "MCP Tasks": "Original MCP result or JSON-RPC error on terminal state",
      "A2A Tasks": "Artifacts and Task history; direct Message possible for simple case",
      "id": "R8-TSK14",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Persistence",
      "MCP Tasks": "Task ID should survive disconnects; server sets TTL",
      "A2A Tasks": "Task is stateful protocol object; retrieval/history policies are server-defined",
      "id": "R8-TSK15",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Compatibility",
      "MCP Tasks": "Requires explicit extension negotiation and MCP 2026-07-28-era support",
      "A2A Tasks": "Part of A2A v1.0; v0.3/v1.0 compatibility is separately negotiated",
      "id": "R8-TSK16",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    },
    {
      "Dimension": "Semantic meaning",
      "MCP Tasks": "Execution mode for a specific MCP request",
      "A2A Tasks": "Core unit of tracked agent work",
      "id": "R8-TSK17",
      "packageSourceIds": [
        "S003",
        "S007",
        "S008",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S343",
        "S344",
        "S137"
      ]
    }
  ]
}