Skip to content

feat(agent): add opt-in read-only MCP bridge - #286

Merged
DavidHLP merged 4 commits into
mainfrom
codex/mcp-readonly-server-client
Oct 12, 2026
Merged

DavidHLP merged 4 commits into
mainfrom
codex/mcp-readonly-server-client

Conversation

@DavidHLP

@DavidHLP DavidHLP commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

What changed

Adds an optional local stdio MCP server exposing only the existing authenticated get_my_submissions read tool, plus a request-scoped MCP Client path in the Agent. The default direct path remains unchanged. Tool discovery, parameter bounds, output projection, and fixed error labels preserve the existing Java authorization boundary.

This is stacked on PR #231 (agent/first-delivery at 01637534fb575779ee9be9f289965f35ec43d3b8) and implements the code portions of optional DAV-32/M18 and DAV-33/M19.

Verification

  • Locked SDK: mcp==2.3.0; negotiated protocol: 2026-07-28.
  • Full Agent suite at the corrected branch tree: 1,676 passed, 1 skipped because optional qdrant_client is not installed.
  • Repository-corpus digest regression: 11 passed.
  • Local stdio subprocess with an HTTP stub, controlled discovery/call, Agent result backfill, and error/timeout/cancellation regressions passed.
  • Standards and specification reviews approved.
  • No live UltiCode stack or model provider was used. Personal hours and independent learning evidence remain unrecorded; these optional extensions do not gate U02/U03 formal acceptance.

Copy link
Copy Markdown
Owner Author

Cross-system status — 2026-10-12 02:39 UTC

This optional PR remains Open/Draft at 7e44463a01c68d77ce27b8220f8631745156ad5b. Its local tests do not constitute live-service or whole-project acceptance. The current PR check readback contains only a successful GitGuardian check; no current Actions result or approving review is recorded. The project is not ready for full manual acceptance; see the current Notion project snapshot.

@DavidHLP
DavidHLP marked this pull request as ready for review October 12, 2026 03:58
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T04:08:59.661221Z 8d27a31 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@DavidHLP
DavidHLP changed the base branch from agent/first-delivery to main October 12, 2026 03:58
# Conflicts:
#	services/agent/data/repository_corpus_manifest.json

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8d27a31537

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

async def _run_stdio() -> None:
app_base = os.environ.get("ULTICODE_APP_BASE", "")
auth_base = os.environ.get("ULTICODE_AUTH_BASE", "")
access_token = os.environ.get("ULTICODE_AGENT_ACCESS_TOKEN", "")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep access tokens in HttpOnly cookies

In the documented standalone stdio configuration, this reads the user's bearer access token from an environment variable, requiring it to be copied out of its HttpOnly cookie and exposing it to process-environment readers and inherited child processes. That bypasses the repository's explicit token-storage boundary; authenticate the standalone bridge through a host-mediated cookie/session channel rather than provisioning the raw token in ULTICODE_AGENT_ACCESS_TOKEN.

AGENTS.md reference: AGENTS.md:L55-L56

Useful? React with 👍 / 👎.

@DavidHLP
DavidHLP merged commit c30013c into main Oct 12, 2026
25 checks passed
@DavidHLP
DavidHLP deleted the codex/mcp-readonly-server-client branch October 12, 2026 04:35
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