UNPKG

@cabbages/memory-pickle-mcp

Version:

MCP server for AI agent project management - 13 tools for session memory and task tracking

567 lines (462 loc) 14.2 kB
# Comprehensive Usage Guide Memory Pickle MCP provides 13 advanced tools for AI-powered project management. This guide covers practical workflows, AI assistant integration, and advanced usage patterns. ## AI Assistant Integration ### **Cursor (Recommended)** **Excellent MCP integration with Claude 3.5 Sonnet** ```json // .cursor-settings.json { "mcpServers": { "memory-pickle": { "command": "npx", "args": ["-y", "@cabbages/memory-pickle-mcp"] } } } ``` **Optimal Workflow:** - Agent automatically calls `recall_state` on session start - Natural task creation through conversation - Excellent context preservation between tool calls - Seamless code location linking with file references ### **Cline, Roo, Kilo Mode Code** **Advanced autonomous coding support** **Configuration:** Standard MCP setup works perfectly **Strengths:** - Autonomous task breakdown and creation - Excellent hierarchical task organization - Automatic progress tracking during code changes - Strong integration with git workflows and file modifications **Best Practices:** ```yaml # Link tasks to code changes automatically create_task: title: "Refactor authentication middleware" line_range: start_line: 45 end_line: 78 file_path: "src/middleware/auth.ts" # Track autonomous progress update_task: task_id: "task_123" progress: 75 notes: "Completed refactoring, running tests" ``` ### **Windsurf** **Seamless project tracking across sessions** **Benefits:** - Excellent session handoff capabilities - Strong project context awareness - Natural integration with development workflows ### **Augment Remote Agent** **Full tool support and context awareness** **Optimizations:** - Use `recall_state` for comprehensive context loading - Leverage memory system for decision tracking - Export session data for cross-session continuity ## Getting Started Workflows ### **New Project Setup** **Step 1: Natural Project Creation** ``` You: "I'm building a REST API for a task management app" Agent: Creating project and initial structure... ``` **Behind the scenes:** ```yaml create_project: name: "Task Management REST API" description: "Complete API with authentication, CRUD operations, and data validation" status: "planning" # Auto-becomes current project # Agent may suggest initial tasks ``` **Step 2: Task Breakdown** ``` You: "I need authentication, user management, and task CRUD operations" Agent: Breaking down the project into manageable tasks... ``` **Result:** ```yaml create_task: title: "Authentication System" priority: "high" description: "JWT-based auth with login/register endpoints" create_task: title: "User Management" priority: "medium" parent_id: "auth_task_id" # Subtask of authentication create_task: title: "Task CRUD Operations" priority: "high" description: "Create, read, update, delete for task entities" ``` ### **Ongoing Development** **Progress Updates:** ``` You: "Finished the login endpoint, starting on user registration" Agent: Updating progress and tracking next steps... ``` **Automatic tracking:** ```yaml update_task: task_id: "login_task" completed: true notes: "Implemented with JWT token generation and validation" update_task: task_id: "registration_task" progress: 20 notes: "Started implementation, working on input validation" ``` **Decision Documentation:** ``` You: "I decided to use bcrypt for password hashing instead of plain SHA256" Agent: Recording this important security decision... ``` ```yaml remember_this: content: "Using bcrypt for password hashing (cost factor 12) instead of SHA256 for better security against rainbow table attacks" importance: "critical" task_id: "auth_task_id" ``` ## Advanced Workflow Patterns ### **Hierarchical Task Management** **Complex Feature Development:** ```yaml # Main feature create_task: title: "User Dashboard Implementation" priority: "high" description: "Complete user dashboard with analytics and settings" # UI Components (subtasks) create_task: title: "Dashboard Analytics Widget" parent_id: "dashboard_task_id" line_range: start_line: 1 end_line: 50 file_path: "src/components/Dashboard/Analytics.tsx" create_task: title: "User Settings Panel" parent_id: "dashboard_task_id" line_range: start_line: 1 end_line: 75 file_path: "src/components/Dashboard/Settings.tsx" # Backend API (subtasks) create_task: title: "Dashboard Data API Endpoint" parent_id: "dashboard_task_id" line_range: start_line: 15 end_line: 45 file_path: "src/routes/dashboard.ts" ``` ### **Code Location Linking** **Development Task with Context:** ```yaml create_task: title: "Fix authentication middleware bug" description: "Token validation fails for refresh tokens" priority: "critical" line_range: start_line: 67 end_line: 89 file_path: "src/middleware/auth.ts" # Link decision to same code remember_this: content: "Bug caused by JWT library version mismatch. Downgraded to v8.5.1 for compatibility with refresh token validation" importance: "high" task_id: "bug_fix_task_id" line_range: start_line: 67 end_line: 89 file_path: "src/middleware/auth.ts" ``` ### **Progress Tracking with Blockers** **Complex Task Management:** ```yaml update_task: task_id: "deployment_task" progress: 60 notes: - "Docker configuration complete" - "CI/CD pipeline setup done" - "Working on SSL certificate configuration" blockers: - "Waiting for SSL certificate from IT team" - "Production database credentials pending" - "Security review required before deployment" ``` ### **Session Handoff Patterns** **End of Development Session:** ```yaml # Generate comprehensive handoff generate_handoff_summary: format: "detailed" project_id: "current" # Export for permanent storage export_session: format: "markdown" include_handoff: true raw_markdown: true ``` **Result:** ```markdown ## Development Session Summary ### Completed Today - Authentication middleware implementation - User registration endpoint with validation - JWT token generation and refresh logic ### In Progress (60% complete) - 🔄 Dashboard analytics widget - Backend API complete - Frontend components 60% done - Blocked: Waiting for design review ### Next Session Priorities 1. Complete dashboard frontend components 2. Address SSL certificate configuration 3. Begin integration testing ### Critical Decisions Made - Switched to bcrypt for password hashing (security improvement) - Using Redis for session storage (performance optimization) ### Active Blockers - SSL certificate approval (blocking deployment) - Design review for dashboard (blocking UI completion) ``` ## Memory Management Strategies ### **Decision Tracking** **Architecture Decisions:** ```yaml remember_this: content: "Chose PostgreSQL over MongoDB for ACID compliance and complex relational queries in reporting features" title: "Database Technology Decision" importance: "critical" project_id: "current" ``` **Technical Solutions:** ```yaml remember_this: content: "Implemented rate limiting using Redis sliding window algorithm (100 requests per minute per user)" importance: "high" task_id: "rate_limiting_task" line_range: start_line: 23 end_line: 45 file_path: "src/middleware/rateLimit.ts" ``` ### **Context Retrieval** **Finding Previous Decisions:** ```yaml recall_context: query: "database choice postgresql" importance: "critical" limit: 5 ``` **Project-Specific Search:** ```yaml recall_context: query: "authentication security" project_id: "current_project_id" importance: "high" ``` ## Data Management Best Practices ### **⚠️ Session Persistence Strategy** **Critical Understanding:** - All data exists only during current session - Session ends = complete data loss - No automatic backups or file persistence **Essential Practices:** **1. Regular Exports:** ```yaml # Every 1-2 hours during long sessions export_session: format: "markdown" include_handoff: true ``` **2. Decision Documentation:** ```yaml # Document important decisions immediately remember_this: content: "Critical architectural decision with rationale" importance: "critical" ``` **3. Handoff Summaries:** ```yaml # Before ending any session generate_handoff_summary: format: "detailed" ``` ### **Performance Optimization** **Efficient Data Access:** ```yaml # Use limits on large datasets list_tasks: status: "active" limit: 20 offset: 0 # Filter by project for focused results recall_context: query: "search_term" project_id: "specific_project" limit: 10 ``` **Memory Management:** ```yaml # Use appropriate importance levels remember_this: content: "Minor implementation detail" importance: "low" # Won't clutter high-priority searches remember_this: content: "Critical security configuration" importance: "critical" # Easy to find later ``` ## Collaborative Workflows ### **Team Handoffs** **Preparing for Team Member:** ```yaml # Generate detailed project state export_session: format: "markdown" include_handoff: true # Create focused handoff summary generate_handoff_summary: format: "detailed" project_id: "shared_project_id" ``` **Result for Team Sharing:** ```markdown ## Project Handoff: Authentication System ### Current Status (78% Complete) - Core authentication logic implemented - JWT token generation and validation - 🔄 Password reset flow (85% complete) - Two-factor authentication (not started) ### Active Blockers 1. Security audit scheduled for next week 2. Email service integration pending approval 3. Database migration requires DBA review ### Key Decisions & Context - Using JWT with 15-minute access tokens + 7-day refresh tokens - Implemented rate limiting: 5 login attempts per 15 minutes - Password requirements: 12+ chars, mixed case, numbers, symbols ### Next Steps 1. Complete password reset email templates 2. Implement 2FA using TOTP (Google Authenticator) 3. Add audit logging for all auth events ### Code Locations - Main auth logic: `src/auth/AuthService.ts` (lines 45-180) - JWT middleware: `src/middleware/auth.ts` (lines 12-67) - Rate limiting: `src/middleware/rateLimit.ts` (lines 23-45) ``` ### **Cross-Project Context** **Managing Multiple Projects:** ```yaml # List all projects with status list_projects: limit: 10 # Switch context between projects set_current_project: project_id: "mobile_app_project" # Project-specific task management create_task: title: "Implement push notifications" project_id: "mobile_app_project" ``` ## Troubleshooting & Recovery ### **Data Loss Prevention** **Session Backup Strategy:** ```bash # Every hour during development export_session -> save as timestamped markdown file generate_handoff_summary -> save as project_status.md ``` **Critical Decision Backup:** ```yaml # Immediately after important decisions remember_this: content: "Decision with full context and rationale" importance: "critical" # Then export export_session: format: "markdown" raw_markdown: true # Clean format for external storage ``` ### **Context Recovery** **After Session Restart:** 1. Load previous handoff summary 2. Reference exported session data 3. Use `recall_state` to understand current context 4. Recreate critical project structure if needed ### **Performance Issues** **Large Dataset Management:** ```yaml # Use pagination for large task lists list_tasks: limit: 50 offset: 100 # Skip first 100 tasks # Filter aggressively list_tasks: status: "active" priority: "high" project_id: "current_project" ``` **Memory Optimization:** ```yaml # Focus searches by project recall_context: query: "specific_term" project_id: "target_project" # Use importance filtering recall_context: importance: "critical" limit: 5 ``` ## Integration Examples ### **With Git Workflows** **Code Change Tracking:** ```yaml # Before making changes create_task: title: "Refactor user authentication" line_range: start_line: 45 end_line: 120 file_path: "src/auth/UserAuth.ts" # During development update_task: task_id: "refactor_task" progress: 50 notes: "Extracted common validation logic to separate function" # After completion update_task: task_id: "refactor_task" completed: true notes: "Refactoring complete, all tests passing, ready for PR" # Document architectural changes remember_this: content: "Extracted authentication validation into reusable AuthValidator class to reduce code duplication across login/register/reset flows" importance: "high" task_id: "refactor_task" ``` ### **With Testing Workflows** **Test-Driven Development:** ```yaml # Plan testing strategy create_task: title: "Unit tests for authentication service" parent_id: "auth_feature_task" create_task: title: "Integration tests for auth endpoints" parent_id: "auth_feature_task" # Track test coverage update_task: task_id: "unit_tests_task" progress: 75 notes: "Completed tests for login/register, working on password reset tests" # Document test decisions remember_this: content: "Using Jest with supertest for API testing. Mocking external email service to avoid dependencies in test environment" importance: "medium" task_id: "integration_tests_task" ``` This comprehensive usage guide enables full utilization of Memory Pickle MCP's 13-tool system for advanced project management, session continuity, and collaborative development workflows across different AI assistant platforms.