Repository navigation
feat(mcp): expose bounded destination policy metadata - #361
Merged
Merged
Conversation
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. |
This was referenced Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
list_destinations()to the stdio MCP server. It projects only configured destination IDs, local/SSH transport kind, allowed agents and policy capabilities. It does not invoke the native CLI, SSH, network discovery or model turns, and does not grant send/wake permissions. Existing policy loading and tool behavior remain unchanged.The versioned projection rejects over 64 destinations or nonprintable/over-128-UTF-8-byte identifiers. A separate 64 KiB budget covers both text and structured MCP tool-result representations, including string escaping; the outer JSON-RPC envelope is excluded. Rejections are versioned and do not reflect the offending route. Configured IDs are untrusted operator labels, not readiness or identity evidence; choose non-sensitive labels.
The four MCP guides describe the unreleased v1.4.0 candidate and clarify existing Python 3.14 CI coverage. This PR does not introduce that matrix; it already exists on the pinned base.
Refs #356. Scope is metadata discovery only; #357–#359 are separate follow-ups. No automatic issue close is requested.
Validation
git diff --checkpassed. Runtime core and standalone bytes are unchanged.model_dump_json(by_alias=True, exclude_none=True); the server-side budget is conservative. No absolute transport-line bound including caller-controlled JSON-RPC ID is claimed. Latest SDK and full platform matrix require PR CI.Independent verification
Applied
independent-cli-review: Claude Code 2.1.314 requested and response-confirmedclaude-opus-5-5; Codex CLI 0.166.0 in a fresh ephemeral read-only session ignoring user config (default model, actual model ID not exposed). Both ran non-interactively in parallel on identical immutable self-contained source/test/doc inputs, without tools, tests, network or writes. Both rounds completed successfully.ac0ae56aa3df5d854e4f07f4f49ae3c82a1e09fa45afeadea4430b61ffd7c8e1.b6206562e33e87ce037c5576cd7b7716294d91de1c656e877af51fe8cc7bedc4..github/workflows/ci.ymlalready defines it on the base.Separate translation QA: Antigravity CLI 1.4.12,
gemini-3.8-flash-medium, medium, fresh plan/sandbox read-only calls (79.556 s and 107.66 s). Inputs were the four MCP documents, limited by instruction to the new section/CI sentence; no runtime/code execution. Codex checked proposals against the source, clarified host-value wording and fixed Korean grammar. Style suggestions that would make metadata lookup sound like active discovery were not adopted. The last small grammar fix was not independently re-run through Gemini.Boundaries
No version bump, merge, tag, release, package publication, global install, service/policy update or live delivery/ACK acceptance is included. Automatic Codex review is triggered by PR creation; no review mention is added.