Skip to content

feat: MCP 2026-07-28 dual-era protocol support (v1.11.0) - #28

Merged
DeliciousBuding merged 1 commit into
mainfrom
feat/mcp-protocol-upgrade
Aug 19, 2026
Merged

DeliciousBuding merged 1 commit into
mainfrom
feat/mcp-protocol-upgrade

Conversation

@DeliciousBuding

Copy link
Copy Markdown
Owner

Summary

  • Implements the latest MCP specification revision 2026-07-28 as a dual-era server: legacy lifecycle (2024-11-052025-11-25, byte-compatible) and the new stateless era (per-request _meta protocol version, server/discover, resultType, ttlMs/cacheScope cache hints, UnsupportedProtocolVersionError -32022).
  • Adds MCP tool annotations (readOnlyHint/destructiveHint/idempotentHint/openWorldHint) to all 52 tools, plus initialize version negotiation and server instructions.
  • Documents the upstream rebrand: Codex Desktop → ChatGPT desktop app, Codex Chrome Extension → ChatGPT extension (Chrome + Edge since app build 26.730). The codex-browser-use pipe name and JSON-RPC protocol are unchanged — verified live against the current extension on Edge; no functional impact on the bridge.
  • Version bump 1.11.0 (Cargo.toml / npm / lockfile), CHANGELOG, ROADMAP, ARCHITECTURE dual-era design record, AGENTS source map, README EN/zh protocol-support section.

Verification

  • cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings — clean
  • cargo test --locked — 99 tests pass (incl. 8 lifecycle + 5 protocol-era + annotation tests)
  • npm --prefix npm test — pass
  • scripts/check-agent-surface.js / check-actions-pinned.js / check-release-contract.js — all ok
  • Live stdio E2E with the built v1.11.0 binary against the running ChatGPT extension: legacy initialize echo, server/discover (5 supported versions), modern tools/list (52 tools + annotations + cache hints), codex_doctor healthy

Test plan

  • CI green (Windows rust job + Ubuntu test-lib + supply-chain)
  • Merge → tag v1.11.0 → release workflow publishes GitHub Release + npm @delicious233/codex-browser-bridge@1.11.0

Implement the latest MCP revision alongside the classic lifecycle:

- New src/mcp/lifecycle.rs: per-request era detection via
  _meta["io.modelcontextprotocol/protocolVersion"], stateless modern
  handling, legacy initialize version negotiation, server/discover
  (DiscoverResult with supportedVersions/capabilities/instructions),
  UnsupportedProtocolVersionError (-32022), resultType + ttlMs/cacheScope
  cache hints on cacheable endpoints, serverInfo in result _meta.
- Legacy wire format stays byte-identical (pinned by tests); ping is
  legacy-only per the revision's removal.
- Tool annotations (readOnlyHint/destructiveHint/idempotentHint/
  openWorldHint) on all 52 tools via ToolHints.
- Verified against the official 2026-07-28 schema and live E2E against
  the ChatGPT desktop extension (Chrome/Edge rebrand: pipe name and
  protocol unchanged); docs updated for the ChatGPT desktop app naming.
- Bump version to 1.11.0 (Cargo.toml, npm/package.json, Cargo.lock),
  CHANGELOG, ROADMAP, ARCHITECTURE (dual-era decisions), AGENTS source
  map, README EN/zh (protocol support section, Edge support, rebrand).

Co-authored-by: Cursor <cursor@vectorcontrol.tech>
@DeliciousBuding
DeliciousBuding merged commit 864e33c into main Aug 19, 2026
4 checks passed
@DeliciousBuding
DeliciousBuding deleted the feat/mcp-protocol-upgrade branch August 19, 2026 08:38
DeliciousBuding added a commit that referenced this pull request Aug 19, 2026
#29)

Follow-up to #28: replace remaining "Codex Desktop / Codex Chrome
extension" references with the ChatGPT desktop app / ChatGPT extension
naming (Chrome + Edge). Pipe name and protocol unchanged.

Co-authored-by: Cursor <cursor@vectorcontrol.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant