This repository has been archived on 2026-06-28 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
45e12324df8ffd5b209c5ce0708b834b1297c6af
Long-running upstream skills emit MCP notifications/progress on the SSE stream. Without forwarding, the gateway swallows them and the MCP client (Claude Code, Cursor) aborts the tools/call on its idle timer after ~60s — even though the HTTP stream stays warm. Gateway now passes the SDK's extra.sendNotification through to UpstreamAgent.callTool. Any non-response frame with a method but no id becomes a notification on the client side. Each tools/call carries a progressToken (client-supplied or request-id fallback) so the client can correlate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
a2amcp
MCP gateway for a2acloud agents. It runs locally as a stdio MCP server and exposes deployed A2A agents as tools to Claude Code, Cursor, and other MCP clients.
Quickstart
npx -y a2amcp login
npx -y a2amcp add <agent-name>
npx -y a2amcp doctor
Add it to your MCP client config:
{
"mcpServers": {
"a2a": {
"command": "npx",
"args": ["-y", "a2amcp"]
}
}
}
Restart the client after adding or removing agents.
Commands
a2amcp login # save control-plane credentials
a2amcp whoami # show current account
a2amcp agents # list agents visible to your account
a2amcp add <name> # expose one agent through this gateway
a2amcp list # list locally enabled agents
a2amcp remove <name> # stop exposing an agent
a2amcp doctor # probe enabled agents and count tools
a2amcp logout # clear local credentials
Running a2amcp with no command starts the MCP gateway over stdio.
Description
Languages
TypeScript
88.6%
JavaScript
11.4%