Preserve MCP settings and number available approval choices - #67
Merged
Merged
Conversation
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.
Executive Summary
Preserve configured MCP settings and keep tool approval numbers aligned with the choices shown.
mcp_servers.inkboxfor new and resumed threads.Description
The bridge supplies a dotted
mcp_servers.inkboxoverride instead of replacing the top-level MCP table. This keeps launcher-supplied settings for other MCP servers intact while retaining the bridge's existing Inkbox configuration.MCP approval prompts now number only the offered choices. Without session approval, allow-once is option 1 and deny is option 2; if only permanent approval is additionally offered, it becomes option 3. Formatting and numeric reply handling share the same ordered choices. Word replies, structured forms, command approvals, and native persistence semantics stay unchanged. The README explains the request-specific numbering.
Reason
Adding Inkbox should preserve a user's separately configured MCP settings, and replying with a number must select exactly the option shown in that prompt.
Decisions
Testing
approval_mode="prompt"; both new and resumed bridge sessions must request permission, execute on acceptance, and not execute on denial.pytest -q --ignore=tests/live— 1,460 passed.5b630ef: Python 3.11/3.12/3.13 units, real-host contracts, SDK compatibility, CodeQL, and full-stack messaging, A2A, voice, and external-event suites.