Repository navigation
feat(cli)!: return MCP list result envelopes in JSON mode - #472
Draft
DivyamTalwar wants to merge 1 commit into
Draft
DivyamTalwar wants to merge 1 commit into
DivyamTalwar wants to merge 1 commit into
Conversation
This branch has not been deployed
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
Fixes #183. JSON list commands return complete MCP result envelopes, preserving all pages instead of returning only item arrays or first-page metadata.
tools-list,prompts-list, andresources-listnow return{ tools: [...] },{ prompts: [...] }, and{ resources: [...] }.tasks-listretains its existing{ tasks: [...] }shape without double wrapping._metakeys in page order (later values win), and omit the consumednextCursor.Breaking change / release decision
This is intentionally a draft pending a maintainer decision on releasing the array-to-object JSON migration. Existing jq consumers change
.[]to.tools[],.prompts[], or.resources[]; tasks keep their current envelope. No dependency or lockfile changes are included.The requested later-values-win policy explicitly includes
ttlMsandcacheScopeand therefore affects freshness when servers emit conflicting page hints. This policy is documented and tested rather than silently retaining first-page values.Validation
Revalidated on native macOS/Node 25.2.1 against
38c9fcb5aef05740944d9b154758ad03f8fab8a3on 23 October 2026:json-schema,prompts,resources,pagination,async-tasks).json-schema,prompts,resources,pagination,tasks-extension).test:conformancecommand: rebuilt successfully, then official client initialization scenario 1/1 passed, no failures or warnings.The earlier sandbox socket-denial and missing-conformance-tool limitations are superseded by these actual native runs. An initial rerun with an explicit
MCPC_HOME_DIRcaused three default-path expectation failures; the canonical rerun used a disposable HOME without that override and all 1,402 passed. No test assertions were removed or skipped. The E2E runs used isolated test homes and local fixture servers, not user OAuth profiles.These are local executed checks, not upstream CI authorization or approval. Other E2E scenarios and runtime/platform combinations are outside this selected native run.
Remaining gates
Recorded VHS media is not regenerated; the source scripting commands are updated. No release or upstream merge is performed by this PR.