Palim
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 palim_add_memory 中
- LOW在 palim_get_brain 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"palim": {
"url": "https://api.usepalim.com/mcp"
}
}
}遠端端點
https://api.usepalim.com/mcpstreamable-http它能做什麼
工具清單
工具(11)
⚪palim_checkpoint(session_id, title, context, continues_from, tool_source, ...)
Call after connecting AND again after each meaningful chunk of work. Claude Code: reuse claude-code-<client session id>.
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>."
},
"title": {
"type": "string",
"description": "Chat title when visible."
},
"context": {
"type": "string",
"description": "Handoff another AI can continue from: goal, state, constraints, next steps."
},
"continues_from": {
"type": "string",
"description": "Optional session_id from palim_resume that this chat continues."
},
"tool_source": {
"type": "string",
"description": "Client: cursor, claude, chatgpt, …"
},
"created_at": {
"type": "string",
"description": "Optional ISO 8601 chat date from the client."
},
"project": {
"type": "string",
"description": "Optional project name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional search tags."
},
"status": {
"type": "string",
"description": "Optional status, e.g. laufend or abgeschlossen."
},
"origin": {
"type": "string",
"description": "human (default) or automation (hooks/cron).",
"enum": [
"human",
"automation"
]
},
"source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional URLs."
},
"key_topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Main topics."
},
"open_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Open tasks."
},
"resolved_open_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Previously open items that are now done; quote a leading fragment."
},
"decisions_made": {
"type": "array",
"items": {
"type": "string"
},
"description": "Decisions in this chat."
},
"referenced_files": {
"type": "array",
"items": {
"type": "string"
},
"description": "Relevant files."
}
},
"required": [
"context",
"tool_source"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟢palim_resume(tool_source, project, within_hours, include_messages)
Continue the user's most recent Palim thread. Call first in a new chat, no args. Ignore the result if it is unrelated. Project filter is case-insensitive and returns the most recently updated match.
輸入結構描述
{
"type": "object",
"properties": {
"tool_source": {
"type": "string",
"description": "Optional: only consider threads from one client (cursor, claude, codex, chatgpt, ...)."
},
"project": {
"type": "string",
"description": "Optional: only consider threads belonging to this project (case-insensitive; Logisoft ≡ logisoft)."
},
"within_hours": {
"type": "number",
"description": "Optional: ignore threads older than this many hours. Omit to always return the latest thread."
},
"include_messages": {
"type": "boolean",
"description": "Optional: append the tail of the transcript when the thread has stored messages. Default false."
}
},
"required": []
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟡palim_save_context(session_id, title, context, continues_from, tool_source, ...)
Lightweight checkpoint: self-contained handoff, no transcript. Reuse session_id in this chat. Proactive after results and decisions, not only once.
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>."
},
"title": {
"type": "string",
"description": "Chat title when visible."
},
"context": {
"type": "string",
"description": "Handoff another AI can continue from: goal, state, constraints, next steps."
},
"continues_from": {
"type": "string",
"description": "Optional session_id from palim_resume that this chat continues."
},
"tool_source": {
"type": "string",
"description": "Client: cursor, claude, chatgpt, …"
},
"created_at": {
"type": "string",
"description": "Optional ISO 8601 chat date from the client."
},
"project": {
"type": "string",
"description": "Optional project name."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional search tags."
},
"status": {
"type": "string",
"description": "Optional status, e.g. laufend or abgeschlossen."
},
"origin": {
"type": "string",
"description": "human (default) or automation (hooks/cron).",
"enum": [
"human",
"automation"
]
},
"source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional URLs."
},
"key_topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Main topics."
},
"open_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Open tasks."
},
"resolved_open_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Previously open items that are now done; quote a leading fragment."
},
"decisions_made": {
"type": "array",
"items": {
"type": "string"
},
"description": "Decisions in this chat."
},
"referenced_files": {
"type": "array",
"items": {
"type": "string"
},
"description": "Relevant files."
}
},
"required": [
"context",
"tool_source"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟡palim_save_session(session_id, title, messages, overwrite, created_at, ...)
Save or append a full chat transcript (messages + summary). Prefer palim_save_context for compact handoffs. For metadata-only or URL updates use palim_update_session_metadata / palim_update_session_references. When appending: reuse session_id + title, fetch existing messages first, send only new ones. Always pass a complete summary and metadata.tool_source.
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "Session id. Reuse across saves in this chat; else from chat URL or a new UUID."
},
"title": {
"type": "string",
"description": "Session title. Reuse across saves; else the exact chat title from the client UI."
},
"messages": {
"type": "array",
"description": "Messages to save (role + content). When appending, only unsaved messages.",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user",
"assistant",
"system",
"model"
],
"description": "Sender role. \"model\" maps to \"assistant\"."
},
"content": {
"type": "string",
"description": "Message content"
}
},
"required": [
"role",
"content"
]
}
},
"overwrite": {
"type": "boolean",
"description": "Replace all existing messages instead of appending. Default: false."
},
"created_at": {
"type": "string",
"description": "Optional ISO 8601 creation date from the AI client (new sessions only)."
},
"summary": {
"type": "object",
"description": "Full-conversation summary. Required arrays may be empty.",
"properties": {
"summary_text": {
"type": "string",
"description": "2-5 sentence summary of the entire conversation."
},
"key_topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "3-5 main topics discussed."
},
"open_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Open tasks or questions remaining."
},
"resolved_open_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Prior open items now done (quote wording); moved into Resolved."
},
"decisions_made": {
"type": "array",
"items": {
"type": "string"
},
"description": "Decisions reached during the conversation."
},
"referenced_files": {
"type": "array",
"items": {
"type": "string"
},
"description": "Files, paths, or key concepts referenced."
},
"user_insights": {
"type": "object",
"description": "Optional long-term profile patch only (relationships, life_phases, personality, preferences, interests, goals, employer/role/location). No filenames, paths, env vars, or session todos. See docs for field shapes."
}
},
"required": [
"summary_text",
"key_topics",
"open_items",
"decisions_made",
"referenced_files"
]
},
"metadata": {
"type": "object",
"description": "Session metadata. tool_source is required.",
"properties": {
"project": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"description": "Lifecycle: laufend | abgeschlossen | referenz | archiviert."
},
"origin": {
"type": "string",
"description": "Producer: automation for cron/routines without a human; default human.",
"enum": [
"human",
"automation"
]
},
"tool_source": {
"type": "string",
"description": "AI platform this session originates from.",
"enum": [
"cursor",
"claude",
"chatgpt",
"gemini",
"perplexity",
"copilot",
"bing",
"web"
]
},
"source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Related URLs (chat link, sources)."
}
},
"required": [
"tool_source"
]
}
},
"required": [
"title",
"messages"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟢palim_search(query, tags, project, status, tool_source, ...)
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 or project-only filtering. Project match is case-insensitive.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Full-text search query. Omit for tags-only or project-only filtering."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by metadata tags (match any)."
},
"project": {
"type": "string",
"description": "Optional case-insensitive project filter (Logisoft ≡ logisoft). Allowed without query or tags."
},
"status": {
"type": "string",
"description": "Optional filter by metadata.status (e.g. \"laufend\", \"abgeschlossen\", \"referenz\", \"archiviert\")."
},
"tool_source": {
"type": "string",
"description": "Optional explicit filter by tool source (cursor, claude, chatgpt, web, etc.)."
},
"limit": {
"type": "number",
"description": "Maximum number of results (default: 5)",
"default": 5
}
},
"required": []
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟢palim_get_context(topic, project, tags, status, max_sessions)
Get formatted context for a specific topic by searching and retrieving relevant sessions.
輸入結構描述
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Topic to get context for."
},
"project": {
"type": "string",
"description": "Optional filter by project"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by metadata tags (match any)."
},
"status": {
"type": "string",
"description": "Optional filter by metadata.status (e.g. \"laufend\", \"abgeschlossen\")."
},
"max_sessions": {
"type": "number",
"description": "Maximum number of sessions to include (default: 3)",
"default": 3
}
},
"required": [
"topic"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟡palim_add_memory(content, type, tags, source_session_id, metadata)
Store a memory, fact, decision, or preference for later retrieval.
輸入結構描述
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "Content of the memory"
},
"type": {
"type": "string",
"enum": [
"fact",
"decision",
"preference",
"insight",
"note"
],
"description": "Type of memory"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags for categorization"
},
"source_session_id": {
"type": "string",
"description": "Optional reference to source session"
},
"metadata": {
"type": "object",
"description": "Additional metadata"
}
},
"required": [
"content",
"type"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🔴palim_delete_memory(memory_id)
Permanently delete one stored memory by ID. Use for user-requested cleanup or deletion; this cannot be undone.
輸入結構描述
{
"type": "object",
"properties": {
"memory_id": {
"type": "string",
"description": "ID of the memory to permanently delete"
}
},
"required": [
"memory_id"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟢palim_get_brain(topic, limit)
Distilled knowledge profile. No args: recent topic index (capped). With topic: full document. Pass limit for a larger or full index.
輸入結構描述
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Optional topic slug or name. When set, returns the full topic document instead of the index."
},
"limit": {
"type": "number",
"description": "Max topics in the index (most recently updated first). Default 20 when omitted. Pass 0 for every topic."
}
},
"required": []
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🔴palim_delete_session(session_id, hard_delete)
Delete a chat session. Soft delete by default (reversible). Use hard_delete=true for permanent deletion.
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "The session ID to delete"
},
"hard_delete": {
"type": "boolean",
"description": "If true, permanently deletes all data. Default: false (soft delete).",
"default": false
}
},
"required": [
"session_id"
]
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}🟢palim_help(category)
Show an overview of all available Palim tools and usage instructions.
輸入結構描述
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"all",
"sessions",
"search",
"memory",
"setup",
"encryption"
],
"description": "Filter by category. Default: all."
}
},
"required": []
}輸出結構描述
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Human-readable tool result text."
}
},
"required": [
"message"
],
"additionalProperties": true
}社群
證據