🧪 Server Compliance — A2A TCK

A2A Test Compatibility Kit results for AgentBin SpecAgent (.NET SDK) • Tested: 2026-03-24T12:22:31 UTC • SUT: http://localhost:5100/spec
What is this? The A2A TCK is a conformance test suite that validates A2A server implementations against the A2A specification. Failures indicate .NET SDK gaps — not SpecAgent bugs. Each requirement maps to a specific spec section.
Overall
77.2%%
MUST
75.7%%
56 pass • 18 fail • 0 skip
SHOULD
100%
2 pass
MAY
100%
3 pass
Not Tested
30
gRPC transport not supported

❌ Failing Requirements (18)

RequirementStatusTransportsError
CARD-EXT-001FAILgrpchttp_jsonjsonrpcOperation failed: Extended agent card not configured.
CARD-EXT-002FAILgrpchttp_jsonjsonrpcOperation failed: Extended agent card not configured.
CORE-MULTI-004FAILgrpchttp_jsonjsonrpcOperation failed: Task 'tck-nonexistent-multi-004-7ac57cb1' not found.
CORE-MULTI-005FAILgrpchttp_jsonjsonrpcSendMessage with taskId failed: Task is in a terminal state and cannot accept messages.
CORE-SEND-002FAILgrpchttp_jsonjsonrpcOperation failed: Task 'tck-complete-task-7ac57cb1' not found.
HTTP_JSON-ERR-001FAILhttp_jsonAIP-193 error response must include 'error' object
HTTP_JSON-ERR-002FAILhttp_json('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\core_operations\\test_error_handling.py', 584, 'Skipped: Respon
HTTP_JSON-STATUS-001FAILhttp_jsonServer MUST return VersionNotSupportedError (400) for unsupported A2A-Version, but processed the request normally
JSONRPC-ERR-003FAILjsonrpc('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\jsonrpc\\test_error_info.py', 77, 'Skipped: error.data is absen
JSONRPC-SSE-002FAILjsonrpcError code mismatch: expected ContentTypeNotSupportedError (-32005), got ParseError (-32700)
STREAM-ORDER-002FAILgrpchttp_jsonjsonrpc('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\core_operations\\test_multi_stream.py', 121, 'Skipped: Stream 1
STREAM-ORDER-003FAILgrpchttp_jsonjsonrpc('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\core_operations\\test_multi_stream.py', 121, 'Skipped: Stream 0
STREAM-ORDER-004FAILgrpchttp_jsonjsonrpc('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\core_operations\\test_multi_stream.py', 121, 'Skipped: Stream 0
STREAM-SUB-001FAILgrpcjsonrpc('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\jsonrpc\\test_sse_streaming.py', 261, 'Skipped: SubscribeToTask
STREAM-SUB-002FAILgrpchttp_jsonjsonrpc('D:\\github\\a2aproject\\a2a-tck\\tests\\compatibility\\core_operations\\test_task_lifecycle.py', 384, 'Skipped: subscr
STREAM-SUB-003FAILgrpchttp_jsonjsonrpcSubscribeToTask on a terminal task should return an error, but succeeded
STREAM-SUB-004FAILgrpcjsonrpcExpected error code -32001 (TaskNotFoundError), got -32603
VER-SERVER-002FAILhttp_jsonjsonrpcExpected error for unsupported version, got 200

✅ Passing Requirements (61)

RequirementStatusTransports
BIND-FIELD-001PASSagent_card
CARD-DISC-001PASSagent_card
CARD-PROTO-001PASSagent_card
CARD-PROTO-002PASSagent_card
CARD-STRUCT-001PASSagent_card
CORE-CANCEL-001PASSgrpchttp_jsonjsonrpc
CORE-CANCEL-002PASSgrpchttp_jsonjsonrpc
CORE-CANCEL-003PASSgrpchttp_jsonjsonrpc
CORE-CAP-001PASShttp_jsonjsonrpc
CORE-CAP-003PASSjsonrpc
CORE-ERR-001PASShttp_jsonjsonrpc
CORE-ERR-002PASShttp_jsonjsonrpc
CORE-EXECUTION-MODE-001PASSgrpchttp_jsonjsonrpc
CORE-EXECUTION-MODE-002PASSgrpchttp_jsonjsonrpc
CORE-GET-001PASSgrpchttp_jsonjsonrpc
CORE-GET-002PASSgrpchttp_jsonjsonrpc
CORE-LIST-001PASSgrpchttp_jsonjsonrpc
CORE-LIST-002PASSgrpchttp_jsonjsonrpc
CORE-LIST-003PASSgrpchttp_jsonjsonrpc
CORE-LIST-004PASSgrpchttp_jsonjsonrpc
CORE-LIST-005PASSgrpchttp_jsonjsonrpc
CORE-MULTI-001aPASSgrpchttp_jsonjsonrpc
CORE-MULTI-002aPASSgrpchttp_jsonjsonrpc
CORE-MULTI-003PASSgrpchttp_jsonjsonrpc
CORE-MULTI-006PASSgrpchttp_jsonjsonrpc
CORE-SEND-001PASSgrpchttp_jsonjsonrpc
CORE-SEND-003PASSgrpchttp_jsonjsonrpc
CORE-STREAM-001PASSgrpchttp_jsonjsonrpc
CORE-STREAM-002PASSgrpchttp_jsonjsonrpc
CORE-STREAM-003PASSgrpchttp_jsonjsonrpc
DM-ART-001PASSgrpchttp_jsonjsonrpc
DM-MSG-001PASSgrpchttp_jsonjsonrpc
DM-MSG-002PASShttp_jsonjsonrpc
DM-PART-001PASShttp_jsonjsonrpc
DM-SERIAL-001PASShttp_jsonjsonrpc
DM-SERIAL-002PASShttp_jsonjsonrpc
DM-SERIAL-003PASShttp_jsonjsonrpc
DM-SERIAL-004PASShttp_jsonjsonrpc
DM-STATUS-001PASShttp_jsonjsonrpc
DM-TASK-001PASShttp_jsonjsonrpc
DM-TASK-002PASShttp_jsonjsonrpc
HTTP_JSON-QP-001PASShttp_json
HTTP_JSON-SSE-001PASShttp_json
HTTP_JSON-SVC-001PASShttp_json
HTTP_JSON-SVC-002PASShttp_json
HTTP_JSON-URL-001PASShttp_json
HTTP_JSON-URL-002PASShttp_json
JSONRPC-ERR-001PASSjsonrpc
JSONRPC-ERR-002PASSjsonrpc
JSONRPC-FMT-001PASSjsonrpc
JSONRPC-FMT-002PASSjsonrpc
JSONRPC-SSE-001PASSjsonrpc
JSONRPC-SVC-001PASSjsonrpc
JSONRPC-SVC-002PASSjsonrpc
STREAM-ORDER-001PASSgrpchttp_jsonjsonrpc
VER-SERVER-003PASSjsonrpc
CARD-CACHE-001PASSagent_card
CARD-CACHE-002PASSagent_card
CARD-CACHE-003PASSagent_card
CORE-MULTI-001PASSgrpchttp_jsonjsonrpc
CORE-MULTI-002PASSgrpchttp_jsonjsonrpc

⏭️ Skipped (0)

RequirementStatusTransportsReason

⚪ Not Tested (30)

These requirements target gRPC transport which AgentBin does not currently support.

RequirementStatusTransports
AUTH-INTASK-001NOT TESTED
AUTH-INTASK-002NOT TESTED
AUTH-INTASK-003NOT TESTED
AUTH-INTASK-004NOT TESTED
AUTH-SCOPE-001NOT TESTED
AUTH-SCOPE-002NOT TESTED
AUTH-SCOPE-003NOT TESTED
AUTH-SERVER-002NOT TESTED
AUTH-TLS-001NOT TESTED
BIND-EQUIV-001NOT TESTED
BIND-EQUIV-002NOT TESTED
BIND-EQUIV-003NOT TESTED
BIND-EQUIV-004NOT TESTED
CARD-SIGN-001NOT TESTED
CARD-SIGN-002NOT TESTED
CARD-SIGN-003NOT TESTED
CARD-SIGN-004NOT TESTED
CORE-CAP-004NOT TESTED
GRPC-SVC-003NOT TESTED
PUSH-DELIVER-001NOT TESTED
PUSH-DELIVER-002NOT TESTED
PUSH-DELIVER-003NOT TESTED
VER-CLIENT-001NOT TESTED
VER-CLIENT-002NOT TESTED
VER-SERVER-001NOT TESTED
AUTH-INTASK-005NOT TESTED
AUTH-INTASK-006NOT TESTED
AUTH-SERVER-001NOT TESTED
AUTH-TLS-002NOT TESTED
DM-SERIAL-005NOT TESTED