Repository navigation
Conversation
…or resolve_thread resolve_thread and unresolve_thread only need threadId, but the advertised inputSchema required owner/repo/pullNumber for every method. Schema-validating MCP clients therefore rejected valid calls. Require only method at the schema root, document per-method fields, and validate create/submit/delete vs resolve/unresolve in the argument normalizer. Fixes github#3501
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
Relax
pull_request_review_writeadvertisedinputSchema.requiredsoresolve_thread/unresolve_threadcan be called with onlythreadId, matching the tool description and granular tools.Why
Fixes #3501
Schema-validating MCP clients (VS Code MCP, Claude Desktop, Cursor, etc.) reject documented
resolve_thread/unresolve_threadcalls because the root schema requiredowner,repo, andpullNumberfor every method, even though those methods only usethreadId.What changed
Requiredforpull_request_review_writeis now["method"](same pattern asdiscussion_comment_write).owner/repo/pullNumberare required forcreate/submit_pending/delete_pending.normalizePullRequestReviewWriteArgumentsvalidates per method:threadIdfor resolve/unresolve;owner+repo+pullNumberfor create/submit/delete.MCP impact
pull_request_review_writeno longer include unused repo coordinates for thread resolve/unresolve.Prompts tested (tool changes only)
pull_request_review_writeusing onlymethod: resolve_threadandthreadId: PRRT_...owner/repoand confirm the call fails withowner, repo, and pullNumber are required for create methodSecurity / limits
Tool renaming
Lint & tests
./script/lint(skipped; focused package tests only)go test ./pkg/github/ -run 'PullRequest|ReviewWrite|ResolveReview|TestPullRequestReviewWriteResolveThreadSchema|...'(pass)Docs
./script/generate-docs)