An OpenAgent-compatible deployment has one standards boundary even when its internal runtime changes:
another agent ──A2A v1──> durable Task ──> runtime adapter ──remote MCP──> tools/devices
<── status + Artifacts ────────────
The A2A Task survives worker restarts and model changes. MCP capabilities can be added or revoked without changing the agent's public work identity.
For a Codex-, Gemini-, or Claude-style host, register the OpenAgent remote MCP URL using the host's supported configuration or adapter. Use OAuth or another standard authentication scheme supported by both sides. Grant the smallest scopes required for the agent's role.
Product configuration formats and feature availability change independently of this project, so this repository does not publish vendor-specific configuration snippets as protocol requirements. Check the host's current documentation for remote MCP setup.
Remote MCP connectivity provides tools; it does not make the host an A2A server. To receive A2A work, run an A2A adapter beside the host or use the host's native A2A implementation if and when it has one.
The adapter is a translator at an implementation boundary, not a new protocol gateway. It should:
- resolve and validate the public Agent Card;
- authenticate the sender and authorize the target agent before creating work;
- persist the A2A message and task before acknowledging asynchronous execution;
- pass all supported message parts to the runtime;
- preserve
messageId,taskId, andcontextIdcorrelation; - turn runtime output into A2A Artifacts rather than hiding it in logs;
- implement cancellation as an actual execution signal;
- expose only A2A-defined state outside the service.
Do not mark a task complete merely because it was queued or a runtime process started.
Model selection is private implementation detail. Switching providers must not change:
- the agent's public identity;
- the A2A task identifier or history;
- the caller's authorization scope;
- the MCP capability contract;
- attribution for produced artifacts and side effects.
This lets an organization improve or replace a runtime without breaking other agents.
Expose device actions through MCP and keep device safety controls below the protocol boundary. The runtime may request an action, but the device service remains responsible for admission, limits, interlocks, emergency stop, and local safety policy.
A device service should return structured evidence that can be attached to the parent A2A Task as an Artifact or status update. It should not form an independent proprietary peer mesh with every agent runtime.