MCP Fusion/Integrations and federation/A2A-Bridge
A2A-Bridge
Stellen Sie einen MCP-Fusion-Konnektor als Agent2Agent-Dienst bereit: Erzeugen Sie eine Agent Card aus der Registry, verarbeiten Sie JSON-RPC-Methoden für Nachrichten und Aufgaben und streamen Sie Ergebnisse über HTTP.
MCP ist die Tool-Grenze. A2A ist die Agenten-Grenze. Das A2A-Paket von MCP Fusion ermöglicht einem Konnektor die Teilnahme an einem Agent2Agent-Netzwerk, ohne seine Tools neu zu schreiben: Die Registry bleibt die Quelle der Fähigkeiten, und die Bridge stellt das agentenorientierte Aufgabenprotokoll bereit.
Eine Agent Card kompilieren
import { compileAgentCard, A2AHandler } from '@mcpfusion/a2a';
const card = compileAgentCard(
{
name: 'billing-agent',
version: '1.0.0',
url: 'http://localhost:3001',
},
registry.getBuilders(),
promptRegistry,
resourceRegistry,
);Der Compiler leitet Fähigkeiten aus Builder-Namen und Aktionsmetadaten ab. Die Card wird unter /.well-known/agent-card.json bereitgestellt; der alte Pfad lautet /.well-known/agent.json. A2A-JSON-RPC-Anfragen verwenden /a2a, und das Paket weist sich als Protokoll 1.0.0 aus.
Die optionale bridge-Konfiguration beschreibt, wie die Card über eine andere Bridge erreicht wird. Pflegen Sie keine zweite Fähigkeitenliste von Hand: Kompilieren Sie aus denselben Buildern, die MCP bereitstellen, damit die Card mit der tatsächlichen Registry übereinstimmt.
JSON-RPC-Handler
Der Handler verwendet einen Executor mit zwei Verantwortlichkeiten:
const executor = {
execute: async (toolName: string, args: Record<string, unknown>) =>
registry.routeCall(context, toolName, args),
hasToolName: (name: string) => registry.has(name),
};
const handler = new A2AHandler(executor);
const response = await handler.handleRequest(jsonRpcRequest);Zu den unterstützten Methoden gehören message/send, message/stream, tasks/get, tasks/cancel, tasks/list, tasks/resubscribe, das Setzen, Abrufen, Auflisten und Löschen der Push-Benachrichtigungskonfiguration sowie agent/getAuthenticatedExtendedCard. Die Bridge validiert JSON-RPC, ordnet Tool-Ausführungsfehler A2A-Fehlercodes zu und hält MCP-Tool-Namen hinter der Executor-Grenze.
Aufgabenlebenszyklus
TaskManager verwaltet den vom Handler verwendeten Aufgabenstatus. Seine operativen Methoden sind:
createTask(contextId, message?)updateStatus(taskId, status)addArtifact(taskId, artifact)getTask(taskId)listTasks(request)cancelTask(taskId)
Konfigurieren Sie die Aufgaben-TTL und die maximale Aufgabenanzahl. Dies ist ein In-Process-Manager. Verwenden Sie die Bridge hinter einem Prozessmodell, das zu ihrer Lebensdauer passt, oder legen Sie dauerhaften Aufgabenstatus an der A2A-Grenze ab.
Streaming-Transport
StreamableHttpTransport umschließt einen A2AHandler und einen optionalen Streaming-Executor. message/stream sendet Server-Sent Events mit formatSSEEvent, formatSSEErrorEvent und den Parser-Hilfsfunktionen des Pakets. Der MCP-Server selbst kann zustandslos bleiben, während die A2A-Aufgabenebene den Lebenszyklus des Streams verwaltet.
Fehlermodell
Die Bridge stellt typisierte Fehler für ungültiges JSON-RPC, nicht unterstützte Vorgänge, fehlende Aufgaben, nicht stornierbare Aufgaben, nicht unterstützte Push-Benachrichtigungen, ungültige Agentenantworten und Inhaltstypen bereit. Außerdem exportiert sie die A2A-Fehlercodetabelle, den Erweiterungsheader X-A2A-Extensions, SSE-Header und die Protokollkonstanten, sodass eine Integration gegen dieselben Werte testen kann, die sie bereitstellt.
Sicherheitsgrenze
Die A2A-Bridge ersetzt die MCP-Authentifizierung nicht. Setzen Sie JWT, API-Schlüssel oder Gateway-Berechtigung vor den Executor und lassen Sie die Agent Card nur die Tools widerspiegeln, die das Deploy bereitstellen darf. Wenn diese Bridge hinter Swarm liegt, erfolgen Delegationstoken und Namespace-Isolation vor der A2A-Ausführung. Bei öffentlicher Bereitstellung authentifizieren Sie die HTTP-Route vor dem Parsen von Aufgabenmeldungen.
MCP und A2A gemeinsam
Ein einzelner Konnektor kann Folgendes bereitstellen:
| Consumer | Surface |
|---|---|
| Claude, Cursor, any MCP client | MCP-Tools, Ressourcen und Prompts |
| Another agent platform | Agent Card und A2A-Aufgaben |
| Vinkius Cloud | Konnektortoken, Governance und Konsolensteuerung |
Die Geschäftslogik bleibt in denselben Handlern und Presentern. Geändert wird nur der Protokolladapter am Rand.
Nächste Schritte
- Federated handoff with Swarm: eine Sitzung an einen anderen Agenten weiterleiten
- Authentication: beide Protokollränder schützen
- Introspection: Cards an der Registry ausrichten
