Description
Summary
The AgentCore CLI (@aws/agentcore) and the TypeScript SDK (bedrock-agentcore)
do not currently support the A2A (Agent-to-Agent) protocol, while the Python
tooling does. This forces TypeScript users into a manual workaround to deploy
an A2A agent.
Environment
- CLI:
@aws/agentcore (npm)
- SDK:
bedrock-agentcore (npm, TypeScript)
- Language: TypeScript
- Protocol: A2A
Current behavior
- Running
agentcore and selecting TypeScript offers only the default
HTTP protocol — there is no option to select A2A.
- Selecting Python does offer the A2A protocol option.
- The Python SDK exposes
serve_a2a from bedrock_agentcore.runtime, but the
npm package bedrock-agentcore/runtime has no serve_a2a equivalent.
- Attempting
--language TypeScript --protocol A2A is gated at the CLI level
(per the CLI CHANGELOG: "gate MCP and A2A protocols behind Python-only until
TS templates land").
Expected behavior
TypeScript should have parity with Python for A2A:
agentcore CLI should allow selecting the A2A protocol for TypeScript
agents and scaffold an appropriate template.
- The TypeScript SDK should provide a
serve_a2a equivalent (or documented
helper) that satisfies the A2A protocol contract (port 9000, POST /,
GET /ping, GET /.well-known/agent-card.json).
Current workaround
A2A works with TypeScript today, but only manually:
- Implement the A2A contract using the official
@a2a-js/sdk on port 9000.
- Register the agent as HTTP, then edit
agentcore/agentcore.json to set
protocol: A2A.
- Provide a custom ARM64 Dockerfile (base
node:22-slim, EXPOSE 9000).
- Deploy via
agentcore deploy (CodeBuild handles the ECR push), or bypass the
CLI entirely with CDK (protocolConfiguration: ProtocolType.A2A).
This confirms the gap is a tooling/SDK limitation, not an architectural one —
AgentCore's A2A support is a transparent JSON-RPC proxy that is language-agnostic.
Requests
- Add A2A protocol support (CLI scaffolding + template) for TypeScript.
- Add a
serve_a2a equivalent to the TypeScript SDK.
- Document the TypeScript A2A path in the AgentCore devguide.
References
Acceptance Criteria
Acceptance Criteria
Additional Context
No response
Description
Summary
The AgentCore CLI (
@aws/agentcore) and the TypeScript SDK (bedrock-agentcore)do not currently support the A2A (Agent-to-Agent) protocol, while the Python
tooling does. This forces TypeScript users into a manual workaround to deploy
an A2A agent.
Environment
@aws/agentcore(npm)bedrock-agentcore(npm, TypeScript)Current behavior
agentcoreand selecting TypeScript offers only the defaultHTTP protocol — there is no option to select A2A.
serve_a2afrombedrock_agentcore.runtime, but thenpm package
bedrock-agentcore/runtimehas noserve_a2aequivalent.--language TypeScript --protocol A2Ais gated at the CLI level(per the CLI CHANGELOG: "gate MCP and A2A protocols behind Python-only until
TS templates land").
Expected behavior
TypeScript should have parity with Python for A2A:
agentcoreCLI should allow selecting the A2A protocol for TypeScriptagents and scaffold an appropriate template.
serve_a2aequivalent (or documentedhelper) that satisfies the A2A protocol contract (port 9000,
POST /,GET /ping,GET /.well-known/agent-card.json).Current workaround
A2A works with TypeScript today, but only manually:
@a2a-js/sdkon port 9000.agentcore/agentcore.jsonto setprotocol: A2A.node:22-slim,EXPOSE 9000).agentcore deploy(CodeBuild handles the ECR push), or bypass theCLI entirely with CDK (
protocolConfiguration: ProtocolType.A2A).This confirms the gap is a tooling/SDK limitation, not an architectural one —
AgentCore's A2A support is a transparent JSON-RPC proxy that is language-agnostic.
Requests
serve_a2aequivalent to the TypeScript SDK.References
Acceptance Criteria
Acceptance Criteria
agentcoreCLI with--language TypeScriptoffers A2Aas a selectable protocol (not just HTTP).
agentcore ... --language TypeScript --protocol A2Ano longer errors out(the Python-only gate is removed for A2A).
A2A protocol contract (port 9000,
POST /,GET /ping,GET /.well-known/agent-card.json).bedrock-agentcore) exposes aserve_a2aequivalent(or a documented helper) so users don't have to wire up
@a2a-js/sdkmanually.
agentcore deployand successfully responds to a JSON-RPC
message/sendrequest.Additional Context
No response