Palim

Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.

사용해야 할까요

품질 및 안전성

A
설명 품질
93%
스키마 완전성
96%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'palim_add_memory' description lacks action verbpalim_add_memory에서
  • LOWTool 'palim_get_brain' description lacks action verbpalim_get_brain에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,264토큰 (도구 정의)
~3.0 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.55%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개
검증됨버전이 기록되지 않음도구 10개