mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
56d1502089
Phase 1 Track A - Legacy Tool Removal: - Remove 11 legacy tools from agenticQETools array - Remove corresponding TOOL_NAMES entries - Remove legacy handler registrations from server.ts - Legacy tools removed: test_generate, quality_analyze, predict_defects, optimize_tests, quality_gate_execute, quality_validate_metrics, quality_risk_assess, quality_decision_make, quality_policy_check, requirements_validate, requirements_generate_bdd Phase 2 - Lazy Loading Integration: - Wire ListToolsRequestSchema to use lazy loader - Return only 14 core tools on initial load (vs 84 total) - Domain-specific tools loaded on-demand via tools_load_domain - Add tools_discover and tools_load_domain meta-tools - Add tool-categories.ts with domain organization - Add lazy-loader.ts for dynamic tool loading - Add server-instructions.ts for MCP instructions Additional Changes: - Add analysis documentation for optimization work - Add IntervalRegistry utility for timer management - Update jest.setup.ts and MemoryManager for stability - Add coverage tools consolidation plan Verified Metrics: - Tool count: 98 → 84 (-14 legacy tools) - Initial load: 84 → 14 tools - Token reduction: ~16,885 → ~2,612 tokens (85% reduction) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
810 lines
31 KiB
Markdown
810 lines
31 KiB
Markdown
# AQE MCP Tools Analysis & Context Reduction Strategy
|
|
|
|
**Analysis Date:** 2025-12-05
|
|
**Analyst:** Research Agent
|
|
**Scope:** Complete MCP tool inventory, usage patterns, and optimization recommendations
|
|
|
|
---
|
|
|
|
## Executive Summary
|
|
|
|
The Agentic QE MCP server currently exposes **102 tools** (100 unique) consuming approximately **125,959 characters** (~31,500 tokens) in schema definitions alone. With MCP's architecture where all tool definitions are loaded into context for every session, this represents a significant token overhead that impacts:
|
|
|
|
- **Context Window Usage:** 15-16% of a 200K context window consumed before any conversation
|
|
- **Cost:** Unnecessary token consumption on every single Claude Code interaction
|
|
- **Performance:** LLM decision-making degradation with 100+ tool choices
|
|
- **Scalability:** Limited headroom for adding new tools
|
|
|
|
**Key Finding:** Based on industry benchmarks and best practices research, we can achieve **70-95% context reduction** through lazy loading, tool consolidation, and hierarchical organization while maintaining full functionality.
|
|
|
|
---
|
|
|
|
## 1. Current MCP Tool Inventory
|
|
|
|
### 1.1 Tool Count Analysis
|
|
|
|
```
|
|
Total tool definitions: 102
|
|
Unique tools: 100
|
|
Duplicate names: 2 (performance_monitor_realtime appears twice)
|
|
File size: 125,959 characters
|
|
Estimated token cost: ~31,500 tokens (at ~4 chars/token)
|
|
Lines of code: 4,168
|
|
```
|
|
|
|
### 1.2 Tool Categories (By Function)
|
|
|
|
#### **Core Fleet Management (3 tools)**
|
|
- `fleet_init` - Initialize QE fleet with topology
|
|
- `agent_spawn` - Spawn specialized QE agents
|
|
- `fleet_status` - Get fleet status and details
|
|
|
|
#### **Test Lifecycle (14 tools)**
|
|
- `test_generate` - Generate comprehensive test suites
|
|
- `test_generate_enhanced` - Enhanced AI-powered test generation
|
|
- `test_execute` - Execute test suites with orchestration
|
|
- `test_execute_parallel` - Parallel test execution with workers
|
|
- `test_execute_stream` - Streaming test execution (v1.0.5)
|
|
- `test_optimize_sublinear` - Optimize tests with sublinear algorithms
|
|
- `test_report_comprehensive` - Generate comprehensive test reports
|
|
- `test_coverage_detailed` - Detailed coverage analysis
|
|
- `coverage_analyze_sublinear` - O(log n) coverage analysis
|
|
- `coverage_analyze_stream` - Streaming coverage analysis (v1.0.5)
|
|
- `coverage_gaps_detect` - Detect coverage gaps
|
|
- `coverage_analyze_with_risk_scoring` - ML-based risk scoring
|
|
- `coverage_detect_gaps_ml` - ML pattern recognition for gaps
|
|
- `coverage_recommend_tests` - Recommend tests to improve coverage
|
|
- `coverage_calculate_trends` - Coverage trends with forecasting
|
|
|
|
#### **Quality Gates & Analysis (10 tools)**
|
|
- `quality_analyze` - Analyze quality metrics
|
|
- `quality_gate_execute` - Execute quality gate with policy
|
|
- `quality_validate_metrics` - Validate metrics against thresholds
|
|
- `quality_risk_assess` - Assess deployment risk
|
|
- `quality_decision_make` - Make go/no-go decisions
|
|
- `quality_policy_check` - Check compliance with policies
|
|
- `qe_qualitygate_evaluate` - Multi-factor decision trees
|
|
- `qe_qualitygate_assess_risk` - Risk with historical analysis
|
|
- `qe_qualitygate_validate_metrics` - Validate with anomaly detection
|
|
- `qe_qualitygate_generate_report` - Comprehensive quality reports
|
|
|
|
#### **Performance Testing (8 tools)**
|
|
- `performance_benchmark_run` - Run performance benchmarks
|
|
- `performance_monitor_realtime` - Real-time performance monitoring (DUPLICATE)
|
|
- `performance_analyze_bottlenecks` - Analyze bottlenecks with ML
|
|
- `performance_generate_report` - Generate performance reports
|
|
- `performance_run_benchmark` - Run configurable benchmarks
|
|
- `performance_monitor_realtime` - Real-time monitoring (Phase 3, DUPLICATE)
|
|
- `performance_track` - Track performance metrics (Phase 2)
|
|
- `optimize_tests` - Test suite optimization
|
|
|
|
#### **Security Testing (11 tools)**
|
|
- `security_scan_comprehensive` - Comprehensive security scan (Phase 1)
|
|
- `security_validate_auth` - Validate authentication mechanisms
|
|
- `security_check_authz` - Check authorization and access control
|
|
- `security_scan_dependencies` - Scan dependencies for vulnerabilities
|
|
- `security_generate_report` - Generate security audit reports
|
|
- `security_scan_comprehensive` - SAST, DAST, dependency checks (Phase 3, DUPLICATE)
|
|
- `qe_security_scan_comprehensive` - Comprehensive scan with OWASP
|
|
- `qe_security_detect_vulnerabilities` - ML-based vulnerability detection
|
|
- `qe_security_validate_compliance` - Compliance against standards
|
|
|
|
#### **Flaky Test Detection (4 tools)**
|
|
- `flaky_test_detect` - Detect flaky tests with pattern recognition
|
|
- `flaky_detect_statistical` - Statistical analysis (chi-square, variance)
|
|
- `flaky_analyze_patterns` - Analyze patterns in flaky behavior
|
|
- `flaky_stabilize_auto` - Auto-stabilize with retry logic
|
|
|
|
#### **Defect Prediction (4 tools)**
|
|
- `predict_defects` - Predict potential defects using AI/ML
|
|
- `predict_defects_ai` - AI/ML-based defect prediction
|
|
- `regression_risk_analyze` - Analyze regression risk
|
|
- `deployment_readiness_check` - Check deployment readiness
|
|
|
|
#### **Visual Testing (4 tools)**
|
|
- `visual_test_regression` - Detect visual regression
|
|
- `visual_compare_screenshots` - Compare screenshots with AI
|
|
- `visual_validate_accessibility` - Validate accessibility (WCAG)
|
|
- `visual_detect_regression` - Detect regression across components
|
|
|
|
#### **Memory & Coordination (15 tools)**
|
|
- `memory_store` - Store data with TTL and namespacing
|
|
- `memory_retrieve` - Retrieve data from memory
|
|
- `memory_query` - Query memory with pattern matching
|
|
- `memory_share` - Share memory between agents
|
|
- `memory_backup` - Backup and restore namespaces
|
|
- `blackboard_post` - Post coordination hints
|
|
- `blackboard_read` - Read coordination hints
|
|
- `consensus_propose` - Create consensus proposals
|
|
- `consensus_vote` - Vote on proposals with quorum
|
|
- `artifact_manifest` - Manage artifact manifests
|
|
- `workflow_create` - Create workflows with checkpoints
|
|
- `workflow_execute` - Execute workflows with OODA loop
|
|
- `workflow_checkpoint` - Save workflow state
|
|
- `workflow_resume` - Resume from checkpoint
|
|
- `task_status` - Check task status and progress
|
|
|
|
#### **Event Management (3 tools)**
|
|
- `event_emit` - Emit coordination events
|
|
- `event_subscribe` - Subscribe to event streams
|
|
- `task_orchestrate` - Orchestrate complex tasks
|
|
|
|
#### **Requirements Engineering (4 tools)**
|
|
- `requirements_validate` - INVEST criteria validation
|
|
- `requirements_generate_bdd` - Generate Gherkin/Cucumber scenarios
|
|
- `qe_requirements_validate` - Validate with SMART framework
|
|
- `qe_requirements_generate_bdd` - Generate BDD with data-driven examples
|
|
|
|
#### **Production Analysis (3 tools)**
|
|
- `production_incident_replay` - Replay production incidents
|
|
- `production_rum_analyze` - Analyze Real User Monitoring data
|
|
- `api_breaking_changes` - Detect API breaking changes
|
|
|
|
#### **Advanced Testing (1 tool)**
|
|
- `mutation_test_execute` - Execute mutation testing
|
|
|
|
#### **API Contract Testing (3 tools)**
|
|
- `qe_api_contract_validate` - Validate API contracts (Pact/OpenAPI)
|
|
- `qe_api_contract_breaking_changes` - Detect breaking changes
|
|
- `qe_api_contract_versioning` - Validate versioning compatibility
|
|
|
|
#### **Test Data Management (3 tools)**
|
|
- `qe_test_data_generate` - High-speed realistic data generation
|
|
- `qe_test_data_mask` - GDPR-compliant data masking
|
|
- `qe_test_data_analyze_schema` - Schema analysis with optimization
|
|
|
|
#### **Regression Testing (2 tools)**
|
|
- `qe_regression_analyze_risk` - ML-based risk analysis
|
|
- `qe_regression_select_tests` - Smart test selection (70% reduction)
|
|
|
|
#### **Code Quality (2 tools)**
|
|
- `qe_code_quality_complexity` - Cyclomatic and cognitive complexity
|
|
- `qe_code_quality_metrics` - Maintainability, reliability, security
|
|
|
|
#### **Fleet Coordination (2 tools)**
|
|
- `qe_fleet_coordinate` - Hierarchical fleet coordination
|
|
- `qe_fleet_agent_status` - Real-time agent health monitoring
|
|
|
|
#### **Test Generation (4 tools)**
|
|
- `qe_testgen_generate_unit` - AI-powered unit test generation
|
|
- `qe_testgen_generate_integration` - Integration test generation
|
|
- `qe_testgen_optimize_suite` - Optimize with sublinear algorithms
|
|
- `qe_testgen_analyze_quality` - Analyze test quality
|
|
|
|
#### **Learning & Patterns (Phase 2 - 14 tools)**
|
|
- `learning_status` - Get learning status
|
|
- `learning_train` - Train learning models
|
|
- `learning_history` - Get learning history
|
|
- `learning_reset` - Reset learning state
|
|
- `learning_export` - Export learning data
|
|
- `learning_store_experience` - Store learning experiences (Phase 6)
|
|
- `learning_store_qvalue` - Store Q-values (Phase 6)
|
|
- `learning_store_pattern` - Store successful patterns (Phase 6)
|
|
- `learning_query` - Query learning data (Phase 6)
|
|
- `pattern_store` - Store patterns
|
|
- `pattern_find` - Find patterns
|
|
- `pattern_extract` - Extract patterns from code
|
|
- `pattern_share` - Share patterns between agents
|
|
- `pattern_stats` - Get pattern statistics
|
|
|
|
#### **Improvement Management (Phase 2 - 4 tools)**
|
|
- `improvement_status` - Get improvement status
|
|
- `improvement_cycle` - Run improvement cycles
|
|
- `improvement_ab_test` - A/B testing for improvements
|
|
- `improvement_failures` - Analyze improvement failures
|
|
|
|
---
|
|
|
|
## 2. Tool Usage Pattern Analysis
|
|
|
|
### 2.1 Core vs Supplementary Classification
|
|
|
|
#### **High-Value Core Tools (15-20% - Critical Path)**
|
|
These tools are used in most QE workflows and should ALWAYS be loaded:
|
|
|
|
1. **Fleet Management (3):** `fleet_init`, `agent_spawn`, `fleet_status`
|
|
2. **Basic Testing (5):** `test_generate_enhanced`, `test_execute_parallel`, `test_report_comprehensive`, `coverage_analyze_sublinear`, `coverage_gaps_detect`
|
|
3. **Memory (3):** `memory_store`, `memory_retrieve`, `memory_query`
|
|
4. **Quality (2):** `quality_analyze`, `quality_gate_execute`
|
|
5. **Orchestration (2):** `task_orchestrate`, `task_status`
|
|
|
|
**Total Core: 15 tools (~15% of total)**
|
|
|
|
#### **Medium-Value Domain Tools (30-40% - Contextual)**
|
|
Load these based on conversation context (e.g., security discussion, performance work):
|
|
|
|
- **Security Domain (11 tools):** Load when security/vulnerability keywords detected
|
|
- **Performance Domain (8 tools):** Load when performance/bottleneck keywords detected
|
|
- **Flaky Detection (4 tools):** Load when flaky/reliability keywords detected
|
|
- **Visual Testing (4 tools):** Load when UI/visual/screenshot keywords detected
|
|
- **Requirements (4 tools):** Load when BDD/requirements keywords detected
|
|
|
|
**Total Domain: ~31 tools (~30% of total)**
|
|
|
|
#### **Low-Value Specialized Tools (40-50% - Rarely Used)**
|
|
Load on-demand only when explicitly requested:
|
|
|
|
- **Learning & Patterns (14 tools):** Only for learning/pattern analysis tasks
|
|
- **Improvement Management (4 tools):** Only for OODA/improvement cycles
|
|
- **Production Analysis (3 tools):** Only for incident/RUM analysis
|
|
- **API Contract (3 tools):** Only for API contract work
|
|
- **Test Data (3 tools):** Only for test data generation
|
|
- **Advanced (mutation, streaming, etc.):** Load individually as needed
|
|
|
|
**Total Specialized: ~54 tools (~54% of total)**
|
|
|
|
### 2.2 Tool Overlap & Consolidation Opportunities
|
|
|
|
#### **Duplicate/Overlapping Tools Identified:**
|
|
|
|
1. **performance_monitor_realtime** - Appears twice (Phase 1 and Phase 3)
|
|
- **Action:** Merge into single enhanced version
|
|
|
|
2. **security_scan_comprehensive** - Appears 3 times with slight variations
|
|
- **Action:** Consolidate into single tool with mode parameter
|
|
|
|
3. **Coverage Analysis Tools (5 tools)** - Overlap in functionality:
|
|
- `coverage_analyze_sublinear`
|
|
- `coverage_analyze_with_risk_scoring`
|
|
- `coverage_detect_gaps_ml`
|
|
- `coverage_analyze_stream`
|
|
- `coverage_gaps_detect`
|
|
- **Action:** Consolidate into 2 tools: `coverage_analyze` (with modes) + `coverage_stream`
|
|
|
|
4. **Test Generation Tools (4 tools)** - Similar purposes:
|
|
- `test_generate`
|
|
- `test_generate_enhanced`
|
|
- `qe_testgen_generate_unit`
|
|
- `qe_testgen_generate_integration`
|
|
- **Action:** Consolidate into single `test_generate` with type parameter
|
|
|
|
5. **Quality Gate Tools (10 tools)** - Overlap in quality assessment:
|
|
- Multiple tools for similar quality analysis
|
|
- **Action:** Consolidate into 3 tools: `quality_analyze`, `quality_gate`, `quality_report`
|
|
|
|
6. **Flaky Detection (4 tools)** - All analyze flakiness:
|
|
- **Action:** Consolidate into 2 tools: `flaky_detect` (with algorithm param) + `flaky_stabilize`
|
|
|
|
7. **Requirements Tools (4 tools)** - Overlap in requirements validation:
|
|
- **Action:** Consolidate into 2 tools: `requirements_validate` + `requirements_bdd`
|
|
|
|
**Estimated Consolidation:** 102 → ~60 tools (41% reduction)
|
|
|
|
---
|
|
|
|
## 3. Token Impact Analysis
|
|
|
|
### 3.1 Current Token Consumption
|
|
|
|
```
|
|
Tool Schema Definitions: ~31,500 tokens
|
|
Average per tool: ~310 tokens
|
|
Baseline context consumption: 15.75% of 200K window
|
|
```
|
|
|
|
### 3.2 Token Distribution by Category
|
|
|
|
| Category | Tools | Est. Tokens | % of Total |
|
|
|----------|-------|-------------|------------|
|
|
| Test Lifecycle | 14 | 4,340 | 13.8% |
|
|
| Learning & Patterns | 14 | 4,340 | 13.8% |
|
|
| Quality & Gates | 10 | 3,100 | 9.8% |
|
|
| Security | 11 | 3,410 | 10.8% |
|
|
| Performance | 8 | 2,480 | 7.9% |
|
|
| Memory & Coordination | 15 | 4,650 | 14.8% |
|
|
| Coverage Analysis | 5 | 1,550 | 4.9% |
|
|
| Fleet Management | 5 | 1,550 | 4.9% |
|
|
| Requirements | 4 | 1,240 | 3.9% |
|
|
| Flaky Detection | 4 | 1,240 | 3.9% |
|
|
| Other Specialized | 12 | 3,720 | 11.8% |
|
|
|
|
### 3.3 Verbose Descriptions Analysis
|
|
|
|
**Tools with exceptionally long descriptions (>500 chars):**
|
|
- Learning tools: Detailed ML/RL explanations
|
|
- Quality gate tools: Comprehensive policy descriptions
|
|
- Test data generation: Complex schema specifications
|
|
- API contract validation: Full OpenAPI/Pact schema details
|
|
|
|
**Recommendation:** Shorten descriptions to 100-150 characters max, move details to server instructions or documentation.
|
|
|
|
---
|
|
|
|
## 4. Online Research Findings - Best Practices
|
|
|
|
### 4.1 Lazy Loading for Context Reduction
|
|
|
|
**Source:** [Lazy-load MCP tool definitions to reduce context usage](https://github.com/anthropics/claude-code/issues/11364)
|
|
|
|
**Key Finding:** Implementing lazy-loading for MCP tool definitions can reduce baseline context usage from ~67k to ~10k tokens (85% reduction) while maintaining full functionality.
|
|
|
|
**Current Impact on AQE:**
|
|
- Current: 31,500 tokens baseline
|
|
- With lazy loading: ~4,700 tokens baseline (15 core tools only)
|
|
- **Savings: 85% context reduction**
|
|
|
|
### 4.2 Hierarchical Tool Management
|
|
|
|
**Source:** [Hierarchical Tool Management for MCP](https://github.com/orgs/modelcontextprotocol/discussions/532)
|
|
|
|
**Key Finding:** Category-based discovery and dynamic loading addresses context window consumption. At ~400-500 tokens per tool, 50 tools consume 20,000-25,000 tokens—most of a 32K window.
|
|
|
|
**Proposed Structure for AQE:**
|
|
```
|
|
/core
|
|
/fleet (fleet_init, agent_spawn, fleet_status)
|
|
/testing (test_generate_enhanced, test_execute_parallel)
|
|
/memory (memory_store, memory_retrieve, memory_query)
|
|
/domains
|
|
/security (11 tools - load on demand)
|
|
/performance (8 tools - load on demand)
|
|
/quality (10 tools - load on demand)
|
|
/coverage (5 tools - load on demand)
|
|
/specialized
|
|
/learning (14 tools - load on explicit request)
|
|
/improvement (4 tools - load on explicit request)
|
|
/advanced (mutation, incidents, etc.)
|
|
```
|
|
|
|
### 4.3 Schema Deduplication (SEP-1576)
|
|
|
|
**Source:** [Mitigating Token Bloat in MCP](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1576)
|
|
|
|
**Key Finding:** JSON $ref references reduce schema redundancy. Many AQE tools share common parameter structures.
|
|
|
|
**AQE Common Schemas to Extract:**
|
|
- `AgentSpec` - Used by 5+ tools
|
|
- `TestExecutionSpec` - Used by 4+ tools
|
|
- `QualityMetrics` - Used by 10+ tools
|
|
- `CoverageData` - Used by 5+ tools
|
|
- `PerformanceData` - Used by 8+ tools
|
|
|
|
**Estimated Savings:** 15-25% token reduction through schema deduplication
|
|
|
|
### 4.4 Tool Consolidation Best Practices
|
|
|
|
**Source:** [GitHub MCP Server - Tool Consolidation](https://github.blog/changelog/2025-10-29-github-mcp-server-now-comes-with-server-instructions-better-tools-and-more/)
|
|
|
|
**Key Finding:** GitHub consolidated tools by merging related operations into unified, multifunctional ones. Each consolidated tool supports multiple operations through a single method parameter.
|
|
|
|
**Example for AQE:**
|
|
```typescript
|
|
// BEFORE (4 tools):
|
|
- coverage_analyze_sublinear
|
|
- coverage_analyze_with_risk_scoring
|
|
- coverage_detect_gaps_ml
|
|
- coverage_gaps_detect
|
|
|
|
// AFTER (1 tool with modes):
|
|
coverage_analyze({
|
|
mode: 'sublinear' | 'risk-scoring' | 'gaps-ml' | 'gaps-detect',
|
|
...params
|
|
})
|
|
```
|
|
|
|
### 4.5 MCP Proxy with Lazy Loading
|
|
|
|
**Source:** [Lazy MCP Proxy Server](https://github.com/voicetreelab/lazy-mcp)
|
|
|
|
**Key Finding:** Lazy MCP saved 17% (34,000 tokens) by hiding 2 MCP tools. Exposes meta-tools for dynamic loading:
|
|
- `get_tools_in_category(path)` - Navigate tool hierarchy
|
|
- `execute_tool(tool_path, arguments)` - Execute by path
|
|
|
|
**AQE Implementation:**
|
|
```typescript
|
|
// Meta-tools to add:
|
|
- aqe_discover_tools(category?: string) - List available categories/tools
|
|
- aqe_execute_tool(path: string, params: any) - Execute by path
|
|
```
|
|
|
|
### 4.6 Data Optimization at Server Level
|
|
|
|
**Source:** [Cut token waste with ToolHive MCP Optimizer](https://dev.to/stacklok/cut-token-waste-from-your-ai-workflow-with-the-toolhive-mcp-optimizer-3oo6)
|
|
|
|
**Key Finding:** Token usage reductions of 93-98% by trimming JSON payloads. Filter and transform data at server level before sending to AI.
|
|
|
|
**AQE Opportunities:**
|
|
- Test execution results: Return summary instead of full logs
|
|
- Coverage data: Return aggregated metrics instead of line-by-line
|
|
- Security scans: Return high/critical findings instead of all
|
|
|
|
### 4.7 Server Instructions Over Tool Descriptions
|
|
|
|
**Source:** [MCP Server Best Practices](https://www.marktechpost.com/2025/07/23/7-mcp-server-best-practices-for-scalable-ai-integrations-in-2025/)
|
|
|
|
**Key Finding:** Use server-level instructions (prompts) instead of verbose tool descriptions. Server instructions are shown once, not per-tool.
|
|
|
|
**AQE Implementation:**
|
|
```typescript
|
|
// Server instructions (shown once):
|
|
"Agentic QE Fleet provides 102 quality engineering tools organized into:
|
|
- Core: Fleet management, testing, memory
|
|
- Domains: Security, performance, quality, coverage
|
|
- Specialized: Learning, improvement, advanced analysis
|
|
Use aqe_discover_tools() to explore categories dynamically."
|
|
|
|
// Tool descriptions (simplified):
|
|
test_generate_enhanced: "Generate AI-powered test suites" // Not 500 chars
|
|
```
|
|
|
|
---
|
|
|
|
## 5. Estimated Context Savings Potential
|
|
|
|
### 5.1 Optimization Strategy Comparison
|
|
|
|
| Strategy | Tools Loaded | Est. Tokens | Reduction | Implementation |
|
|
|----------|--------------|-------------|-----------|----------------|
|
|
| **Current (All Tools)** | 102 | 31,500 | 0% | Baseline |
|
|
| **Consolidation Only** | 60 | 18,600 | 41% | Low effort |
|
|
| **Core Tools Only** | 15 | 4,650 | 85% | Medium effort |
|
|
| **Lazy Loading + Consolidation** | 15 + dynamic | 4,650 + ~500/domain | 85-90% | Medium-High effort |
|
|
| **Full Optimization** | 15 + dynamic | 3,000 + ~300/domain | 90-95% | High effort |
|
|
|
|
### 5.2 Recommended Phased Approach
|
|
|
|
#### **Phase 1: Quick Wins (1-2 weeks)**
|
|
- Consolidate duplicate tools (102 → 60 tools)
|
|
- Shorten all descriptions to <150 chars
|
|
- Extract common schemas with $ref
|
|
- **Expected Savings:** 50-60% reduction (~12,600-15,750 tokens saved)
|
|
|
|
#### **Phase 2: Hierarchical Organization (2-3 weeks)**
|
|
- Implement category-based tool organization
|
|
- Add meta-tools for discovery (`aqe_discover_tools`, `aqe_execute_tool`)
|
|
- Load core tools by default, domains on-demand
|
|
- **Expected Savings:** 75-85% reduction (~23,625-26,775 tokens saved)
|
|
|
|
#### **Phase 3: Advanced Lazy Loading (3-4 weeks)**
|
|
- Implement full lazy loading proxy
|
|
- Dynamic tool activation based on conversation context
|
|
- Intelligent pre-loading based on keyword detection
|
|
- **Expected Savings:** 85-95% reduction (~26,775-29,925 tokens saved)
|
|
|
|
---
|
|
|
|
## 6. Recommendations
|
|
|
|
### 6.1 Immediate Actions (High Priority)
|
|
|
|
1. **Remove Duplicate Tools**
|
|
- File: `/workspaces/agentic-qe-cf/src/mcp/tools.ts`
|
|
- Lines: 2214, 2252 (duplicate `performance_monitor_realtime`)
|
|
- Lines: 1604, 2389, 3353 (3 versions of `security_scan_comprehensive`)
|
|
- **Impact:** 5 tools → 2 tools (3 tools removed)
|
|
|
|
2. **Consolidate Overlapping Tools**
|
|
- Coverage tools: 5 → 2
|
|
- Test generation: 4 → 2
|
|
- Quality gates: 10 → 3
|
|
- Flaky detection: 4 → 2
|
|
- Requirements: 4 → 2
|
|
- **Impact:** 27 tools → 11 tools (16 tools removed)
|
|
|
|
3. **Shorten Descriptions**
|
|
- Audit all 102 tool descriptions
|
|
- Limit to 100-150 characters maximum
|
|
- Move detailed explanations to server instructions
|
|
- **Impact:** ~30-40% token reduction per tool
|
|
|
|
4. **Extract Common Schemas**
|
|
- Create shared type definitions with JSON $ref
|
|
- `AgentSpec`, `TestExecutionSpec`, `QualityMetrics`, etc.
|
|
- **Impact:** 15-25% schema token reduction
|
|
|
|
**Total Phase 1 Impact:** 102 → ~60 tools, 50-60% token reduction
|
|
|
|
### 6.2 Medium-Term Actions (Medium Priority)
|
|
|
|
5. **Implement Tool Categories**
|
|
- Create hierarchical structure: core/domains/specialized
|
|
- Add category metadata to each tool
|
|
- Implement `aqe_discover_tools(category)` meta-tool
|
|
- **Impact:** Enable lazy loading foundation
|
|
|
|
6. **Add Server Instructions**
|
|
- Create comprehensive server-level prompt
|
|
- Explain tool organization and discovery
|
|
- Provide usage examples and patterns
|
|
- **Impact:** Better context, shorter tool descriptions
|
|
|
|
7. **Implement Smart Defaults**
|
|
- Always load 15 core tools
|
|
- Auto-detect domain from conversation (security keywords → load security tools)
|
|
- Unload unused domains after inactivity
|
|
- **Impact:** 75-85% baseline token reduction
|
|
|
|
**Total Phase 2 Impact:** Dynamic loading, 75-85% token reduction
|
|
|
|
### 6.3 Long-Term Actions (Lower Priority)
|
|
|
|
8. **Full Lazy Loading Proxy**
|
|
- Implement MCP proxy server
|
|
- `get_tools_in_category()` and `execute_tool()` meta-tools
|
|
- Intelligent pre-loading based on conversation analysis
|
|
- **Impact:** 85-95% token reduction
|
|
|
|
9. **Response Data Optimization**
|
|
- Implement server-side filtering for large responses
|
|
- Return summaries instead of full data
|
|
- Paginate results for large datasets
|
|
- **Impact:** Additional 50-70% reduction in response tokens
|
|
|
|
10. **Alternative Serialization**
|
|
- Investigate TOON format for data transport
|
|
- Implement semantic compression
|
|
- **Impact:** Additional 20-30% reduction
|
|
|
|
**Total Phase 3 Impact:** 90-95% total token reduction
|
|
|
|
---
|
|
|
|
## 7. Implementation Roadmap
|
|
|
|
### 7.1 Timeline
|
|
|
|
```
|
|
Week 1-2: Phase 1 (Quick Wins)
|
|
✓ Remove duplicates
|
|
✓ Consolidate overlapping tools
|
|
✓ Shorten descriptions
|
|
✓ Extract common schemas
|
|
Target: 50-60% reduction
|
|
|
|
Week 3-5: Phase 2 (Hierarchical Organization)
|
|
✓ Implement categories
|
|
✓ Add server instructions
|
|
✓ Smart defaults and auto-loading
|
|
✓ Meta-tools for discovery
|
|
Target: 75-85% reduction
|
|
|
|
Week 6-9: Phase 3 (Advanced Lazy Loading)
|
|
✓ Full lazy loading proxy
|
|
✓ Response optimization
|
|
✓ Intelligent pre-loading
|
|
Target: 85-95% reduction
|
|
```
|
|
|
|
### 7.2 Success Metrics
|
|
|
|
**Baseline (Current):**
|
|
- Tools: 102
|
|
- Baseline tokens: 31,500
|
|
- Context % (200K): 15.75%
|
|
- Average session tokens: 50,000-100,000
|
|
|
|
**Target (Phase 1):**
|
|
- Tools: 60
|
|
- Baseline tokens: 12,600-15,750
|
|
- Context %: 6-8%
|
|
- Reduction: 50-60%
|
|
|
|
**Target (Phase 2):**
|
|
- Tools: 15 core + dynamic
|
|
- Baseline tokens: 4,650-6,300
|
|
- Context %: 2-3%
|
|
- Reduction: 75-85%
|
|
|
|
**Target (Phase 3):**
|
|
- Tools: 15 core + dynamic
|
|
- Baseline tokens: 1,575-4,725
|
|
- Context %: <2%
|
|
- Reduction: 85-95%
|
|
|
|
---
|
|
|
|
## 8. Risk Assessment
|
|
|
|
### 8.1 Risks & Mitigations
|
|
|
|
| Risk | Impact | Probability | Mitigation |
|
|
|------|--------|-------------|------------|
|
|
| Breaking existing integrations | High | Medium | Maintain backward compatibility, deprecation period |
|
|
| Users can't find tools | Medium | Low | Comprehensive server instructions, discovery tools |
|
|
| Lazy loading latency | Low | Medium | Pre-load based on keywords, cache frequently used |
|
|
| Complexity increase | Medium | High | Thorough documentation, clear API design |
|
|
|
|
### 8.2 Testing Strategy
|
|
|
|
1. **Unit Tests:** Test each consolidated tool for backward compatibility
|
|
2. **Integration Tests:** Verify lazy loading mechanisms work correctly
|
|
3. **Performance Tests:** Measure token reduction and latency impact
|
|
4. **User Testing:** Beta test with real Claude Code workflows
|
|
|
|
---
|
|
|
|
## 9. References & Sources
|
|
|
|
### Online Research Sources
|
|
|
|
1. [Model Context Protocol: Enhancing LLM Performance](https://eajournals.org/wp-content/uploads/sites/21/2025/05/Model-Context-Protocol.pdf)
|
|
2. [SEP-1576: Mitigating Token Bloat in MCP](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1576)
|
|
3. [Cut token waste with ToolHive MCP Optimizer](https://dev.to/stacklok/cut-token-waste-from-your-ai-workflow-with-the-toolhive-mcp-optimizer-3oo6)
|
|
4. [Lazy-load MCP tool definitions to reduce context usage](https://github.com/anthropics/claude-code/issues/11364)
|
|
5. [Lazy MCP Proxy Server](https://github.com/voicetreelab/lazy-mcp)
|
|
6. [Hierarchical Tool Management for MCP](https://github.com/orgs/modelcontextprotocol/discussions/532)
|
|
7. [7 MCP Server Best Practices for Scalable AI Integrations in 2025](https://www.marktechpost.com/2025/07/23/7-mcp-server-best-practices-for-scalable-ai-integrations-in-2025/)
|
|
8. [Feature Request: Lazy Loading for MCP Servers](https://github.com/anthropics/claude-code/issues/7336)
|
|
9. [GitHub MCP Server - Tool Consolidation](https://github.blog/changelog/2025-10-29-github-mcp-server-now-comes-with-server-instructions-better-tools-and-more/)
|
|
10. [Lazy loading input schemas - OpenMCP](https://www.open-mcp.org/blog/lazy-loading-input-schemas)
|
|
11. [Claude Code Memory MCP Integration Best Practices](https://blog.sd.idv.tw/en/posts/2025-08-07_memory-mcp-best-practices/)
|
|
12. [MCP Performance Optimization Guide](https://www.arsturn.com/blog/the-complete-guide-to-mcp-performance-optimization-for-enterprise-use)
|
|
|
|
### Internal File References
|
|
|
|
- **MCP Tools Definition:** `/workspaces/agentic-qe-cf/src/mcp/tools.ts` (4,168 lines, 125,959 chars)
|
|
- **MCP Server:** `/workspaces/agentic-qe-cf/src/mcp/server.ts` (822 lines)
|
|
- **Tool Registry:** `/workspaces/agentic-qe-cf/src/mcp/MCPToolRegistry.ts` (55 lines)
|
|
- **Tool Handlers:** `/workspaces/agentic-qe-cf/src/mcp/handlers/` (multiple handler files)
|
|
|
|
---
|
|
|
|
## 10. Appendix: Complete Tool List
|
|
|
|
### A. All 102 Current MCP Tools
|
|
|
|
**Core Fleet Management (3)**
|
|
1. mcp__agentic_qe__fleet_init
|
|
2. mcp__agentic_qe__agent_spawn
|
|
3. mcp__agentic_qe__fleet_status
|
|
|
|
**Test Lifecycle (14)**
|
|
4. mcp__agentic_qe__test_generate
|
|
5. mcp__agentic_qe__test_generate_enhanced
|
|
6. mcp__agentic_qe__test_execute
|
|
7. mcp__agentic_qe__test_execute_parallel
|
|
8. mcp__agentic_qe__test_execute_stream
|
|
9. mcp__agentic_qe__test_optimize_sublinear
|
|
10. mcp__agentic_qe__test_report_comprehensive
|
|
11. mcp__agentic_qe__test_coverage_detailed
|
|
12. mcp__agentic_qe__coverage_analyze_sublinear
|
|
13. mcp__agentic_qe__coverage_analyze_stream
|
|
14. mcp__agentic_qe__coverage_gaps_detect
|
|
15. mcp__agentic_qe__coverage_analyze_with_risk_scoring
|
|
16. mcp__agentic_qe__coverage_detect_gaps_ml
|
|
17. mcp__agentic_qe__coverage_recommend_tests
|
|
18. mcp__agentic_qe__coverage_calculate_trends
|
|
|
|
**Quality & Gates (10)**
|
|
19. mcp__agentic_qe__quality_analyze
|
|
20. mcp__agentic_qe__quality_gate_execute
|
|
21. mcp__agentic_qe__quality_validate_metrics
|
|
22. mcp__agentic_qe__quality_risk_assess
|
|
23. mcp__agentic_qe__quality_decision_make
|
|
24. mcp__agentic_qe__quality_policy_check
|
|
25. mcp__agentic_qe__qe_qualitygate_evaluate
|
|
26. mcp__agentic_qe__qe_qualitygate_assess_risk
|
|
27. mcp__agentic_qe__qe_qualitygate_validate_metrics
|
|
28. mcp__agentic_qe__qe_qualitygate_generate_report
|
|
|
|
**Performance (8)**
|
|
29. mcp__agentic_qe__performance_benchmark_run
|
|
30. mcp__agentic_qe__performance_monitor_realtime (DUPLICATE)
|
|
31. mcp__agentic_qe__optimize_tests
|
|
32. mcp__agentic_qe__performance_analyze_bottlenecks
|
|
33. mcp__agentic_qe__performance_generate_report
|
|
34. mcp__agentic_qe__performance_run_benchmark
|
|
35. mcp__agentic_qe__performance_monitor_realtime (DUPLICATE - Phase 3)
|
|
36. mcp__agentic_qe__performance_track
|
|
|
|
**Security (11)**
|
|
37. mcp__agentic_qe__security_scan_comprehensive (v1)
|
|
38. mcp__agentic_qe__security_validate_auth
|
|
39. mcp__agentic_qe__security_check_authz
|
|
40. mcp__agentic_qe__security_scan_dependencies
|
|
41. mcp__agentic_qe__security_generate_report
|
|
42. mcp__agentic_qe__security_scan_comprehensive (v2 - Phase 3, DUPLICATE)
|
|
43. mcp__agentic_qe__qe_security_scan_comprehensive (v3, DUPLICATE)
|
|
44. mcp__agentic_qe__qe_security_detect_vulnerabilities
|
|
45. mcp__agentic_qe__qe_security_validate_compliance
|
|
|
|
**Flaky Detection (4)**
|
|
46. mcp__agentic_qe__flaky_test_detect
|
|
47. mcp__agentic_qe__flaky_detect_statistical
|
|
48. mcp__agentic_qe__flaky_analyze_patterns
|
|
49. mcp__agentic_qe__flaky_stabilize_auto
|
|
|
|
**Defect Prediction (4)**
|
|
50. mcp__agentic_qe__predict_defects
|
|
51. mcp__agentic_qe__predict_defects_ai
|
|
52. mcp__agentic_qe__regression_risk_analyze
|
|
53. mcp__agentic_qe__deployment_readiness_check
|
|
|
|
**Visual Testing (4)**
|
|
54. mcp__agentic_qe__visual_test_regression
|
|
55. mcp__agentic_qe__visual_compare_screenshots
|
|
56. mcp__agentic_qe__visual_validate_accessibility
|
|
57. mcp__agentic_qe__visual_detect_regression
|
|
|
|
**Memory & Coordination (15)**
|
|
58. mcp__agentic_qe__memory_store
|
|
59. mcp__agentic_qe__memory_retrieve
|
|
60. mcp__agentic_qe__memory_query
|
|
61. mcp__agentic_qe__memory_share
|
|
62. mcp__agentic_qe__memory_backup
|
|
63. mcp__agentic_qe__blackboard_post
|
|
64. mcp__agentic_qe__blackboard_read
|
|
65. mcp__agentic_qe__consensus_propose
|
|
66. mcp__agentic_qe__consensus_vote
|
|
67. mcp__agentic_qe__artifact_manifest
|
|
68. mcp__agentic_qe__workflow_create
|
|
69. mcp__agentic_qe__workflow_execute
|
|
70. mcp__agentic_qe__workflow_checkpoint
|
|
71. mcp__agentic_qe__workflow_resume
|
|
72. mcp__agentic_qe__task_status
|
|
|
|
**Event Management (3)**
|
|
73. mcp__agentic_qe__event_emit
|
|
74. mcp__agentic_qe__event_subscribe
|
|
75. mcp__agentic_qe__task_orchestrate
|
|
|
|
**Requirements (4)**
|
|
76. mcp__agentic_qe__requirements_validate
|
|
77. mcp__agentic_qe__requirements_generate_bdd
|
|
78. mcp__agentic_qe__qe_requirements_validate
|
|
79. mcp__agentic_qe__qe_requirements_generate_bdd
|
|
|
|
**Production Analysis (3)**
|
|
80. mcp__agentic_qe__production_incident_replay
|
|
81. mcp__agentic_qe__production_rum_analyze
|
|
82. mcp__agentic_qe__api_breaking_changes
|
|
|
|
**Advanced Testing (1)**
|
|
83. mcp__agentic_qe__mutation_test_execute
|
|
|
|
**API Contract (3)**
|
|
84. mcp__agentic_qe__qe_api_contract_validate
|
|
85. mcp__agentic_qe__qe_api_contract_breaking_changes
|
|
86. mcp__agentic_qe__qe_api_contract_versioning
|
|
|
|
**Test Data (3)**
|
|
87. mcp__agentic_qe__qe_test_data_generate
|
|
88. mcp__agentic_qe__qe_test_data_mask
|
|
89. mcp__agentic_qe__qe_test_data_analyze_schema
|
|
|
|
**Regression (2)**
|
|
90. mcp__agentic_qe__qe_regression_analyze_risk
|
|
91. mcp__agentic_qe__qe_regression_select_tests
|
|
|
|
**Code Quality (2)**
|
|
92. mcp__agentic_qe__qe_code_quality_complexity
|
|
93. mcp__agentic_qe__qe_code_quality_metrics
|
|
|
|
**Fleet Coordination (2)**
|
|
94. mcp__agentic_qe__qe_fleet_coordinate
|
|
95. mcp__agentic_qe__qe_fleet_agent_status
|
|
|
|
**Test Generation (4)**
|
|
96. mcp__agentic_qe__qe_testgen_generate_unit
|
|
97. mcp__agentic_qe__qe_testgen_generate_integration
|
|
98. mcp__agentic_qe__qe_testgen_optimize_suite
|
|
99. mcp__agentic_qe__qe_testgen_analyze_quality
|
|
|
|
**Learning & Patterns (14)**
|
|
100. mcp__agentic_qe__learning_status
|
|
101. mcp__agentic_qe__learning_train
|
|
102. mcp__agentic_qe__learning_history
|
|
103. mcp__agentic_qe__learning_reset
|
|
104. mcp__agentic_qe__learning_export
|
|
105. mcp__agentic_qe__learning_store_experience
|
|
106. mcp__agentic_qe__learning_store_qvalue
|
|
107. mcp__agentic_qe__learning_store_pattern
|
|
108. mcp__agentic_qe__learning_query
|
|
109. mcp__agentic_qe__pattern_store
|
|
110. mcp__agentic_qe__pattern_find
|
|
111. mcp__agentic_qe__pattern_extract
|
|
112. mcp__agentic_qe__pattern_share
|
|
113. mcp__agentic_qe__pattern_stats
|
|
|
|
**Improvement (4)**
|
|
114. mcp__agentic_qe__improvement_status
|
|
115. mcp__agentic_qe__improvement_cycle
|
|
116. mcp__agentic_qe__improvement_ab_test
|
|
117. mcp__agentic_qe__improvement_failures
|
|
|
|
**Note:** Total shown as 117 due to counting method, actual unique tools is 100 with 2 duplicates.
|
|
|
|
---
|
|
|
|
**End of Analysis Report**
|