MCP Self-Learning Server
Enables autonomous learning from interactions through pattern recognition and machine learning techniques. Continuously improves performance by analyzing tool usage, providing predictive suggestions, and sharing knowledge across MCP servers.
README
MCP Self-Learning Server
A sophisticated Model Context Protocol (MCP) server that autonomously learns from interactions, optimizes performance, and continuously improves its knowledge base through pattern recognition and machine learning techniques.
🌟 Features
🧠 Autonomous Learning Engine
- Pattern Recognition: Automatically identifies and learns from interaction patterns
- Feature Extraction: Analyzes tool sequences, context, performance metrics, and semantic embeddings
- Confidence Scoring: Evaluates pattern reliability based on frequency, recency, and consistency
- Memory Consolidation: Manages short-term and long-term pattern storage
🔄 Knowledge Synchronization
- Auto-sync: Every 60 seconds between MCP servers
- Knowledge Export/Import: JSON and Markdown formats
- Pattern Merging: With deduplication
- Cross-server Learning: Through shared knowledge directory
📊 Self-Improvement Capabilities
- Performance Optimization: Identifies redundancies and bottlenecks
- Predictive Suggestions: Anticipates next actions based on learned patterns
- Error Pattern Analysis: Learns from failures to improve success rates
- Adaptive Recommendations: Generates context-aware optimizations
💾 Data Persistence
- Automatic Data Saving: Every 5 minutes with backup rotation
- Learning Data Recovery: Loads previous sessions on startup
- Export Knowledge: Multiple formats (JSON, Markdown)
- Backup System: Automatic backup creation before saves
📝 Advanced Logging
- Multi-level Logging: Debug, Info, Warn, Error with colors and emojis
- File & Console Output: Simultaneous logging to both
- Log Rotation: Prevents disk space issues
- Performance Monitoring: Tool execution times and memory usage
🚀 Quick Start
Prerequisites
- Node.js 18+
- npm or yarn
Installation
-
Clone/Download the Project
cd ~/saralegui-solutions-llc/shared/MCPSelfLearningServer -
Install Dependencies
npm install -
Configure Claude Desktop
Add to
~/.config/Claude/claude_desktop_config.json:{ "mcpServers": { "self-learning": { "command": "node", "args": ["/home/ben/saralegui-solutions-llc/shared/MCPSelfLearningServer/mcp-self-learning-server.js"], "env": { "NODE_ENV": "production", "LEARNING_MODE": "autonomous" } } } } -
Start the Server
npm start
📋 Available Commands
Development & Testing
npm run dev # Start in development mode
npm run debug # Start with debug logging
npm test # Run all tests
npm run test:unit # Run unit tests only
npm run test:integration # Run integration tests only
Monitoring & Health
npm run health # Run comprehensive health check
npm run monitor # Real-time monitoring
npm run monitor:details # Detailed monitoring with change tracking
Manual Operations
# Health check
node tools/health-check.js
# Real-time monitoring
node tools/monitor.js [--interval 5] [--details]
# Start server directly
node mcp-self-learning-server.js
🛠️ Available MCP Tools
Core Learning Tools
analyze_pattern
Analyze and learn from interaction patterns
{
"interaction": {
"type": "tool_usage",
"input": "user input",
"output": "tool output",
"context": {},
"performance": { "duration": 100 },
"success": true
}
}
get_insights
Get current learning analytics and insights
{}
trigger_learning
Manually trigger a learning cycle
{}
Knowledge Management
export_knowledge
Export learned knowledge to file
{
"format": "json|markdown" // Optional, defaults to json
}
import_knowledge
Import knowledge from external source
{
"source": "file_path_or_url",
"format": "json" // Optional
}
Performance & Optimization
optimize_tool
Get optimization suggestions for specific tools
{
"tool_name": "example_tool" // Optional
}
predict_next_action
Get predictive suggestions based on current context
{
"context": {
"current_tool": "analyze_pattern",
"user_intent": "optimization"
}
}
get_performance_metrics
Get detailed performance analytics
{
"tool_name": "specific_tool" // Optional, for tool-specific metrics
}
📊 Monitoring & Analytics
Health Check Results
The health check tool verifies:
- ✅ Server startup functionality
- ✅ Data persistence system
- ✅ Logging system
- ✅ Performance metrics (startup time)
Real-time Monitoring
The monitor displays:
- Learning engine status (patterns, knowledge, cycles)
- Log file metrics and activity
- System resource usage
- Change indicators showing growth over time
Performance Expectations
| Metric | Target | Excellent |
|---|---|---|
| Startup Time | <5s | <1s |
| Memory Usage | <100MB | <50MB |
| Response Time | <500ms | <100ms |
| Learning Accuracy | >70% | >90% |
🗂️ Directory Structure
MCPSelfLearningServer/
├── mcp-self-learning-server.js # Main server file
├── package.json # Dependencies and scripts
├── README.md # This file
├── data/ # Persistent learning data
│ ├── learning-engine.json # Main learning data
│ └── learning-engine.backup.json # Backup
├── logs/ # Server logs
│ └── mcp-server.log # Main log file
├── lib/ # Shared libraries
│ └── logger.js # Enhanced logging system
├── test/ # Test suites
│ ├── unit/ # Unit tests
│ └── integration/ # Integration tests
└── tools/ # Development tools
├── health-check.js # Health check tool
└── monitor.js # Real-time monitoring
🔧 Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
NODE_ENV |
production |
Environment mode |
LOG_LEVEL |
info |
Logging level (debug/info/warn/error) |
LOG_CONSOLE |
true |
Enable console logging |
LOG_FILE |
true |
Enable file logging |
LEARNING_MODE |
autonomous |
Learning behavior mode |
Learning Engine Settings
- Max Memory Size: 1000 patterns in memory
- Auto-save Interval: 5 minutes
- Pattern Confidence Threshold: 0.5
- Learning Trigger: Every 100 interactions or 50 tool uses
🚨 Troubleshooting
Common Issues
-
Server Won't Start
- Check Node.js version (18+ required)
- Verify all dependencies installed:
npm install - Check file permissions
-
Data Not Persisting
- Verify
data/directory permissions - Check disk space
- Review logs for errors:
tail -f logs/mcp-server.log
- Verify
-
High Memory Usage
- Run health check:
npm run health - Check pattern count:
npm run monitor - Consider reducing max memory size
- Run health check:
-
Slow Performance
- Enable performance logging:
npm run debug - Check system resources
- Review learning cycle frequency
- Enable performance logging:
Log Analysis
# View recent logs
tail -f logs/mcp-server.log
# Search for errors
grep "ERROR" logs/mcp-server.log
# Count log levels
grep -c "INFO\|WARN\|ERROR" logs/mcp-server.log
📈 Expected Learning Outcomes
Immediate (0-100 interactions)
- Basic pattern recognition active
- Initial knowledge base building
- Tool usage tracking enabled
Short-term (100-1000 interactions)
- Pattern confidence scores stabilizing
- First optimization recommendations
- Predictive accuracy ~50%
Long-term (1000+ interactions)
- Predictive accuracy >70%
- Response time improvements ~30%
- Comprehensive knowledge graph
- Cross-server knowledge sharing
- Self-documenting insights
🤝 Integration with Claude
Once configured, the server provides these tools in Claude:
- Pattern analysis for learning from conversations
- Performance insights for optimization
- Predictive suggestions for improved responses
- Knowledge export for documentation
- Real-time learning from every interaction
📝 License
ISC License
🆘 Support
For issues or questions:
- Run health check:
npm run health - Check logs:
tail -f logs/mcp-server.log - Review this documentation
- Check server status:
npm run monitor
Built with ❤️ for autonomous learning and continuous improvement
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.