Palim
Hosted MCP memory server: save sessions and decisions once, search them from Claude, Cursor, ChatGPT, and other MCP clients.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data
What it can do
- Palim Resume: Continue where the user left off. Call this as the FIRST action in a new chat, with no arguments, before answering — it returns the most recently updated Palim thread already formatted a
- Palim Save Context: Default lightweight Palim checkpoint. Save a self-contained summary of the current chat so another AI tool can continue with the same knowledge. Use proactively after every substan
- Palim Save Session: Save or append to a chat session with messages and summary. For metadata-only changes (tags, status, project), use palim_update_session_metadata. For URL/reference updates, use pal
What data it sees
Do you need an account
No: the server works without sign-in
Hosted MCP memory server: save sessions and decisions once, search them from Claude, Cursor, ChatGPT, and other MCP clients. EU-hosted. Explicit save + PostgreSQL full-text search (not embeddings). Setup: https://api.usepalim.com/setup — Docs: https://usepalim.com/en/docs/ — Examples: https://github.com/joleschmidt/palim-mcp-examples
Server tool list (45)
Raw names from tools/list. Only developers need these.
| palim_resume | Continue where the user left off. Call this as the FIRST action in a new chat, with no arguments, before answering — it returns the most recently updated Palim thread already formatted as a handoff (goal, state, decisions, open items), the automatically recorded last turn where one exists, and a short list of other recent threads. Use it instead of asking the user to summarise a previous chat, and instead of palim_get_context when there is no specific topic to search for. Short threads are returned too: brevity is not irrelevance. If the returned thread turns out to be unrelated to what the user actually asks, ignore it silently. |
| palim_save_context | Default lightweight Palim checkpoint. Save a self-contained summary of the current chat so another AI tool can continue with the same knowledge. Use proactively after every substantial result, decision, or change of direction; do not wait for the user to ask. This does NOT require or store the message transcript. Reuse session_id from the previous checkpoint in this chat so the same summary is updated instead of creating another session. Use palim_save_session only when the full transcript is actually needed. |
| palim_save_session | Save or append to a chat session with messages and summary. For metadata-only changes (tags, status, project), use palim_update_session_metadata. For URL/reference updates, use palim_update_session_references. When appending to an existing session: reuse the same session_id and title, call palim_get_session first to check existing messages, then send only new messages. Always include a complete summary reflecting all conversation content. metadata.tool_source is required. If user modeling is enabled, include summary.user_insights as a structured profile patch. Extract ONLY long-term, personally meaningful information: relationships ({name, relation, expertise?, company?, preferences?}), life_phases ({label, status: active|completed|planned}), personality ({decision_style?, values?}), preferences ({likes?: string[], dislikes?: string[]}), brand_preferences ({category: string[]}), interests (real hobbies/passions, NOT session topics), goals (life/career goals, NOT session todos), decisions (strategic choices, NOT trivial session decisions), employer, role, location. ANTI-SLOP: Do NOT include filenames, paths, branches, commit hashes, session-specific tasks, generic AI phrases, environment variables, or any info that would be irrelevant in 3 months. Only include fields with clear signals – do not guess. |
| palim_create_connection_url | Create a URL-based connection for the current user. Returns a full MCP server URL with a short token (e.g. https://.../mcp?token=ctxu_...), plus usage instructions for common clients. |
| palim_search | Search across all saved sessions. Supports full-text search via query, metadata filtering via tags/project/status/tool_source, or both. Omit query for tags-only filtering. |
| palim_get_context | Get formatted context for a specific topic by searching and retrieving relevant sessions. |
| palim_get_session | Retrieve a complete chat session by ID, including all messages and summary. |
| palim_get_sessions | Retrieve multiple chat sessions by ID in one call. Use after palim_search or palim_search_by_date_range when you need full content for several sessions (e.g. "what did I do last week?"). Prefer this over multiple palim_get_session calls. |
| palim_show_session | Display a chat session in a readable message-by-message format. Accepts session_id (slug) or UUID. For chats with >20 messages, prompts for display count unless max_messages is set. |
| palim_get_summary | Get only the summary for a session without loading messages. |
| palim_list_summaries | List saved session summaries with optional filters. Returns summaries without full message content. |
| palim_add_memory | Store a memory, fact, decision, or preference for later retrieval. |
| palim_search_memories | Search through stored memories by query, type, or tags. |
| palim_update_memory | Update one stored memory by ID. At least one editable field is required; contents, tags, and metadata remain encrypted. |
| palim_delete_memory | Permanently delete one stored memory by ID. Use for user-requested cleanup or deletion; this cannot be undone. |
| palim_set_user_context | Set the user-specific context block used for personalized AI guidance. |
| palim_get_user_context | Get the current user-specific context block. |
| palim_get_brain | Get the distilled knowledge profile ("Brain"). Without arguments returns the brain index: one line per topic (title, slug, hook, entry count) — cheap to load at conversation start. Pass topic (slug or name) to load one full topic document (decisions, open items, session log). Topics are distilled automatically from saved sessions. |
| palim_export_brain | Export the entire distilled knowledge profile as an Obsidian-ready markdown vault: an INDEX.md with wiki-links plus one markdown document per topic (with frontmatter), each preceded by a "<!-- file: brain/<slug>.md -->" marker. Use when the user wants to download, back up, or sync their brain into Obsidian, a git repo, or local files. |
| palim_update_brain_topic | Edit a brain topic: replace its markdown content, rename it, update its index hook, or delete it. Use when the user wants to correct, clean up, or remove distilled knowledge. Keep the section structure ("## Decisions", "## Open Items", "## Session Log") when replacing content. |
| palim_backfill_brain | One-time catch-up: distill sessions saved before the Brain existed (or before it was on) into the knowledge profile, using each session's already-stored summary. Safe to run more than once — already-distilled sessions are deduped, not duplicated. Use when a user with existing saved sessions asks why palim_get_brain / the dashboard Brain tab looks empty despite having saved sessions. |
| palim_add_user_rule | Add a user rule (workflow/delegation/hints) for personalized guidance. |
| palim_list_user_rules | List all user rules for the current user. |
| palim_update_user_rule | Update an existing user rule by rule_id. |
| palim_delete_user_rule | Delete a user rule by rule_id. |
| palim_get_user_profile | Get the inferred user profile (if initialized). |
| palim_update_user_profile | Update profile settings (consent/refinement) and optional profile patch. Use replace_fields to overwrite arrays/objects instead of merging (e.g. clean up interests, update location). Use delete_fields to remove obsolete fields entirely. |
| palim_delete_session | Delete a chat session. Soft delete by default (reversible). Use hard_delete=true for permanent deletion. |
| palim_register | Register a new Palim account and receive an API key. Does not require authentication. |
| palim_login | Login with existing credentials and create a new API key. Does not require authentication. |
| palim_logout | Sign out from Palim. Deletes API keys and revokes OAuth sessions. |
| palim_browse_sessions | Browse sessions (machine-readable JSON). For UI/browser. Use palim_list_sessions for human-readable output. |
| palim_list_sessions | List saved chat sessions with optional filters (tool_source, tags, status, date range). |
| palim_get_stats | Get statistics about saved chats: total sessions, sessions by tool, recent activity. |
| palim_help | Show an overview of all available Palim tools and usage instructions. |
| palim_update_session_metadata | Update metadata of an existing session (title, tags, status, project, created_at, custom fields). Use when user says "change date of chat X to Y". For URL/reference updates, use palim_update_session_references instead. |
| palim_update_session_references | Add or update source/reference URLs for an existing session without re-saving messages. Include all distinct URLs related to the chat (chat URL, source links, inline references). |
| palim_search_by_date_range | Search sessions by date range + optional tags. Use when user mentions a time period (e.g. "letzte Woche", "last week", "dieser Monat") AND optionally a topic/project. Example: "Was habe ich letzte Woche bei Logisoft gemacht?" → date_from/date_to for last week, tags: ["logisoft"]. Faster than palim_search when time + topic are both relevant. |
| palim_export_session | Export a session as Markdown, JSON, or plain text. When save_to_file=true, create the file using the returned suggested_filename and content. |
| palim_create_summary | Create a summary for a session that does not have one yet. |
| palim_find_similar | Find sessions similar to a given session based on keyword and content similarity. |
| palim_migrate_encryption | Encrypt all plaintext sessions/messages/summaries using the server encryption key. Use dry_run=true to preview. |
| palim_backfill_blind_index | Populate the blind index columns (migration 024) from existing plaintext: session tag and title tokens plus brain topic slug/title/hook. Additive — plaintext columns are left untouched; completion is per field, so re-running fills only what is missing. Use dry_run=true to preview. |
| palim_clean_session_tags | Remove tag noise left by the old auto-tagger, which split open items and decisions into one tag per word (stopwords like "nach"/"dem", umlaut-stripped fragments like "lschen"). Conservative: only removes tags positively identifiable as tokenizer output and keeps anything uncertain. Use dry_run=true to review the removal list first. |
| palim_repair_brain_hooks | Repair brain hooks and session-log lines that the old sentence splitter truncated mid-clause (entries ending on "inkl.", "vs." or an ordinal like "am 2."). Re-derives the full text from the source session summaries. Only ever extends an entry that is a strict prefix of the recomputed one, so hand-edited topics are left untouched. Use dry_run=true to review first. |