UNPKG

@verygoodplugins/mcp-automem

Version:

MCP server for AutoMem: AI memory storage and recall

302 lines (262 loc) 17.3 kB
# Changelog All notable changes to this project will be documented in this file. ## 0.6.2 - 2025-10-14 ### Added - **Memory association documentation**: Added detailed association patterns and examples to `INSTALLATION.md` - Comprehensive guide on linking related memories - When and how to create associations between memories - Examples of common association patterns - Best practices for building a knowledge graph ### Improved - **Parallel recall performance**: Updated `recall_memory` handler to fetch primary and tag-based results in parallel - Better performance through concurrent API calls - More robust error handling and result merging - Enhanced reliability when combining multiple data sources - **HTTP request timeout**: Set 25-second timeout for all AutoMem API requests in client - Prevents hung connections - Better error handling for slow/unavailable services ## 0.6.1 - 2025-10-05 ### Changed - **Updated templates for new AutoMem API type field**: All templates now use explicit `type` parameter instead of `[TYPE]` prefixes in content - Added support for memory classification types: `Decision`, `Pattern`, `Insight`, `Preference`, `Style`, `Habit`, `Context` - Added `confidence` parameter (defaults to 0.9 when type is provided, auto-computed otherwise) - Removed `[DECISION]`, `[BUG-FIX]`, `[PATTERN]`, etc. prefixes from content examples - Updated all code examples to use clean content with explicit type field - Type is optional - omit for auto-classification by enrichment pipeline - **Template updates**: - `templates/cursor/automem.mdc.template` - Complete rewrite with new type field approach - `AGENTS.md` - Updated with type field examples and removed redundant `codex` tag - `templates/CLAUDE_MD_MEMORY_RULES.md` - Comprehensive type field documentation - `templates/codex/memory-rules.md` - Updated examples and removed redundant `codex` tag - `templates/warp/warp-rules.md` - Terminal-focused type field examples - **Documentation improvements**: - Added "Memory Types" section to cursor template explaining all valid types - Added "Type selection guide" with best practices - Updated "Content Structure" section with cleaner examples - Added note to avoid type prefixes in "NEVER STORE" section - Updated Tool Reference with full parameter documentation ### Benefits - Cleaner, more semantic memory content without bracket prefixes - Better auto-classification when type is omitted - More accurate categorization with explicit type field - Consistent API usage across all platforms - Forward-compatible with future AutoMem API enhancements ## 0.6.0 - 2025-10-04 ### Breaking Changes - **Removed Cursor hooks-based installation**: Simplified Cursor integration to use `.cursor/rules/automem.mdc` only - Deleted `templates/cursor/hooks/` directory and all hook scripts - Deleted `templates/CURSOR_HOOKS_INTEGRATION.md` (668 lines) - Deleted `templates/cursor/AGENTS.md.template`, `.cursorrules.template`, and multi-agent templates - Removed `--hooks` flag from `cursor` CLI command - Rationale: Cursor's hook system proved unreliable and overly complex. The `.mdc` rule file approach is simpler, more stable, and gives better results with less maintenance burden. ### Claude Code Improvements - **Marked as experimental**: Claude Code hooks-based installation now clearly labeled as experimental throughout - Added prominent ⚠️ warnings to `INSTALLATION.md` and `templates/CLAUDE_CODE_INTEGRATION.md` - Added CLI warning during installation explaining experimental status and default profile - Updated README.md platform table: Changed from "✅ Full" to "⚠️ Experimental" - **Simplified setup and documentation**: - Removed redundant `settings.lean.json` profile (main `settings.json` is now the lean default) - Simplified optional hooks documentation - now points to `profiles/settings.extras.json` instead of verbose JSON examples - Added `queue-cleanup.sh` script for deduplication at session end - Strengthened opt-in messaging in `CLAUDE_MD_MEMORY_RULES.md` - Default profile now explicitly documented as minimal (git commits + builds only) - **Profile system cleanup**: - Main `settings.json` is the default lean profile (git commits + builds + queue cleanup) - `profiles/settings.extras.json` remains for users who want all optional hooks - Clear guidance on using `--profile extras` flag ### Documentation - **Simplified Railway deployment guide**: - Removed screenshot image references throughout (images will be added to documentation site) - Streamlined manual setup instructions - Consolidated storage setup steps (removed redundant FalkorDB volume section from README) - Clearer step numbering and flow - **Installation guide improvements**: - More prominent experimental warnings for Claude Code - Simplified Warp Terminal setup (now references template files directly) - Improved clarity around platform support status - Better distinction between stable (Claude Desktop, Cursor) and experimental (Claude Code) integrations - **Template cleanup**: - Removed 11 obsolete Cursor template files (hooks, agents, rules) - Updated inline documentation in remaining templates - Simplified config examples ### Fixed - **Uninstall command**: Updated to handle new simplified Cursor setup (no hooks to remove) - **CLI cursor command**: Removed hook-related logic, focused on `.mdc` rule file only ### Removed - All Cursor hooks infrastructure (563 lines of hook scripts) - `CURSOR_HOOKS_INTEGRATION.md` documentation - Multi-agent Cursor templates (AGENTS.md, memory-keeper.md, project-assistant.md) - Obsolete screenshots (cursor-hooks-1.jpg, cursor-settings-1.jpg) - Redundant Claude Code lean profile ### Development - Built and compiled TypeScript changes to `dist/` - Updated all affected CLI commands and handlers - Total reduction: ~3,982 lines removed, ~1,218 lines modified/added (net -2,764 lines) ### Philosophy This release focuses on **simplicity and reliability**. By removing the experimental Cursor hooks system and marking Claude Code as experimental, we're being more honest about what's production-ready (Claude Desktop + Cursor .mdc rules) versus what's still evolving (Claude Code automation). The default experience is now cleaner, with advanced features clearly opt-in. ## 0.5.0 - 2025-10-01 ### Added - **Cursor Hooks Integration**: Complete automation hooks system for Cursor IDE - `beforeSubmitPrompt` hook - Session initialization + automatic memory recall with context injection - `afterFileEdit` hook - Captures significant code changes to memory queue - `beforeShellExecution` hook - Audits shell commands (git commits, builds, tests, deploys) - `stop` hook - Drains memory queue to AutoMem service at session end - Automatic memory recall at conversation start with relevant context injected into AI - Smart filtering (skips lock files, node_modules, trivial changes) - Non-blocking queue processing in background - Comprehensive logging (`~/.cursor/logs/hooks.log`) - **Hook Templates**: - `templates/cursor/hooks/init-session.sh` - Session init + recall (with 2s timeout) - `templates/cursor/hooks/capture-edit.sh` - Edit capture with significance scoring - `templates/cursor/hooks/audit-shell.sh` - Command auditing (always allows, queues if significant) - `templates/cursor/hooks/drain-queue.sh` - Background queue processor - `templates/cursor/hooks.json` - Hook configuration for `~/.cursor/hooks.json` - `templates/cursor/scripts/memory-filters.json` - Configurable filters and thresholds - **CLI Enhancement**: Added `--hooks` flag to `cursor` command - `npx @verygoodplugins/mcp-automem cursor --hooks` - Installs hooks to `~/.cursor/` - Merges with existing `hooks.json` if present (with backup) - Copies hook scripts and makes them executable - Provides detailed installation feedback and debug information - **Documentation**: - `templates/CURSOR_HOOKS_INTEGRATION.md` - Complete 500+ line guide covering: - Architecture and data flow diagrams - Hook-by-hook technical reference - Configuration and customization - Troubleshooting and debugging - Advanced usage (custom hooks, gating, multiple hooks per event) - Comparison with Claude Code hooks - Updated `INSTALLATION.md` with hooks section and verification steps - Updated CLI help text with `--hooks` option and examples ### Technical Details - Cursor hooks use JSON stdin/stdout communication (vs Claude Code's env vars) - `beforeSubmitPrompt` enables automatic memory recall (impossible in Claude Code) - Hooks can block/gate operations (Claude Code hooks are fire-and-forget) - Hook scripts are cross-platform compatible (bash with python3 for JSON parsing) - Queue format: JSONL (one memory entry per line) - Importance scoring: 0.5-0.9 based on edit count and chars changed - Command detection: Pattern matching for git, build, test, deploy, docker ### Performance - Non-blocking recall (2s timeout to avoid conversation delays) - Background queue draining (doesn't block session end) - Filtered processing (skips ~90% of trivial changes) - Efficient JSON parsing (jq + python3) ### Improvements - **Verbose logging**: All hooks now log full JSON content of captured memories - Users can see exactly what's being stored in `~/.cursor/logs/hooks.log` - Helps with debugging and building trust in the automation - Shows importance scoring, tags, metadata for each memory - **Automatic log rotation**: Prevents infinite log file growth - Rotates when `hooks.log` exceeds 10MB - Keeps one backup (`hooks.log.old`) - Maximum disk usage: ~20MB - No user configuration required ### Fixed - **Environment variable inheritance**: Hooks now read `AUTOMEM_ENDPOINT` and `AUTOMEM_API_KEY` from `~/.cursor/mcp.json` - Fixes issue where hooks defaulted to localhost instead of using Cursor's configured endpoint - Both `init-session.sh` and `drain-queue.sh` now export env vars before calling npx - Logs show which endpoint is being used for debugging ## 0.4.0 - 2025-10-01 ### Added - **One-click install for Cursor**: Added install button using Cursor's MCP deeplink protocol - Beautiful dark-themed install button with Cursor branding - Uses `cursor://anysphere.cursor-deeplink/mcp/install` with base64 encoded config - Eliminates manual JSON editing for initial setup - Includes detailed "How it works" section with link format breakdown - Users configure `AUTOMEM_ENDPOINT` after installation - Follows Cursor's official [MCP Install Links](https://cursor.com/docs/context/mcp/install-links) specification - **Warp Terminal support**: Complete integration for AI-powered terminal assistance with persistent memory - Added Warp section to README.md with platform support table - Created comprehensive Warp setup guide in INSTALLATION.md - Created `templates/warp/` directory with: - `warp-rules.md` - Memory-first terminal assistance rules with project auto-detection - `mcp.json` - Warp MCP server configuration template - `README.md` - Warp-specific setup and usage guide - Features: - Project context auto-detection from `package.json`, `.git/config`, or directory name - Smart memory recall on directory changes and context queries - Command history with context awareness - Terminal-optimized communication style (terse, command-first) - Memory storage for setup commands, debugging patterns, and deployment procedures - Cross-platform memory sync (Warp ↔ Cursor ↔ Claude Code ↔ Claude Desktop) - Added Warp troubleshooting section to INSTALLATION.md - Screenshots demonstrating Warp + AutoMem in action ### Documentation - **Consolidated documentation structure**: Single source of truth approach - All platform setup instructions in INSTALLATION.md - Removed redundant template READMEs (templates/warp/README.md, templates/codex/README.md) - Added helpful inline comments to template config files - Kept templates/CLAUDE_CODE_INTEGRATION.md as technical deep-dive for complex hook system - Updated README.md platform support table to include Warp Terminal and OpenAI Codex - **Warp Terminal support**: Complete integration guide in INSTALLATION.md - AI rules template with project auto-detection - Memory-first terminal assistance patterns - Template files with inline documentation - **OpenAI Codex support**: Complete setup guide in INSTALLATION.md - TOML configuration format (`~/.codex/config.toml`) - Template with inline comments and examples - CLI, IDE extension, and cloud agent usage - GitHub integration workflow - Cross-platform memory sync ## 0.3.1 - 2025-10-01 ### Security & Privacy - **Removed public AutoMem endpoint** from all templates and default configuration - Changed default endpoint to `localhost:8001` (users must deploy their own instance) - Updated all template files to use placeholder URLs (`your-automem-instance.railway.app`) - Ensures no shared/public endpoints are inadvertently used ### Documentation - Split documentation into marketing-focused `README.md` and technical `INSTALLATION.md` - Fixed all internal documentation links (removed non-existent `CURSOR_SETUP.md` references) - Added `automem.ai` domain references throughout documentation - Clarified separation between MCP client (this package) and AutoMem service (backend) ### Changed - Updated config templates to require explicit endpoint configuration - Improved template placeholder clarity for user customization ## 0.3.0 - 2025-10-01 ### Added - **Cursor IDE support**: New `cursor` command for project-level setup with `.cursor/rules/` agent files - `npx @verygoodplugins/mcp-automem cursor` - Sets up memory-first development workflow - Supports `--dry-run`, `--dir`, `--name`, `--desc` options - Creates `.cursorrules` and `.cursor/rules/` directory with memory-keeper and project-assistant agents - **Migration tool**: `migrate` command to convert between manual/cursor configurations - **Uninstall tool**: `uninstall cursor` command to cleanly remove Cursor setup - **Global user rules guide**: README now includes optional prompt for Cursor Settings > General > Rules for AI ### Fixed - **Cross-platform compatibility**: Claude Desktop config path now supports macOS, Windows, and Linux - **CLI argument validation**: Added bounds checking and error messages for all CLI parsers - **Logical operator precedence**: Fixed search condition in migrate.ts to require "memory" AND ("store" OR "recall") - **Logging accuracy**: File existence check now tracks state before write operation ### Changed - Removed experimental global installation code (database injection approach) - Improved CLI error messages with actionable feedback - Updated README with clearer installation guidance and global setup instructions ### Documentation - Added `INSTALLATION.md` with comprehensive platform-specific setup guides - Enhanced README with marketing-focused content and global user rules section - Updated help text to reference README for global configuration ## 0.2.0 - 2025-09-30 Enhancements - recall_memory: When `tags` are provided, merge results from `/recall` and `/memory/by-tag` for stronger coverage (dedupe by ID, sort by score, enforce `limit`). - recall_memory: Added optional `tag_mode` (`any|all`) and `tag_match` (`exact|prefix`) parameters; forwarded to the AutoMem service when present. - Client: Surfaces `tag_mode` and `tag_match` in results for clarity. - Claude Code integration: Introduced profiles and lean defaults. - New CLI option: `npx @verygoodplugins/mcp-automem claude-code --profile <lean|extras>`. - Lean profile: quiet defaults, high-signal hooks only (git commit, build) and queue drain on Stop. - Extras profile: optional hooks (edit/test/deploy/search/error) and optional status line. - Templates and docs: Sanitized project examples; added guidance for enabling optional hooks and customizing filters. - Templates: Standardized event time as top-level `timestamp` in hook outputs; removed month tags from default capture to avoid redundant time signals. Changes - Removed deprecated `search_by_tag` tool and handler; use `recall_memory` with `tags` (the MCP server now merges `/memory/by-tag` results automatically when tags are provided). Notes - Upstream recommendation: Update AutoMem `/recall` to apply tag filters at search-time in the vector branch using Qdrant `query_filter`, support `tag_mode` and `tag_match`, and add a tags-only fallback. This MCP already passes these parameters and will benefit automatically once deployed. ## 0.1.0 - 2025-09-22 Initial release - MCP server exposing core AutoMem tools: - `store_memory`, `recall_memory`, `associate_memories`, `update_memory`, `delete_memory`, `check_database_health`. - Node client wrapper for the AutoMem API. - Baseline docs and quick start. ### Added - **OpenAI Codex proactive rules + installer**: - New `codex` CLI command to install memory-first rules into `AGENTS.md` - Template: `templates/codex/memory-rules.md` with project/month variables - Example config: `templates/codex/config.toml` - Goal: give Codex similar proactive recall/store behavior as Cursor’s `.mdc` rules