feat(mcp-server-git): Add context_lines to git_diff* tools #1326
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.
context_lines
parameter togit_diff_unstaged
,git_diff_staged
, andgit_diff
functionsDescription
Server Details
git
git_diff_unstaged
,git_diff_staged
, andgit_diff
.Motivation and Context
The standard unified git diff only includes 3 lines of context. When Claude is being asked to review pending changes, it is blind to the remainder of any touched file unless the lines of context are increased.
At the limit, a
context_lines
value that is the same size of your largest source file means every touched file gets automatically included in the context. Claude seems to handle this with aplomb and provides strictly better git review guidance. ChatGPT 4o seems to get distracted by the larger diff contexts, so YMMV.How Has This Been Tested?
MCP Inspector and vscode/copilot
Breaking Changes
No--by default, no behavior changes with this PR.
Users simply add a reference to setting "context_lines" in their prompt.
Types of changes
Checklist
Additional context
The first commit used an environment variable. The current PR uses a proper parameter, which is more flexible and seems to be more idiomatic.