Complete reference for all 23 tools available in Memcord.
MemCord offers two modes with different tool sets:
Available without configuration:
- Core:
memcord_name,memcord_use,memcord_save,memcord_read,memcord_save_progress,memcord_list - Configuration:
memcord_configure - Search:
memcord_search,memcord_query - Privacy:
memcord_zero - Selection:
memcord_select_entry - Integration:
memcord_merge - Project Binding:
memcord_init,memcord_unbind - Utility:
memcord_ping
Requires MEMCORD_ENABLE_ADVANCED=true:
- All Basic tools plus:
- Organization:
memcord_tag,memcord_list_tags,memcord_group - Import:
memcord_import - Storage:
memcord_compress - Export & Sharing:
memcord_export,memcord_share - Archival:
memcord_archive
Creates or selects a named memory slot.
Parameters:
slot_name: Name of the memory slot to create or select
Examples:
- "Set memory slot to 'project_alpha'"
- "Create memory slot called 'meeting_notes'"
Activates an existing memory slot (does not create new slots).
Parameters:
slot_name: Name of the existing memory slot to activate
Examples:
- "Use memory slot 'project_alpha'"
- "Switch to existing slot 'meeting_notes'"
Note: This tool only activates existing slots. If the slot doesn't exist, it returns an error suggesting to use memcord_name to create new slots or memcord_list to see available slots.
Manually saves exact chat text to current memory slot (overwrites existing content).
Parameters:
chat_text: The conversation text to saveslot_name(optional): Target memory slot. If not provided, uses current slot
Slot resolution priority: explicit slot_name β active slot β .memcord binding file in cwd. If the bound slot exists, it is also auto-activated for the rest of the session.
Examples:
- "Save this conversation to memory"
- "Store our discussion about the API changes"
Retrieves full content from memory slot.
Parameters:
slot_name(optional): Name of slot to read. If not provided, uses current slot
Slot resolution priority: explicit slot_name β active slot β .memcord binding file in cwd.
Examples:
- "What did we discuss in the last session?"
- "Read from slot 'project_alpha'"
Generates a summary and appends it to memory slot with timestamp.
Parameters:
chat_text: Text to summarizeslot_name(optional): Target memory slot. If not provided, uses current slotcompression_ratio(optional): Target compression (0.05-0.5). Defaults to the slot'sdefault_compression_ratioconfig value (0.15)
Slot resolution priority: explicit slot_name β active slot β .memcord binding file in cwd. If the bound slot exists, it is also auto-activated for the rest of the session.
Summarizer backend: Uses the backend configured for the slot via memcord_configure. New slots default to sumy (graph-based, zero model files); existing slots default to nltk (unchanged prior behavior). Override globally with MEMCORD_SUMMARIZER env var.
Examples:
- "Summarize our progress and save it"
- "Save progress with 10% compression"
Get or set per-slot configuration β summarizer backend, consolidation limits, and custom storage location.
Parameters:
action:get(show config),set(update a key), orreset(restore defaults)key(required forset): Config key to update. Valid keys:summarizer_backendβ"sumy"|"semantic"|"transformers"|"nltk"sumy_algorithmβ"lexrank"|"lsa"|"edmundson"semantic_modelβ sentence-transformers model name (default:"all-MiniLM-L6-v2")transformers_modelβ HuggingFace model name (default:"philschmid/bart-large-cnn-samsum")hf_deviceβ"auto"|"cpu"|"cuda"|"mps"default_compression_ratioβ float between 0.05 and 0.5max_auto_summariesβ int β₯ 0; max combinedauto_summary/rolled_summaryentries before consolidation (0disables)custom_storage_pathβ absolute directory where this slot's data and settings live (e.g. a synced Dropbox/OneDrive folder); empty string or"none"reverts to the default location
value(required forset): New value for the keyslot_name(optional): Target slot. Uses current slot if not specified
Slot resolution priority: explicit slot_name β active slot β .memcord binding file in cwd.
Config is per-slot and stored as a sidecar JSON file ({slot}_config.json) that lives alongside the slot's data β in the default memory directory, or in the slot's custom storage directory once linked. Changes take effect on the very next memcord_save_progress call β no restart required.
Auto-creation rules:
- New slot (no
.jsonfile yet) βsummarizer_backend = "sumy"(smarter default) - Existing slot (
.jsonfile present) βsummarizer_backend = "nltk"(preserves prior behavior)
custom_storage_path behavior:
- Setting it on a slot that already has data automatically migrates the slot's
.json(and.bak) file and its settings sidecar ({slot}_config.json, with its own.bak) to the new directory β nothing is left behind. - Setting it on a slot with no data yet just records the redirect; the next save writes straight to the custom location.
- If data already exists at both the old and new locations, the call is refused (no overwrite) so you can resolve the conflict manually. The same protection applies to the settings sidecar: an existing sidecar at the destination is never overwritten.
- The redirect itself is local to this machine, recorded in a
_storage_links.jsonregistry file in the local memory directory β each device pointing at a shared folder (e.g. Dropbox) needs to run its ownsetonce, using whatever path that folder resolves to locally. - Once linked, the settings sidecar lives at the custom location too, so
summarizer_backend,sumy_algorithm, and the other config keys above are shared across every device pointing at that folder β not just the slot's content. Derived data (search index, cache, archives) stays local and is rebuilt lazily.
Examples:
memcord_configure action="get"β Show current slot configmemcord_configure action="set" key="summarizer_backend" value="transformers"β Switch to abstractive BARTmemcord_configure action="set" key="default_compression_ratio" value="0.25"β Set compression to 25%memcord_configure action="set" key="custom_storage_path" value="D:\Dropbox\shared"β Move/link this slot to a synced foldermemcord_configure action="set" key="custom_storage_path" value=""β Revert to the default storage locationmemcord_configure action="reset"β Restore defaults for current slot
Env var override: MEMCORD_SUMMARIZER=nltk overrides per-slot config for all slots (useful for Docker/CI).
Lists all available memory slots with metadata.
Parameters: None
Examples:
- "Show me all my memory slots"
- "List all available memories"
Lightweight health check for server warm-up. Returns minimal response to confirm server is running.
Parameters: None
Returns: "pong"
Use Cases:
- Warm up the server at session start to avoid cold start delays
- Health check to verify server is responsive
- Configure in Claude Code hooks for automatic warm-up
Examples:
- Call
memcord_pingat the start of a session - Add to
UserPromptSubmithook for automatic warm-up
See Server Warm-up for hook configuration.
Search across all memory slots with advanced filtering.
Parameters:
query: Search query stringinclude_tags(optional): Only include slots with these tagsexclude_tags(optional): Exclude slots with these tagsmax_results(optional): Maximum number of results (default: 20)case_sensitive(optional): Whether search is case sensitive (default: false)
Examples:
- "Search for 'API integration'"
- "Search for 'database' excluding tag 'archived'"
Ask natural language questions about your stored memories.
Parameters:
question: Natural language questionmax_results(optional): Maximum number of results to consider (default: 5)
Examples:
- "What decisions were made about the API design?"
- "What issues were discussed in the last meeting?"
Activate zero mode - no memory will be saved until switched to another slot.
Parameters:
- None
Behavior:
- Activates "zero mode" where all save operations are blocked
- Clear notifications inform user when zero mode is active
memcord_listshows zero mode status prominently- Mode persists until user switches to another memory slot with
memcord_name
Examples:
memcord_zero- Activate zero mode- After activation, any
memcord_saveormemcord_save_progresswill be blocked with helpful guidance
Use Cases:
- Privacy conversations: Ensure sensitive discussions aren't accidentally saved
- Testing scenarios: Prevent test conversations from polluting memory
- Temporary usage: Use Claude without building permanent memory
- Guest access: Allow others to use your setup without saving their conversations
Exit Zero Mode:
- Use
memcord_name [slot_name]to select any memory slot and resume saving
Select and retrieve a specific memory entry by timestamp, relative time, or index within a memory slot.
Parameters:
slot_name(optional): Target memory slot (uses current if not specified)timestamp(optional): Exact timestamp in ISO format (e.g., '2025-07-21T17:30:00')relative_time(optional): Human descriptions like 'latest', 'oldest', '2 hours ago', 'yesterday'entry_index(optional): Direct numeric index (0-based, negative for reverse indexing)entry_type(optional): Filter by entry type ('manual_save' or 'auto_summary')show_context(optional): Include timeline position and adjacent entries info (default: true)
Selection Methods (choose exactly one):
- Timestamp Selection: Exact timestamp matching with 30-minute tolerance
- Relative Time: Natural language expressions for temporal navigation
- Index Selection: Direct numeric access to entries in chronological order
Examples:
memcord_select_entry timestamp="2025-07-21T17:30:00"- Select entry closest to specific timememcord_select_entry relative_time="latest"- Get the most recent entrymemcord_select_entry relative_time="2 hours ago"- Get entry from approximately 2 hours agomemcord_select_entry entry_index=0- Get the oldest entry (first in timeline)memcord_select_entry entry_index=-1- Get the newest entry (last in timeline)memcord_select_entry relative_time="oldest" entry_type="manual_save"- Get oldest manual save
Relative Time Expressions:
- Simple: 'latest', 'newest', 'oldest', 'earliest', 'first'
- Ordinal: '2nd latest', 'third oldest', 'second newest'
- Time Deltas: '2 hours ago', '30 minutes ago', 'yesterday', 'last week'
Features:
- Timeline Context: Shows position and adjacent entries for navigation
- Flexible Matching: Tolerant timestamp matching for approximate selection
- Type Filtering: Filter by manual saves vs auto summaries
- Error Guidance: Helpful messages with available options when selection fails
- Index Support: Both positive (0=oldest) and negative (-1=newest) indexing
Use Cases:
- Timeline Navigation: Jump to specific points in conversation history
- Content Retrieval: Access specific decisions or discussions by time
- Version Comparison: Compare different versions of content over time
- Context Building: Select relevant entries for current discussion
Merge multiple memory slots into one with intelligent duplicate detection.
Parameters:
source_slots: Array of memory slot names to merge (minimum 2)target_slot: Name for the merged memory slotaction(optional):preview(default) ormergesimilarity_threshold(optional): Duplicate detection threshold 0.0-1.0 (default 0.8)delete_sources(optional): Delete source slots after successful merge (default false)
Actions:
- Preview: Shows merge statistics and content preview without executing
- Merge: Executes the merge operation with duplicate removal
Examples:
- "Preview merge:
memcord_merge source_slots=['meeting1','meeting2','meeting3'] target_slot='project_meetings' action='preview'" - "Execute merge:
memcord_merge source_slots=['draft1','draft2'] target_slot='final_document' action='merge' similarity_threshold=0.7" - "Merge with cleanup:
memcord_merge source_slots=['temp1','temp2'] target_slot='consolidated' action='merge' delete_sources=true"
Features:
- Duplicate Detection: Configurable similarity threshold for content deduplication
- Chronological Ordering: Maintains timeline of merged content
- Metadata Consolidation: Merges tags and groups from all source slots
- Preview Mode: See merge results before execution
- Source Cleanup: Optional deletion of source slots after successful merge
- Merge Statistics: Detailed information about content and duplicates removed
Use Cases:
- Project Consolidation: Combine related project discussions into single slot
- Meeting Summaries: Merge multiple meeting notes into comprehensive overview
- Research Organization: Consolidate scattered research into organized collection
- Content Cleanup: Remove duplicates while preserving unique information
Initialize memcord for a project directory by binding it to a memory slot. Creates a .memcord file in the project root.
Parameters:
project_path: Path to the project directory to initializeslot_name(optional): Memory slot name to bind. If not specified, uses directory name
Behavior:
- Creates a
.memcordfile in the project directory containing the slot name - Auto-generates slot name from directory name if not specified (spaces replaced with underscores)
- Creates the memory slot if it doesn't exist
- If
.memcordfile already exists, reads and uses the existing slot name (unless new slot_name is specified)
Examples:
memcord_init project_path="/path/to/my-project"- Initializes with slot named "my-project"memcord_init project_path="/path/to/project" slot_name="custom-slot"- Initializes with specified slotmemcord_init project_path="."- Initializes current directory
Use Cases:
- Project-specific memory: Each project automatically uses its own memory slot
- Team collaboration:
.memcordfile can be committed to version control - Auto-detection: Claude Code slash commands automatically use the bound slot
Remove the .memcord binding file from a project directory.
Parameters:
project_path: Path to the project directory to unbind
Behavior:
- Removes the
.memcordfile from the project directory - Does NOT delete the memory slot itself (data is preserved)
- Returns helpful message if no
.memcordfile exists
Examples:
memcord_unbind project_path="/path/to/my-project"- Removes bindingmemcord_unbind project_path="."- Unbinds current directory
Compress memory slot content to save storage space with intelligent gzip compression.
Parameters:
action: Action to perform (analyze,compress,decompress,stats)slot_name(optional): Memory slot name to compress. Processes all slots if not specifiedforce(optional): Force compression even for already compressed content (default: false)
Actions:
analyze: Preview compression potential without making changescompress: Apply compression to memory slot contentdecompress: Restore compressed content to original formstats: View detailed compression statistics
Examples:
memcord_compress action="analyze"- Preview compression for all slotsmemcord_compress action="compress" slot_name="project_alpha"- Compress specific slotmemcord_compress action="stats"- View overall compression statisticsmemcord_compress action="decompress" slot_name="project_alpha"- Restore original content
Features:
- Automatic compression threshold (1KB minimum)
- 30-70% typical storage reduction
- Maintains search functionality on compressed content
- Transparent decompression when reading content
Manage tags for memory slots.
Parameters:
action: Action to perform (add,remove,list)tags(optional): Space-separated list of tags (required for add/remove)
Examples:
- "Add tags 'project', 'meeting' to current slot"
- "Remove tag 'draft' from current slot"
- "List all tags for current slot"
Tag Features:
- Multiple tags per slot
- Case-insensitive (stored in lowercase)
- Hierarchical tags using dot notation (e.g., "project.alpha.backend")
- Auto-completion suggestions
List all tags used across all memory slots.
Parameters: None
Examples:
- "Show me all available tags"
- "What tags are being used?"
Output includes:
- Tag name
- Usage count
- Associated memory slots
Manage memory slot groups and folders.
Parameters:
action: Action to perform (set,remove,list)group_path(optional): Hierarchical path (required for set)
Examples:
- "Set group 'projects/alpha' for current slot"
- "Remove group assignment from current slot"
- "List all memory groups"
Group Features:
- Hierarchical folder structure
- Unlimited nesting depth
- Path-based navigation
- Bulk operations on group members
Import content from various sources including files, PDFs, web URLs, and structured data.
Parameters:
source: Source to import from (file path, URL, etc.)slot_name(optional): Target memory slot name. Uses current slot if not specifieddescription(optional): Description for the imported contenttags(optional): Array of tags to apply to the imported contentgroup_path(optional): Group path for organization
Supported Sources:
- Text Files:
.txt,.md,.markdown,.rst,.log - PDF Documents: Extracts text content page by page
- Web URLs: Extracts clean article content from web pages
- Structured Data:
.json,.csv,.tsvfiles
Examples:
- "Import PDF document:
memcord_import source='/path/to/document.pdf' slot_name='research_docs' tags=['pdf','research']" - "Import web article:
memcord_import source='https://example.com/article' slot_name='web_content' group_path='articles/tech'" - "Import CSV data:
memcord_import source='/data/export.csv' slot_name='analytics_data' description='Sales data Q1 2025'" - "Import markdown file:
memcord_import source='./notes.md' tags=['notes','draft']"
Features:
- Automatic source type detection
- Import metadata preservation
- Rich content headers with source information
- Support for large files (up to 50MB)
- Comprehensive error handling
Archive or restore memory slots for long-term storage with automatic compression.
Parameters:
action: Action to perform (archive,restore,list,stats,candidates)slot_name(optional): Memory slot name to archive/restore (required forarchiveandrestore)reason(optional): Reason for archiving (default: "manual")days_inactive(optional): Days of inactivity for finding candidates (default: 30)
Actions:
archive: Move a memory slot to compressed archive storagerestore: Restore an archived slot back to active memorylist: Browse all archived memory slots with metadatastats: View archive storage statistics and space savingscandidates: Find slots suitable for archiving based on inactivity
Examples:
memcord_archive action="candidates" days_inactive=30- Find slots inactive for 30+ daysmemcord_archive action="archive" slot_name="old_project" reason="project_completed"- Archive specific slotmemcord_archive action="list"- View all archived slotsmemcord_archive action="restore" slot_name="old_project"- Restore from archivememcord_archive action="stats"- View archive statistics
Features:
- Automatic Compression: Archives are compressed for maximum space savings
- Preserved Metadata: All tags, groups, and timestamps maintained
- Search Integration: Archived content remains searchable (future enhancement)
- Safe Operations: Archives preserve original data with restoration capability
- Usage Analytics: Identifies inactive slots for archival recommendations
Exports memory slot as an MCP file resource.
Parameters:
slot_name: Name of the memory slot to exportformat: Export format (md,txt,json)
Examples:
- "Export project_alpha as markdown"
- "Export meeting_notes as JSON"
Generates shareable files in multiple formats.
Parameters:
slot_name: Name of the memory slot to shareformats(optional): Comma-separated list of formats (default: all)
Examples:
- "Share project_alpha in markdown and text formats"
- "Share meeting_notes in all formats"
1. Create and organize:
memcord_name "api_review" β memcord_tag add "technical review urgent" β memcord_group set "projects/backend"
2. Search and analyze:
memcord_search "database performance" β memcord_query "What performance issues were identified?"
3. Export and share:
memcord_export "api_review" "md" β memcord_share "api_review" "md,txt"
1. Daily standup workflow:
memcord_name "standup_2024_01_15" β memcord_save [conversation] β memcord_tag add "standup daily" β memcord_group set "meetings/daily"
2. Project documentation:
memcord_name "project_specs" β memcord_save_progress [content] 0.1 β memcord_tag add "specs documentation" β memcord_export "project_specs" "md"
3. Research and analysis:
memcord_search "security audit" β memcord_query "What security recommendations were made?" β memcord_name "security_summary" β memcord_save [findings]
Many tools can be chained together for complex operations:
# Complete project setup
memcord_name β memcord_tag add β memcord_group set β memcord_save β memcord_export
# Research workflow
memcord_search β memcord_query β memcord_name β memcord_save_progress
# Organization review
memcord_list β memcord_list_tags β memcord_group list β memcord_search [tag filter]
Common error messages and solutions:
- "No memory slot selected": Use
memcord_namefirst - "Memory slot not found": Check spelling with
memcord_list - "Invalid compression ratio": Use value between 0.05 and 0.5
- "Unknown config key": Run
memcord_configure action="get"to see valid keys - "Unknown action": Use
get,set, orresetformemcord_configure - "No search results": Try broader terms or check spelling
- "Tag not found": Verify with
memcord_list_tags - "Invalid group path": Use forward slashes for hierarchy