Repository navigation
feat(agent): add opt-in read-only MCP bridge - #286
Conversation
Cross-system status — 2026-10-12 02:39 UTCThis optional PR remains Open/Draft at |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
# Conflicts: # services/agent/data/repository_corpus_manifest.json
There was a problem hiding this comment.
💡 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", "") |
There was a problem hiding this comment.
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 👍 / 👎.
What changed
Adds an optional local stdio MCP server exposing only the existing authenticated
get_my_submissionsread 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-deliveryat01637534fb575779ee9be9f289965f35ec43d3b8) and implements the code portions of optional DAV-32/M18 and DAV-33/M19.Verification
mcp==2.3.0; negotiated protocol:2026-07-28.qdrant_clientis not installed.