Expand description
§Memory MCP (Model Context Protocol) Integration
This crate provides MCP server integration for the self-learning memory system, enabling memory queries and pattern analysis through standardized tool interfaces.
§Features
- MCP Server: Standard MCP server implementation with tool definitions
- Memory Integration: Query episodic memory and analyze patterns
- Progressive Disclosure: Tools are prioritized based on usage patterns
- Execution Monitoring: Detailed statistics and logging
§Example
use do_memory_core::SelfLearningMemory;
use do_memory_mcp::server::MemoryMCPServer;
use do_memory_mcp::types::SandboxConfig;
use std::sync::Arc;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Create memory and server
let memory = Arc::new(SelfLearningMemory::new());
let server = MemoryMCPServer::new(SandboxConfig::default(), memory).await?;
// List available tools
let tools = server.list_tools().await;
for tool in tools {
println!("Tool: {} - {}", tool.name, tool.description);
}
Ok(())
}§Architecture
┌─────────────────────────────────────────────────────────┐
│ MCP Server │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Query Memory │ │ Analyze │ │ Execute │ │
│ │ │ │ Patterns │ │ Operations │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└───────────────────────┬─────────────────────────────────┘
│
┌──────────────┴──────────────┐
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ Memory System │ │ Monitoring │
│ - Episodes │ │ - Metrics │
│ - Patterns │ │ - Health │
│ - Heuristics │ │ │
└─────────────────┘ └──────────────────┘Re-exports§
pub use batch::BatchExecutor;pub use batch::BatchMode;pub use batch::BatchOperation;pub use batch::BatchRequest;pub use batch::BatchResponse;pub use batch::BatchStats;pub use batch::DependencyGraph;pub use batch::OperationError;pub use batch::OperationResult;pub use cache::CacheConfig;pub use cache::CacheStats;pub use cache::QueryCache;pub use error::Error;pub use error::Result;pub use sandbox::CodeSandbox;pub use sandbox::FileSystemRestrictions;pub use sandbox::IsolationConfig;pub use sandbox::NetworkRestrictions;pub use server::MemoryMCPServer;pub use server::audit::AuditConfig;pub use server::audit::AuditDestination;pub use server::audit::AuditLogEntry;pub use server::audit::AuditLogLevel;pub use server::audit::AuditLogger;pub use types::ErrorType;pub use types::ExecutionContext;pub use types::ExecutionResult;pub use types::ExecutionStats;pub use types::ResourceLimits;pub use types::SandboxConfig;pub use types::SecurityViolationType;pub use types::Tool;
Modules§
- batch
- Batch request processing for MCP server
- cache
- Query result caching for MCP operations
- error
- Error types for MCP operations
- jsonrpc
- mcp
- MCP Tools Module
- monitoring
- Monitoring capabilities for MCP server
- patterns
- Advanced Pattern Analysis Module
- protocol
- MCP Protocol handlers
- sandbox
- Secure code execution sandbox
- server
- MCP server for memory integration
- types
- MCP types for tool definitions and execution results