Build your workflow
MCP commands
The reference for storing, finding, organizing, and maintaining your project memories.
Command reference
#MCP Commands Reference
Recall exposes 40+ tools that Claude uses behind the scenes. You don't need to memorize these — just ask Claude in plain English and it picks the right tool. This page is a reference for when you want to understand what's happening or ask for something specific.
Everyday Memory Commands
The commands Claude uses most often — storing, finding, and managing your memories.
| Command | What It Does | You Might Say |
|---|---|---|
| store_memory | Saves a new memory | "Remember that we use ULIDs for all IDs" |
| search_memories | Finds memories by meaning (semantic search) | "What did we decide about the database?" |
| update_memory | Edits an existing memory | "Update the auth decision — we switched to JWT" |
| delete_memory | Removes a memory | "Delete the memory about the old API format" |
| store_batch_memories | Saves several memories at once | "Remember all these decisions from today" |
| check_duplicate | Checks if content already exists before storing (pre-write dedup) | "Check if we already have this stored" |
| import_conversations | Bulk import from Claude Code, ChatGPT, or text transcripts. Auto-classifies content type and importance. | "Import my old Claude conversations" |
Automatic Context Loading
These run in the background to keep Claude aware of your project context. Claude calls them on its own when configured properly.
| Command | When It Runs | What It Does |
|---|---|---|
| auto_session_start | Session start | Loads your recent decisions, patterns, directives, pending to-dos, and active workflows |
| pick_up | Returning to work | Generates a structured resumption brief: last session summary, active workflows, pending todos, recent decisions, and unfinished work signals |
| quick_store_decision | After decisions | Saves a decision with its reasoning and alternatives considered |
| recall_relevant_context | Before tasks | Searches for memories related to what you're about to work on |
| analyze_and_remember | After discussions | Extracts key insights from a conversation and stores them |
| summarize_session | End of session | Creates a snapshot of what was accomplished |
| should_use_rlm | Large content | Checks if content is too big and needs the RLM pipeline |
Task Management
Persistent to-do lists that survive across sessions. Pending items are automatically included in session context.
| Action | What It Does | You Might Say |
|---|---|---|
| todo_list create | Creates a new to-do with title, priority, and tags | "Add a to-do to refactor the auth middleware" |
| todo_list list | Lists all to-dos, optionally by status | "Show me my pending to-dos" |
| todo_list complete | Marks a to-do as completed | "Mark the auth refactor to-do as done" |
| todo_list defer | Defers a to-do and tracks how many times | "Defer the database migration to-do" |
| todo_list update | Updates title, priority, status, or tags | "Change the auth to-do to urgent priority" |
Pending to-dos are automatically injected into auto_session_start context with priority indicators like [!!!] for urgent and [!] for high priority.
Webhook Event Delivery
External services (Sentry, GitHub, Honeybadger, Slack, Linear, PagerDuty, Stripe, Discord) send webhooks to Recall. Events are queued and injected into your Claude sessions via the stop hook.
How it works
- Configure your service to POST to your Recall webhook URL (found in Settings → Webhooks)
- First event from a new source is auto-quarantined — whitelist it in the dashboard
- Route events to a specific workspace so they arrive in the right Claude session
- When Claude tries to exit, the stop hook picks up the next event and injects it as a task
Supported sources
Sources are auto-detected via HTTP headers. Sentry uses sentry-hook-resource, GitHub uses x-github-event, etc. You can also override with ?source=custom-name in the URL.
Sentry setup
Create a Sentry Internal Integration (not the legacy WebHooks plugin) with your Recall webhook URL. Then add an alert rule with the "Send a notification (for all legacy integrations)" action. The legacy plugin's "Test Plugin" button may show SIGNATURE_INVALID — this is a Sentry test quirk and does not affect real event delivery.
Event Prompts
Attach custom instructions to webhook sources so Claude understands your codebase when handling events.
What are Event Prompts?
When a webhook event arrives, Claude receives a default instruction like "Investigate this error and propose a fix." Event Prompts let you replace this with guidance specific to your codebase: which files to check, your incident protocol, known failure modes, or service architecture.
Examples
- Sentry: "Check src/services/notification.service.ts first. FCM token errors mean the app was uninstalled — mark the token as invalid rather than retrying."
- GitHub PRs: "Run linting on affected packages, verify test coverage is 70%+, check for breaking changes in shared types."
- PagerDuty: "Follow incident protocol: acknowledge, assess severity, check recent deploys, post to #incidents."
How to configure
Go to Settings → Webhooks and click the document icon next to any source. Enter your custom instructions (up to 2,000 characters). Leave empty to use the default prompt.
Multiple prompts per service
Need different prompts for different projects using the same service? Add ?source=sentry-kiddocare to the webhook URL. Each unique source name gets its own prompt, workspace routing, and event count. Example:
...?token=sk-xxx&source=sentry-kiddocare
...?token=sk-xxx&source=sentry-payments
Best practices
- Include file paths and module names Claude should check first
- Document known failure modes specific to your service
- Reference team protocols (incident response, deployment steps)
- Keep prompts concise and actionable — under 500 words
Project Organization
Workspaces keep your memories separated by project. These commands control where memories live.
| Command | What It Does | You Might Say |
|---|---|---|
| set_workspace | Selects which project's memories to use | "Set workspace to this project" |
| get_workspace | Shows which workspace is active | "Which workspace am I in?" |
| convert_to_global | Makes a memory available in all projects | "Make that preference global across all projects" |
| convert_to_workspace | Restricts a global memory to one project | "Keep that rule only for this project" |
| organize_session | Groups related memories under a session name | "Group today's work as 'Sprint 5'" |
| get_time_window_context | Finds memories from a time range | "What did we work on last week?" |
Multi-Session Workflows
For tasks that span multiple days or sessions. Workflows automatically thread context so Claude picks up where you left off.
| Command | What It Does | You Might Say |
|---|---|---|
| start_workflow | Begins tracking a multi-session task | "Start a workflow for the auth system" |
| pause_workflow | Saves progress between sessions | "Pause the workflow, I'm done for today" |
| resume_workflow | Reloads workflow context in a new session | "Resume the auth system workflow" |
| complete_workflow | Wraps up and generates a summary | "Complete the workflow with a summary" |
| list_workflows | Shows all workflows and their status | "List my workflows" |
| get_active_workflow | Shows the currently active workflow | "Is there an active workflow?" |
| get_workflow_context | Gets all memories tagged to a workflow | "Show me everything from the API redesign workflow" |
Advanced Features
Power-user features for organizing, connecting, and maintaining your memories.
Relationships & History
Connect related memories together and track how they change over time.
link_memoriesConnect two memoriesget_related_memoriesFind connected memoriesunlink_memoriesRemove a connectionget_memory_graphVisualize connectionsget_memory_historyView past versionsrollback_memoryRestore older versioninvalidateMark relationship as ended (temporal validity)Valid relationship_type values
Use one of these 7 values when linking memories. Note relates_to (not related_to).
relates_toparent_ofchild_ofreferencessupersedesimplementsexample_ofTemplates & Categories
Create reusable memory formats and organize memories into categories for easier browsing.
create_templateMake a reusable formatcreate_from_templateUse a templatelist_templatesShow all templatesset_memory_categoryTag with a categorylist_categoriesShow categoriesget_memories_by_categoryBrowse a categoryMaintenance & Cleanup
Keep your memory store tidy as it grows. Consolidation merges similar memories automatically.
auto_consolidateAuto-merge similarforce_consolidateForce a cleanup nowconsolidation_statusCheck cleanup statsfind_duplicatesSpot duplicate memoriesconsolidate_memoriesManually merge specificexport_memoriesExport as JSONimport_memoriesImport from JSONLarge Content Processing (RLM)
When you need to analyze content larger than 50KB (big log files, long documents), the RLM pipeline breaks it into chunks and processes them sequentially. You don't need to call these directly — just ask Claude to analyze the content and it will use the pipeline automatically when needed.
create_execution_contextStore large contentdecompose_taskBreak into subtasksinject_context_snippetGet relevant chunkupdate_subtask_resultSave partial resultmerge_resultsCombine resultsverify_answerCross-check accuracyget_execution_statusCheck progress