All notable changes to the Context Engine MCP Server will be documented in this file.
Note: older entries may reference legacy-provider terminology and historical migration context. Current runtime defaults are local-native retrieval with no legacy provider dependency in active paths.
- Static analysis (opt-in):
review_diffcan now run local static analyzers for extra deterministic signal- TypeScript typecheck via
tsc --noEmit(enabled withoptions.enable_static_analysis=true) - Semgrep support (optional) when
semgrepis installed on PATH
- TypeScript typecheck via
- New MCP tool:
check_invariants- run YAML invariants deterministically against a unified diff (no LLM) - New MCP tool:
run_static_analysis- run local static analyzers and return structured findings
- Telemetry:
review_diffnow reports per-phase timing breakdowns instats.timings_mspreflight,invariants,static_analysis,context_fetch,secrets_scrub,llm_structural,llm_detailed
- Two-pass LLM timing: structural/detailed pass durations are now tracked and surfaced through
review_diff
- All additions are backward compatible; static analysis is disabled by default.
- Semgrep is intentionally not bundled as a dependency; install it separately if you want it in your pipeline.
Version 1.8.0 represents a major milestone in the Context Engine MCP Server, delivering a complete optimization of the reactive code review system. This release achieves 180-600x performance improvements through a comprehensive 4-phase optimization strategy, along with critical bug fixes and enhanced reliability.
- Direct AI Analysis: Replaced slow external API calls with direct AI agent capabilities.
- Real Findings Generation: Generates structured code review findings based on step descriptions.
- Multi-Layer Caching: Integrated with 3-layer cache (memory, commit, file hash).
- 3-Layer Architecture: Memory Cache, Commit Cache, and File Hash Cache.
- Smart Invalidation: Automatic cache invalidation on content changes.
- Telemetry: Hit rate tracking and performance metrics.
- Batch Processing: Process multiple files in single AI request.
- Dynamic Batching: Configurable batch size (default: 5 files).
- CPU-Aware Allocation: Dynamically sets workers based on CPU cores.
- Parallel Execution: Efficient concurrent step processing.
- Progress Tracking: Fixed session exit before 100% completion in parallel mode.
- Step Dependency Blocking: Removed unnecessary step dependencies in review plans to enable true parallel execution.
- HTTP Server: Added robust error handling and graceful shutdown for SIGINT/SIGTERM.
- Dynamic Versioning: Fixed hardcoded version string in server entry point.
- Documentation Audit: Corrected total tool counts and categorization across all documentation files (31 → 38 tools).
-
ReactiveReviewService: Added session cleanup with configurable TTL and LRU eviction
- Sessions in terminal states cleaned up after TTL expires (default 1 hour)
- Max 100 sessions with automatic LRU eviction
- Periodic cleanup timer (5 minute interval)
- Commit cache now properly cleaned up on errors (try-finally pattern)
-
ExecutionTrackingService: Added automatic state cleanup
- Execution states cleaned up with 1 hour TTL for terminal states
- Max 100 execution states with LRU eviction
- Timer cleanup in
executeStepWithTimeout- prevents timer accumulation - Orphaned
abortedPlansentries now cleaned up properly
-
PlanHistoryService: Added LRU eviction and version pruning
- Max 50 histories in memory with LRU eviction
- Max 20 versions per history with automatic pruning
- Fixed eviction order -
touchHistory()now called beforeevictIfNeeded()
- Diff Parsing: Fixed line number initialization in
parseHunkLines()oldLineNumnow correctly initialized fromoldStart- Code review line number references are now accurate
-
Indexing: Changed
indexWorkspace()to streaming batch approach- Files read just-in-time per batch (10 files at a time)
- Memory usage now O(batch_size) not O(total_files)
- Large workspaces can be indexed without memory exhaustion
-
FileWatcher: Now respects
.gitignoreand.contextignorepatterns- Root-anchored patterns (e.g.,
/.env) now match correctly at workspace root - Reduces unnecessary file change events
- Root-anchored patterns (e.g.,
| Variable | Description | Default |
|---|---|---|
REACTIVE_SESSION_TTL |
Session TTL in milliseconds | 3600000 (1 hour) |
REACTIVE_MAX_SESSIONS |
Max sessions in memory | 100 |
ReactiveReviewService.cleanupExpiredSessions()- Manual cleanup triggerReactiveReviewService.stopCleanupTimer()- Graceful shutdownReactiveReviewService.getSessionCount()- MonitoringExecutionTrackingService.cleanupExpiredStates()- Manual cleanup triggerExecutionTrackingService.stopCleanupTimer()- Graceful shutdownExecutionTrackingService.getStateCount()- MonitoringPlanHistoryService.getMemoryStats()- Memory usage statsPlanHistoryService.clearMemoryCache()- Force clear cacheContextServiceClient.getIgnorePatterns()- Get loaded ignore patternsContextServiceClient.getExcludedDirectories()- Get excluded directories
-
New MCP Tool:
review_changes- AI-powered code review with structured output- Structured Output Schema: Codex-style findings with detailed metadata
- Confidence Scoring: Per-finding confidence scores (0.0-1.0) and overall confidence
- Priority Levels: P0 (critical), P1 (high), P2 (medium), P3 (low) with semantic meaning
- Category-Based Analysis: Correctness, security, performance, maintainability, style, documentation
- Changed Lines Filter: Focus on modified lines to reduce noise (configurable)
- Actionable Suggestions: Each finding includes specific fix recommendations
- File Context Support: Optional full file content for better understanding
- Custom Instructions: Tailor reviews to specific frameworks or coding standards
- File Exclusion: Glob pattern support to skip generated files, tests, etc.
-
New MCP Tool:
review_git_diff- Automatic git diff retrieval and review- Staged Changes: Review changes staged for commit (
git diff --cached) - Unstaged Changes: Review working directory modifications
- Branch Comparison: Compare any two branches or commits
- Commit Review: Review specific commit changes
- Pattern Filtering: Include/exclude files by glob patterns
- Seamless Integration: Combines git operations with code review in one call
- Staged Changes: Review changes staged for commit (
-
CodeReviewService: Core service layer for code review operations
- Diff parsing (unified diff format)
- Finding filtering and deduplication
- Confidence threshold enforcement
- Changed lines detection and filtering
- File exclusion pattern matching
- Review result validation
-
Git Utilities: Comprehensive git integration
execGitCommand: Safe git command execution with error handlinggetGitStatus: Repository detection and status checkinggetGitDiff: Flexible diff retrieval (staged, unstaged, branch, commit)getStagedDiff,getUnstagedDiff,getCommitDiff: Convenience functions- Diff parsing with addition/deletion counting
-
HTTP API Endpoints: REST API for code review
POST /api/v1/review-changes- Review code from diff contentPOST /api/v1/review-git-diff- Review code from git automatically- Full HTTP server infrastructure (CORS, error handling, logging)
- Health check and status endpoints
- ReviewFinding: Individual code review finding with metadata
- ReviewResult: Complete review output with findings and summary
- ReviewCategory: Enum for review categories
- ReviewPriority: P0-P3 priority levels
- ReviewOptions: Configurable review parameters
- FileContext: File content mapping for context
- 67 New Unit Tests: Comprehensive test coverage for code review functionality
- Diff parsing tests (15 tests)
- Service layer tests (40 tests)
- Git utilities tests (12 tests)
- 270 Total Tests: All tests passing
- Edge Case Coverage: Empty diffs, malformed input, null/undefined handling
- README.md: Updated with code review tools documentation
- Tool Manifest: Added
code_reviewcapability with feature list - Examples: Code review usage examples (see EXAMPLES.md)
- Timeout Protection: 120-second timeout for AI review operations
- Efficient Filtering: Changed lines filter reduces AI processing overhead
- Parallel Processing: HTTP endpoints support concurrent review requests
- New MCP Tool:
execute_planfor AI-powered step-by-step plan execution- Three execution modes:
single_step,all_ready,full_plan - AI-generated code changes with file path, operation type, and content
- Optional automatic file writing with
apply_changes=trueparameter - Configurable step limits and failure handling
- Progress tracking with completion percentages
- Next ready steps calculation based on dependency graph
- Three execution modes:
applyGeneratedChangesfunction: Safely applies AI-generated code changes to disk- Security: Path validation prevents directory traversal attacks
- Safety: Automatic backup creation before overwriting files (
.backup.TIMESTAMPformat) - Convenience: Parent directories created automatically for new files
- Operations: Supports create, modify, and delete file operations
- Reporting: Detailed tracking of applied files, errors, and backups created
withTimeouthelper: Generic timeout wrapper for async operations- Default 120-second timeout for AI API calls
- Configurable timeout per request
- Descriptive error messages on timeout
- Queue cleanup support via
clearPendingmethod
all_readymode optimization: Independent steps execute in parallel- Uses
Promise.allfor concurrent step execution - Results sorted by step number for consistent output
- Graceful error handling - failed steps don't crash the batch
- Falls back to sequential execution for
single_stepandfull_planmodes - Estimated improvement: 2-5x faster for plans with multiple independent steps
- Uses
- Lazy singleton pattern for
PlanningService- Cached service instance reused across requests
- Uses
WeakReffor safe memory management - Automatic recreation if
serviceClientchanges - Reduces memory allocation and initialization overhead
ExecutePlanResultinterface extended with file operation tracking:files_applied: Number of files successfully written to diskapply_errors: Array of error messages from file operationsbackups_created: Array of backup file paths created
SearchQueueclass enhanced with timeout support:enqueuemethod accepts optionaltimeoutMsparameterclearPendingmethod for queue cleanup- Better error handling for timeout scenarios
-
File Writing:
execute_plannow properly writes generated code to disk whenapply_changes=true- Previously, generated code was only returned in the response
- Now creates/modifies/deletes files as specified in the plan
-
API Timeouts: AI API calls no longer hang indefinitely
- Added 120-second default timeout for
searchAndAskoperations - Prevents tool timeout errors in MCP clients
- Provides clear error messages when timeouts occur
- Added 120-second default timeout for
- All 222 tests passing (no new test failures)
- Existing test suite validates backward compatibility
- TypeScript compilation passes with no errors
- No breaking changes: All existing MCP tool APIs remain unchanged
apply_changes=false(default) preserves preview-only behavior- Sequential execution still works for
single_stepandfull_planmodes - All response formats backward compatible (only additions)
- Path validation: Prevents writes outside workspace directory
- Backup creation: Automatic backups before overwriting files
- Error isolation: File operation errors don't crash the entire execution
-
New Architecture Layer:
src/internal/handlers/for shared internal logicretrieval.ts- Shared retrieval wrapper with timing and caching hookscontext.ts- Context bundle and snippet assembly helpersenhancement.ts- AI prompt enhancement logic (extracted from enhance.ts)utilities.ts- Shared file and index status helpersperformance.ts- Disabled-by-default performance hooks (cache/batching/embedding reuse)types.ts- Shared handler type definitions
-
Advanced Retrieval Features:
src/internal/retrieval/for enhanced retrieval pipelineretrieve.ts- Core retrieval orchestrationdedupe.ts- Result deduplication logicexpandQuery.ts- Query expansion for better recallrerank.ts- Result re-ranking for improved relevancetypes.ts- Retrieval type definitions
-
Snapshot Harness:
tests/snapshots/snapshot-harness.ts- Byte-for-byte regression testing for MCP tool outputs
- 22 baseline snapshots covering core tools and error cases
- Supports baseline creation (
--update) and verification modes - Test workspace with sample files and memories
-
Test Inputs:
tests/snapshots/test-inputs.ts- Comprehensive test cases for codebase_retrieval, semantic_search, get_context_for_prompt
- Error validation tests for edge cases
- Tool manifest and visualization tests
- Tool Inventory Generator:
scripts/extract-tool-inventory.ts- Automated extraction of all 28 MCP tools from source code
- Generates comprehensive tool documentation table
- Outputs to
docs/PHASE2_TOOL_INVENTORY.md
- Refactored MCP Tools to use internal handlers (no output changes):
codebase_retrieval- Now usesinternalRetrieveCode()andinternalIndexStatus()semantic_search- Now usesinternalRetrieveCode()get_context_for_prompt- Now usesinternalContextBundle()enhance_prompt- Now usesinternalPromptEnhancer()(~100 lines of duplicate code removed)
-
Test Configuration: Added
tsconfig.test.jsonfor test-specific TypeScript settings- ES2022 module system for Jest compatibility
- Separate from production TypeScript configuration
-
Jest Configuration: Updated
jest.config.js- Uses
tsconfig.test.jsonfor test compilation - Suppresses diagnostic warnings (codes 1343, 1378)
- Uses
-
Git Ignore: Updated
.gitignore- Excludes
.augment-plans/(runtime plan storage) - Excludes
plan/(personal planning notes)
- Excludes
-
docs/PHASE2_SAFE_TOOL_CONSOLIDATION_PLAN.md
- Phase 2 implementation strategy and goals
- Non-negotiables (preserve all MCP contracts)
- Validation checklist and rollback plan
-
docs/PHASE2_TOOL_INVENTORY.md
- Complete inventory of all 28 MCP tools
- Tool names, handlers, file locations, and schemas
- Generated automatically from source code
-
ARCHITECTURE.md
- Added Layer 2.5 documentation with responsibilities and key handlers
- Updated tool count from 26 to 28 (added memory tools)
- Updated architecture flow diagram to include Layer 2.5
-
README.md
- Updated test count from 186 to 213 tests passing
- Added alternative test command for quieter ESM runs
-
TESTING.md
- Added automated testing section with commands
- Documented Phase 2 snapshot baseline verification
- Added quieter test run option for stream/pipe error avoidance
- Test Count: 213 tests passing (up from 186)
- New Tests: 27 additional tests
- Snapshot Baselines: 22 baseline files for regression testing
- Code Reduction: ~100 lines removed from
enhance.tsthrough consolidation - Maintainability: Shared handlers reduce duplication across 4 MCP tools
- No Breaking Changes: All MCP tool schemas, names, and outputs preserved
- Backward Compatible: External contracts unchanged
-
New MCP Tools:
add_memoryandlist_memoriesfor persistent memory management- Store preferences, architecture decisions, and project facts across sessions
- Memories are indexed by Auggie and retrieved via semantic search
- Human-editable markdown files in
.memories/directory - Version-controllable via Git for team sharing
-
Memory Integration: Enhanced
get_context_for_promptto include relevant memories- Memories are automatically retrieved alongside code context
- New
memoriesfield in ContextBundle with relevance scores - Memory hints displayed in context output
-
Memory Categories:
preferences: Coding style, tool preferences, workflow choicesdecisions: Architecture decisions, technology choices, design rationalefacts: Project facts, environment info, codebase structure
-
ServiceClient: Implemented request queuing for
searchAndAskoperations- Added
SearchQueueclass to serialize AI calls and prevent SDK concurrency issues - Ensures only one AI call runs at a time while allowing other operations to run in parallel
- Provides queue length monitoring for debugging
- Added
-
ServiceClient: Parallel file reading in
getContextForPrompt- Replaced sequential file processing with
Promise.allfor concurrent file reads - Related files discovery now runs in parallel for each file
- Token budget enforcement happens after parallel processing
- Estimated 2-4 seconds saved per
create_plancall
- Replaced sequential file processing with
-
PlanningService: Concurrent post-processing in
generatePlan- Plan parsing and dependency analysis now run concurrently using
Promise.all - JSON is parsed once and shared between validation and dependency analysis
- Estimated 1-2 seconds saved per
create_plancall
- Plan parsing and dependency analysis now run concurrently using
Total estimated performance improvement: 3-6 seconds per plan generation
- README.md: Added timeout configuration guidance
- New troubleshooting section for tool timeout errors during plan generation
- Documented how to configure
tool_timeout_secin Codex CLI (~/.codex/config.toml) - Provided guidance for other MCP clients (Claude Desktop, Cursor, Antigravity)
- Recommended 600 seconds (10 minutes) timeout for complex planning tasks
-
ApprovalWorkflowService: Added comprehensive null/undefined handling
- Safely handle undefined
stepsandrisksarrays increatePlanApprovalRequest() - Added fallback values for missing
plan.idandstep.titleproperties - Prevent crashes when processing malformed plan data
- Safely handle undefined
-
ExecutionTrackingService: Enhanced robustness for execution tracking
- Safely handle undefined
steps,depends_on, andblocksarrays - Added defensive checks in
initializeExecution(),startStep(),completeStep(), andfailStep() - Prevent runtime errors when processing incomplete plan data
- Safely handle undefined
-
PlanHistoryService: Improved version tracking reliability
- Safely handle undefined
stepsarray inrecordVersion() - Added null checks in
getHistoryFilePath()andcollectAllFiles() - Enhanced
generateDiff()to handle undefined steps arrays
- Safely handle undefined
-
PlanningService: Strengthened plan generation
- Safely handle undefined/null task strings in
generatePlan() - Added safe array handling for
mvp_features,nice_to_have_features, andrisks - Improved error messages with better context
- Safely handle undefined/null task strings in
-
plan.ts tool: Enhanced visualization safety
- Safely handle undefined
stepsarray invisualize_plantool - Prevent crashes during diagram generation
- Safely handle undefined
-
ExecutionTrackingService: 3 new defensive programming tests
- Test handling of undefined steps array
- Test handling of undefined depends_on array
- Test handling of undefined blocks array in failStep
-
PlanHistoryService: 5 new defensive programming tests
- Test handling of undefined/null planId in getHistoryFilePath
- Test handling of non-existent planId in getHistory
- Test handling of undefined file arrays in collectAllFiles
- Test handling of undefined steps arrays in generateDiff
Total test count: 194 (all passing)
scripts/test-defensive-checks.ts- Manual verification script for defensive programming patterns
create_plantool: Generate structured execution plans with DAG analysisrefine_plantool: Refine plans based on feedback and constraintsvisualize_plantool: Generate text or Mermaid diagram visualizations- PlanningService: Core planning logic with AI-powered plan generation
- DAG algorithms: topological sort, critical path analysis, parallel groups
- JSON validation and extraction from LLM responses
- Plan refinement and iterative improvement
save_plantool: Save plans to disk with metadata (name, tags, status)load_plantool: Load previously saved plans by IDlist_planstool: List saved plans with filtering (status, tags, limit)delete_plantool: Remove saved plans from storage- PlanPersistenceService: JSON-based plan storage with index management
request_approvaltool: Create approval requests for full plans, single steps, or step groupsrespond_approvaltool: Approve, reject, or request modifications with comments- ApprovalWorkflowService: Approval request lifecycle management
- Risk-based approval summaries
- Pending approval tracking
- Approval history per plan
start_steptool: Mark a step as in-progresscomplete_steptool: Mark a step as completed with notesfail_steptool: Mark a step as failed with reason (optionally skip dependents)view_progresstool: View execution progress and statistics- ExecutionTrackingService: Step state machine with dependency management
- States: pending, ready, in_progress, completed, failed, skipped, blocked
- Automatic dependent step unlocking
- Progress percentage calculation
view_historytool: View version history of a plancompare_plan_versionstool: Generate detailed diff between versionsrollback_plantool: Rollback to a previous plan version- PlanHistoryService: Version tracking with diff generation
- Step-level change detection (added, removed, modified)
- File change tracking
- Scope change detection
- Extended
planning.tswith 25+ new types:PlanStatus,StepExecutionStatus,ApprovalStatus,ApprovalActionApprovalRequest,ApprovalResponse,ApprovalResultPlanExecutionState,StepExecutionState,ExecutionProgressPlanVersion,PlanHistory,PlanDiff,FieldChange- Various options interfaces for save, complete, fail, rollback operations
- PlanPersistenceService.savePlan(): Handle undefined
goalandidproperties- Added null/undefined checks in
generatePlanName()method - Added null/undefined checks in
getPlanFilePath()method - Added null/undefined checks in
countFilesAffected()method - Generate fallback plan ID when
plan.idis undefined - Generate fallback plan name when
plan.goalis undefined - Return correct
planIdin savePlan result
- Added null/undefined checks in
tests/services/planningService.test.ts- DAG algorithms and JSON validation (20 tests)tests/services/planPersistenceService.test.ts- Save/load/list/delete operations (15 tests)tests/services/approvalWorkflowService.test.ts- Approval workflow tests (11 tests)tests/services/executionTrackingService.test.ts- Execution tracking tests (10 tests)tests/services/planHistoryService.test.ts- History and versioning tests (11 tests)tests/prompts/planning.test.ts- Planning prompt template teststests/tools/plan.test.ts- Planning tool handler tests- Total test count: 186 (all passing)
src/mcp/services/planningService.ts- Core planning logicsrc/mcp/services/planPersistenceService.ts- Plan storagesrc/mcp/services/approvalWorkflowService.ts- Approval workflowssrc/mcp/services/executionTrackingService.ts- Execution trackingsrc/mcp/services/planHistoryService.ts- Version historysrc/mcp/tools/plan.ts- Planning tool handlerssrc/mcp/tools/planManagement.ts- Plan management tool handlerssrc/mcp/types/planning.ts- Planning type definitionssrc/mcp/prompts/planning.ts- Planning prompt templates
enhance_prompttool now always uses AI mode: Removeduse_aiandmax_filesparameters- The tool now exclusively uses AI-powered enhancement via
searchAndAsk() - Template-based enhancement mode has been removed
- Requires authentication (
auggie login) for all uses - Migration: Remove
use_aiandmax_filesparameters from tool calls; onlypromptis now accepted
- The tool now exclusively uses AI-powered enhancement via
- Template-based enhancement mode from
enhance_prompttool use_aiparameter (was previously defaulted totrue)max_filesparameter (no longer applicable without template mode)
codebase_retrievaltool: primary semantic search with JSON output for programmatic consumers; includes workspace/index metadata.- Manifest now advertises policy capability and the new tool.
- Documentation updated to list the new primary search tool.
codebase_retrievaltool description with comprehensive usage rules:- Added IMPORTANT/PRIMARY/FIRST CHOICE emphasis positioning tool as the primary codebase search tool
- Included detailed 5-point feature list (proprietary retrieval/embedding model, real-time index, multi-language support, disk state only)
- Added comprehensive examples section:
- 3 good query examples ("Where is the function that handles user authentication?", etc.)
- 4 bad query examples with recommended alternative tools (grep, file view)
- Added
<RULES>section with critical usage guidelines:- Tool Selection for Code Search: CRITICAL rules on when to use codebase-retrieval vs grep/bash commands
- Preliminary tasks and planning: ALWAYS use codebase-retrieval before starting any task
- Making edits workflow: ALWAYS call codebase-retrieval before editing, ask for ALL symbols in a single call
- Provided clear decision criteria for tool selection (semantic understanding vs exact string matching)
- Expanded embedded documentation from 16 lines to 44 lines
- This enhancement guides AI agents to correctly use the tool as the primary choice for semantic code understanding
- Implemented 5-layer architecture as specified in plan.md
- Layer 1: Auggie SDK integration for core context engine
- Layer 2: Context Service Layer (serviceClient.ts) for orchestration
- Layer 3: MCP Interface Layer with three tools
- Layer 4: Agent-agnostic design for any MCP client
- Layer 5: Auggie's internal storage backend
semantic_search(query, top_k)- Semantic code search across codebaseget_file(path)- Retrieve complete file contentsget_context_for_prompt(query, max_files)- Primary tool for prompt enhancement
- Local-first operation (no cloud dependencies)
- Agent-agnostic implementation (works with any MCP client)
- Authentication via Auggie CLI or environment variables
- Workspace indexing support
- Comprehensive error handling
- Detailed logging for debugging
- README.md with architecture overview and usage instructions
- QUICKSTART.md for 5-minute setup guide
- TESTING.md with comprehensive testing strategies
- Example configuration files for Codex CLI
- Inline code documentation following architectural principles
- TypeScript implementation with full type safety
- Clean separation of concerns across layers
- Extensible architecture for future enhancements
- NPM scripts for common tasks
- MCP Inspector integration for debugging
- Stateless MCP Layer: No business logic in protocol adapter
- Clean Contracts: Well-defined interfaces between layers
- Separation of Concerns: Each layer has single responsibility
- Extensibility: Easy to add new tools or features
- Local-First: No data leaves the local machine
- TypeScript 5.3+
- Node.js 18+
- @modelcontextprotocol/sdk for MCP protocol
- @augmentcode/auggie for context engine
- stdio transport for local communication
- Requires Auggie CLI to be installed and in PATH
- Requires authentication setup before use
- Search quality depends on workspace indexing
- Large codebases may require initial indexing time
As outlined in plan.md, these can be added without architectural changes:
File watchers for automatic re-indexing✅ Implemented in v1.1.0Incremental indexing for faster updates✅ Implemented in v1.1.0- Multi-repo support
- Role-based filtering
- Hybrid search (semantic + keyword)
Result caching✅ Implemented in v1.0.0- Custom tool configurations
- Advanced context bundling strategies
index_status- View index health metadata (workspace, status, lastIndexed, fileCount, isStale)reindex_workspace- Clear and rebuild the entire indexclear_index- Remove index state without rebuildingtool_manifest- Capability discovery for agents (lists all available tools)
- Real-time file watching with
chokidarlibrary - Automatic incremental indexing on file changes
- Configurable debounce (default: 500ms) and batch size (default: 100 files)
- Enable with
--watchor-WCLI flag - Graceful shutdown on SIGTERM/SIGINT
- Non-blocking indexing via worker threads
- Message protocol:
index_start,index_progress,index_complete,index_error - Graceful fallback to synchronous indexing on worker failure
- Status tracking via
IndexStatus.statusfield
- New
CONTEXT_ENGINE_OFFLINE_ONLYenvironment variable - Blocks initialization if remote API is configured when offline-only mode is enabled
- Validation of API URL against localhost
- Enhanced
SearchResultwith audit fields:matchType: "semantic" | "keyword" | "hybrid"chunkId: Optional chunk identifierretrievedAt: ISO timestamp of retrieval
- Audit table included in search results markdown output
- New
--watch/-Wflag for enabling file watcher - Improved help output with watcher documentation
src/mcp/server.ts- Added watcher integration and graceful shutdown handlingsrc/mcp/serviceClient.ts- AddedindexFiles(),getIndexStatus(),clearIndex(), offline policy checkssrc/mcp/tools/search.ts- Enhanced output with audit metadata table
src/mcp/tools/status.ts- Index status toolsrc/mcp/tools/lifecycle.ts- Lifecycle management toolssrc/mcp/tools/manifest.ts- Tool manifest for capability discoverysrc/watcher/FileWatcher.ts- Core file watcher implementationsrc/watcher/types.ts- Watcher type definitionssrc/watcher/index.ts- Watcher exportssrc/worker/IndexWorker.ts- Background indexing workersrc/worker/messages.ts- Worker IPC message types
tests/tools/status.test.ts- Index status tool teststests/tools/lifecycle.test.ts- Lifecycle tools teststests/watcher/FileWatcher.test.ts- File watcher teststests/worker/IndexWorker.test.ts- Background worker tests- Total test count: 106 (all passing)
- Added
chokidar@^3.5.3for file system watching - Added
@types/chokidar@^2.1.3for TypeScript support
- E2E testing with MCP Inspector
- Performance benchmarks
- Additional example configurations
- Video tutorials
- Integration with more MCP clients
- 1.6.0 - Plan execution tool with file writing, API timeout protection, and performance improvements
- 1.5.0 - Internal handlers layer, snapshot testing, and code consolidation
- 1.4.1 - Cross-session memory system and parallelization optimizations
- 1.4.0 - Planning mode with persistence, approval workflows, execution tracking, and history
- 1.3.0 - AI-only enhance_prompt tool (breaking change)
- 1.2.0 - codebase_retrieval tool with JSON output
- 1.1.0 - MCP compliance, automation, background indexing, and policy features
- 1.0.0 - Initial release with core functionality