Skip to content

Remote Relay implementation status

Canonical status source. This page is the authoritative statement of Remote Relay maturity and implemented versus outstanding capabilities. Design documents and setup guides describe architecture or operation, but must link here instead of maintaining independent readiness claims.

Current maturity: Experimental

MCP_BRIDGE_BACKEND=remote_relay is an implemented, explicitly selected runtime path. It is not the default and is not yet advertised as Beta or production-ready. Local bridge mode remains the supported default.

Implemented and continuously tested

CapabilityEvidence levelCurrent state
Versioned relay message schemasUnit and deterministic property testsImplemented
Pairing codes and user/session bindingUnit and fake-extension integration testsImplemented
Session router and one-extension-session serializationConcurrency and integration testsImplemented
Streamable HTTP client session isolationHTTP MCP integration testsImplemented
OAuth protected-resource metadata and scope normalizationHTTP transport testsImplemented
Read-tool routing through a paired fake extensionStreamable HTTP integration testImplemented
Write/export/destructive approval request, retry, rejection, timeout, mismatch, and replay protectionRegistry, gateway, extension-client, and HTTP integration testsImplemented
Extension outbound relay client, heartbeat, and reconnect/backoffExtension unit testsImplemented
Audit events with redaction boundariesGateway and observability testsImplemented

The fake-extension tests prove protocol and policy behavior without claiming compatibility with an untested EasyEDA desktop runtime.

Available deployment paths

Established self-hosted HTTP path

A user can run the MCP server and EasyEDA Pro on the same always-on machine, keep the EasyEDA bridge on loopback, and expose only the OAuth-protected HTTP MCP endpoint through a reverse proxy or tunnel. This path does not require Remote Relay pairing because the bridge remains local to the server.

Experimental paired relay path

A server configured with MCP_BRIDGE_BACKEND=remote_relay routes MCP tool calls to an outbound, paired extension session. Risky calls require a human decision in the EasyEDA extension and a bound one-time approval retry. This path remains experimental until the gates below have current evidence.

Outstanding Beta gates

GateRequired evidenceStatus
Hosted service deploymentMaintainer-operated TLS endpoint, production OAuth/account linking, operational runbook, and rollback evidenceNot complete
Identity-provider validationReal issuer/JWKS/audience/scopes tested through the public deploymentNot complete
Project/session selection UXUser-visible selection and revocation flows tested with multiple projects and clientsNot complete
Hosted multi-client load validationBounded load/concurrency report including disconnect and reconnect behaviorNot complete
Live EasyEDA relay dogfoodDisposable-project read, approved write, export, rejection, timeout, reconnect, and cleanup report bound to exact EasyEDA/extension/server versions and commitNot complete
Incident and support readinessAlerting, audit retention, token/session revocation, operator escalation, and status communication exerciseNot complete

A release or README must not upgrade the maturity label while any mandatory Beta gate lacks evidence. Documentation or fake-extension tests alone cannot clear the live EasyEDA relay dogfood gate.

Tracked evidence and continuity

The release and compatibility records are closed evidence. Continuity remains separately tracked so Remote Relay maturity cannot imply operational redundancy that the solo-maintainer project does not have.

Status vocabulary

  • Planned: design only; no callable path.
  • Experimental: callable behind explicit configuration with documented limitations.
  • Beta: externally usable with current live-runtime and hosted operational evidence, but with known limits.
  • Production-ready: Beta evidence plus security review, service objectives, incident response, load evidence, and maintained runbooks.

Released under the MIT License.