feat: Add large codebase support for MCP server#182
Merged
Conversation
Addresses GitHub Issue #37 - MCP server timing out on large codebases. Changes: - Increase grep timeout from 30s to 120s (configurable via KIT_GREP_TIMEOUT) - Add grep early termination using -m flag for faster results - Add get_file_tree pagination with limit/offset params (default 10K files) - Add warm_cache MCP tool to pre-warm caches before operations - Add 16 tests for new features - Update MCP docs with large codebase guidance Tested on Linux kernel (98K files, 1.9GB): - File tree: 3.65s cold → 0.015s cached (248x speedup) - Grep: Completes in 18s (well under 120s timeout) - Pagination: Works correctly across all 98K files
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
Addresses GitHub Issue #37 - MCP server timing out on large codebases (Linux kernel, Kubernetes, etc.).
Changes:
KIT_GREP_TIMEOUTenv var)-mflag for faster resultsget_file_treepagination withlimit/offsetparams (default 10K files per page)warm_cacheMCP tool to pre-warm caches before heavy operationsBenchmarks (Linux kernel - 98K files, 1.9GB)
Key Design Decisions
KIT_GREP_TIMEOUT=300for very large reposTest plan