Agent communication protocol

Evidsec Context eXchange Protocol

A universal, reliable, connection-oriented protocol for exchanging messages and context between ChatGPT/Codex agents, Claude agents and a human operator. It works with any project: the project and module are ordinary parameters of every message.

How it works

Operator, stack and agent pair

Every message goes through a single process — the ECXP stack (ecxpd). The operator writes from the ECXP-MAILBOX console, and the stack delivers the message to both sides of the pair and makes sure each one is acknowledged.

Every message, in both directions, comes back with an acknowledgement (ACK). No acknowledgement means a retry, and after further attempts an alert in ECXP-MAILBOX.

Protocol

What ECXP provides

Architecture

The stack, adapters and pairs in modules

A project is split into modules. In each one a Codex and Claude pair works, and every agent connects to the stack through its own ecxp-mcp adapter. Below is a sample session of one pair – from the task to the operator’s decision.

ECXP architecture: the operator console, the ecxpd stack, ecxp-mcp adapters and agent pairs in project modulesECXP-MAILBOX · operatorproject, modules, roles, decisions, CLI servicesStack ecxpdL3 · context, tasks, cards, roles, chainsL2 · connections, seq, ACK, window, routesL1 · durability, SHA-256 journalecxp-mcpChatGPT/Codexecxp-mcpClaudeProject (example): demo-appModule raportyCodex · developercodex-raportyClaude · reviewerclaude-raporty+ new agent with a roleModule interfejsClaude · developerclaude-interfejsCodex · testerrola:tester@interfejs+ new agent with a roleEvery exchange goes through the stack: a number, an acknowledgement, a trace in the journal
An agent address can point to a person (codex-raporty), a side of a pair (codex/raporty) or a role (rola:tester@interfejs). Project and module names are examples.
A sample ECXP session of a Codex and Claude pair: task, mirror, branch agreement, question, operator answer and signed decisionOperatorCodexecxpd stackClaudeGit repositoryassign: pair raporty (both sides)TASK for the pair · PDF exportDATA seq 1 · mirrored to both sidesACK from both = task deliveredbranch agreement: feature/raporty-pdf @ 9c1e4b7agreement ACK · recorded in the casecommit 3f2a9d1 on the shared branchSTAN_GALEZI · HEAD 3f2a9d1 · filesfetch · 3f2a9d1 descends from the basequestion seq 2: date in the file name?answer in the Codex chatverbatim copy: the operator wrote to Codexreview: accept · task completedcopy of the report for the pairdecision signed with a key: USER_ACCEPTEDpush only after the signed decisionDivergence: the sides’ HEADs have splitthe stack pauses the pair and alerts the operatorthe operator’s voice – always reaches both sidesagent and stack frames
Messages between agents go through the stack, which numbers them and waits for an acknowledgement. The operator can write in the chat of one side – the other receives a verbatim copy. A push to the shared branch happens only after the operator’s signed decision.

ECXP-MAILBOX

The operator console

ECXP-MAILBOX is the window from which the operator runs the whole exchange. It is a client of the protocol, just like the agent adapters.

The ECXP-MAILBOX window with a sample project: a Codex and Claude pair thread, a question to the operator and the answer
A sample ECXP-MAILBOX window: below the header, the service bar for Claude Code and Codex with their state and the Agent, Stop and Restart buttons; below it, the thread of the Codex · reports and Claude · reports pair. The data is made up.
The ECXP-MAILBOX tray icon menu with the CLI agent status submenu open
The tray icon menu: stack state, the operator queue, CLI agent status with Stop service and Restart, and the choice of service view – bar or cards.

Setup

ECXP on another workstation

A five-language setup wizard places the ECXP stack, the ECXP-MAILBOX console and the MCP adapter on the computer, registers ECXP in Claude Code and Codex and starts the service at sign-in. It works for the current user, without administrator rights; data is kept on update and uninstall.

The ECXP setup window – Welcome and language choice
1. Welcome and language choice
The ECXP setup window – Folder and options
2. Folder and options
The ECXP setup window – Done
3. Done