LEARNING_GUIDE.md•13.7 kB
# Phase 3: Intelligent Learning System Guide
## Overview
Phase 3 introduces the **Synergistic Integration with Intelligent Learning** system, transforming the MCP Context Provider from a static configuration tool into an intelligent, self-improving context evolution platform. This system learns from usage patterns, optimizes contexts automatically, and provides proactive suggestions for workflow improvement.
## Table of Contents
1. [Core Concepts](#core-concepts)
2. [Architecture Overview](#architecture-overview)
3. [Learning Engine Components](#learning-engine-components)
4. [Memory Service Integration](#memory-service-integration)
5. [Available Tools](#available-tools)
6. [Usage Examples](#usage-examples)
7. [Configuration](#configuration)
8. [Best Practices](#best-practices)
## Core Concepts
### Intelligent Context Evolution
Traditional context management requires manual updates and optimization. Phase 3 introduces **intelligent context evolution** where contexts automatically improve based on:
- **Usage Patterns**: How frequently contexts are accessed and modified
- **Effectiveness Metrics**: Success rates and performance indicators
- **Memory Analysis**: Historical data from the integrated memory service
- **Proactive Intelligence**: Suggestions for missing contexts and optimizations
### Learning-Driven Optimization
The system continuously learns from:
- Context creation and modification patterns
- Session initialization performance
- Memory service interactions
- User workflow behaviors
This learning data drives automatic context optimization and proactive suggestions.
## Architecture Overview
```
┌─────────────────────────────────────────────────────────────┐
│ Phase 3 Learning System │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────────────────────┐ │
│ │ ContextProvider │ │ ContextLearningEngine │ │
│ │ │◄──►│ │ │
│ │ • Session Init │ │ • Pattern Recognition │ │
│ │ • Context Mgmt │ │ • Effectiveness Analysis │ │
│ │ • Auto Learning │ │ • Optimization Suggestions │ │
│ └─────────────────┘ │ • Proactive Recommendations │ │
│ │ └────────────────────────────────┘ │
│ ▼ ▲ │
│ ┌─────────────────┐ │ │
│ │ Memory Service │◄───────────────────┘ │
│ │ Integration │ │
│ │ │ │
│ │ • mcp-memory- │ │
│ │ service │ │
│ │ • sqlite_vec │ │
│ │ • Persistent │ │
│ │ Learning Data │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
## Learning Engine Components
### 1. Context Effectiveness Analysis
**Purpose**: Analyzes how effective each context has been based on usage patterns and memory data.
**Metrics Tracked**:
- Total interactions with the context
- Creation and update frequency
- Pattern additions and modifications
- Last activity timestamp
**Effectiveness Score Calculation**:
- Base score (0.3) for having interactions
- Active use score (0.4) for regular updates
- Evolution score (0.3) for pattern additions
- Normalized to 0-1 range
### 2. Optimization Suggestions
**Global Analysis**: Examines all contexts to identify optimization opportunities:
- Most active contexts (potential templates)
- Low-usage contexts (candidates for review)
- Missing common tool contexts
- Workflow automation opportunities
### 3. Session Pattern Learning
**Performance Analysis**: Learns from session initialization patterns:
- Execution time monitoring
- Action success rates
- Error pattern analysis
- Performance optimization insights
### 4. Proactive Context Suggestions
**Intelligence-Driven Recommendations**:
- Missing tool contexts for common development environments
- Workflow context suggestions for multi-context scenarios
- Memory integration enhancement recommendations
- Context combination opportunities
## Memory Service Integration
### Real mcp-memory-service Connection
Phase 3 replaces the simulation layer with actual `mcp-memory-service` integration:
```json
{
"mcpServers": {
"memory": {
"command": "/Users/username/.local/bin/uv",
"args": ["--directory", "/path/to/mcp-memory-service", "run", "memory"],
"env": {
"MCP_MEMORY_STORAGE_BACKEND": "sqlite_vec",
"MCP_MEMORY_SQLITE_PATH": "/path/to/memory/sqlite_vec.db"
}
}
}
}
```
### Learning Data Storage
All learning activities are automatically stored in memory:
**Context Changes**:
```json
{
"content": "Context created: example_context - New context file created",
"tags": ["context_change", "created", "example_context"],
"metadata": {
"operation": "create",
"context_name": "example_context",
"timestamp": "2025-09-17T..."
}
}
```
**Session Learning**:
```json
{
"content": "Session learning: Executed 5 actions in 0.045s with 0 errors",
"tags": ["session_learning", "performance", "initialization"],
"metadata": {
"execution_time": 0.045,
"actions_count": 5,
"errors_count": 0
}
}
```
**Optimization Events**:
```json
{
"content": "Context optimized: example_context - Applied preference tuning",
"tags": ["context_change", "optimized", "example_context"],
"metadata": {
"optimization_type": "preference_tuning",
"improvements": ["Updated 2 preferences"]
}
}
```
## Available Tools
### Core Learning Tools
#### 1. `analyze_context_effectiveness`
Analyzes the effectiveness of a specific context.
**Parameters**:
```json
{
"context_name": "terraform"
}
```
**Response**:
```json
{
"context_name": "terraform",
"effectiveness_score": 0.7,
"usage_stats": {
"total_interactions": 15,
"creation_count": 1,
"update_count": 5,
"pattern_additions": 3
},
"recommendations": [
"High-usage context - consider creating specialized variants",
"Context shows healthy usage patterns"
]
}
```
#### 2. `suggest_context_optimizations`
Provides global optimization suggestions across all contexts.
**Response**:
```json
[
{
"context_name": "global",
"optimization_type": "global_analysis",
"priority": "medium",
"description": "Most active context: terraform - consider creating templates based on it"
}
]
```
#### 3. `get_proactive_suggestions`
Offers proactive suggestions for new contexts and improvements.
**Parameters**:
```json
{
"current_contexts": ["terraform", "azure", "git"]
}
```
**Response**:
```json
[
{
"suggested_context": "Create docker_context.json for docker development",
"reason": "docker is commonly used but no context exists",
"confidence": 0.5,
"type": "missing_tool_context",
"priority": "medium"
}
]
```
#### 4. `auto_optimize_context`
Automatically optimizes a context based on learning engine recommendations.
**Parameters**:
```json
{
"context_name": "terraform",
"optimization_data": {
"type": "preference_tuning",
"preferences": {
"default_provider": "aws",
"enable_validation": true
}
}
}
```
**Response**:
```json
{
"success": true,
"context_name": "terraform",
"optimization_type": "preference_tuning",
"optimizations_applied": [
"Updated preference default_provider",
"Updated preference enable_validation"
],
"backup_file": "/path/to/backup_terraform_context_20250917.json"
}
```
## Usage Examples
### Example 1: Analyzing Context Effectiveness
```bash
# Analyze how effective your terraform context has been
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "tools/call",
"params": {
"name": "analyze_context_effectiveness",
"arguments": {
"context_name": "terraform"
}
}
}'
```
### Example 2: Getting Optimization Suggestions
```bash
# Get global optimization suggestions
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "tools/call",
"params": {
"name": "suggest_context_optimizations",
"arguments": {}
}
}'
```
### Example 3: Auto-Optimizing a Context
```bash
# Automatically optimize a context based on usage patterns
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "tools/call",
"params": {
"name": "auto_optimize_context",
"arguments": {
"context_name": "terraform",
"optimization_data": {
"type": "rule_refinement",
"syntax_rules": {
"resource_naming": {
"patterns": ["^[a-z][a-z0-9_]*$"],
"description": "Resource names must be lowercase with underscores"
}
}
}
}
}
}'
```
## Configuration
### Environment Variables
```bash
# Enable automatic context loading
export AUTO_LOAD_CONTEXTS=true
# Set context configuration directory
export CONTEXT_CONFIG_DIR=./contexts
# Memory service integration (configured via .mcp.json)
```
### Memory Service Setup
Ensure `mcp-memory-service` is properly configured in your `.mcp.json`:
```json
{
"mcpServers": {
"memory": {
"command": "/path/to/uv",
"args": ["--directory", "/path/to/mcp-memory-service", "run", "memory"],
"env": {
"MCP_MEMORY_STORAGE_BACKEND": "sqlite_vec",
"MCP_MEMORY_SQLITE_PATH": "/path/to/memory.db"
}
},
"context-provider": {
"command": "python",
"args": ["context_provider_server.py"],
"cwd": "/path/to/MCP-Context-Provider",
"env": {
"CONTEXT_CONFIG_DIR": "./contexts",
"AUTO_LOAD_CONTEXTS": "true"
}
}
}
}
```
## Best Practices
### 1. Regular Effectiveness Analysis
- Analyze context effectiveness monthly
- Review low-scoring contexts for relevance
- Optimize high-usage contexts for better performance
### 2. Memory Service Monitoring
- Monitor memory service storage for learning insights
- Review session learning patterns for performance optimization
- Use memory data to identify context usage trends
### 3. Proactive Context Management
- Regularly check proactive suggestions
- Create missing tool contexts for your development stack
- Implement workflow contexts for common patterns
### 4. Optimization Strategy
- Start with preference tuning for quick wins
- Use pattern improvement for frequently used contexts
- Apply rule refinement based on actual usage patterns
### 5. Backup and Recovery
- All optimizations create automatic backups
- Store backups in version control for team sharing
- Test optimizations in development before production use
## Troubleshooting
### Common Issues
**Memory Service Not Available**:
- Check `.mcp.json` configuration
- Verify `mcp-memory-service` is running
- Ensure proper environment variables are set
**Learning Data Not Persisting**:
- Check memory service connection status
- Verify sqlite_vec database path is writable
- Review memory service logs for errors
**Optimization Failures**:
- Check context file permissions
- Verify backup directory is writable
- Ensure context data passes validation
### Debug Commands
```bash
# Check memory service status
python -c "
from context_provider_server import ContextProvider
import asyncio
async def check():
provider = ContextProvider()
stats = await provider.memory_service.get_memory_stats()
print(stats)
asyncio.run(check())
"
# Test learning engine
python test_phase3_learning.py
# Verify context effectiveness
python -c "
from context_provider_server import ContextProvider
import asyncio
async def analyze():
provider = ContextProvider()
result = await provider.learning_engine.analyze_context_effectiveness('terraform')
print(result)
asyncio.run(analyze())
"
```
## Next Steps
With Phase 3 complete, consider:
1. **Team Knowledge Propagation**: Share optimized contexts across team members
2. **Enterprise Analytics**: Monitor context effectiveness across projects
3. **Custom Learning Patterns**: Develop organization-specific optimization rules
4. **Integration Workflows**: Incorporate learning insights into CI/CD pipelines
The intelligent learning system provides a foundation for continuous improvement and team knowledge sharing, making context management a collaborative and automated process.