Palim
Server Details
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
- Status
- Healthy
- Uptime
- 100.0% over 71 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- joleschmidt/palim-mcp-examples
- GitHub Stars
- 0
- Server Listing
- palim-mcp-examples
TDQS
Scored across 11 tools
Several tools share overlapping purposes: palim_checkpoint and palim_save_context are both framed as 'checkpoints'/'handoffs', and palim_get_context, palim_search, and palim_resume all retrieve prior session content with blurry boundaries. Descriptions do attempt to differentiate (lightweight vs. full transcript, distilled profile vs. topic search), but an agent could still hesitate between checkpoint/save_context and get_context/search.
All tools share the palim_ prefix and a mostly verb_noun pattern (add_memory, delete_session, get_brain, save_session). A few tools drop the noun (checkpoint, resume, search, help), a minor deviation but overall predictable and readable.
11 tools is well-scoped for a memory/session persistence server, with each operation (store, retrieve, search, delete, resume, checkpoint, help) earning a distinct place. No bloat or glaring redundancy in count.
Core lifecycle is covered: create (save/add), read (get/search/resume/brain), and delete for both sessions and memories. However, update operations are absent from the surface, and palim_save_session references palim_update_session_metadata and palim_update_session_references, which are not present as actual tools—a minor dead end an agent could hit.
Available Tools
11 toolspalim_add_memoryBInspect
Store a memory, fact, decision, or preference for later retrieval.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags for categorization | |
| type | Yes | Type of memory | |
| content | Yes | Content of the memory | |
| metadata | No | Additional metadata | |
| source_session_id | No | Optional reference to source session |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-and-safe profile is covered structurally. The description adds nothing beyond that: it does not mention idempotency behavior, duplicate handling, persistence scope, or auth requirements, despite idempotentHint=false making duplicate-write behavior a real question.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler and the write purpose stated immediately. It is efficient, though the brevity is partly what leaves the usage and behavioral gaps unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and 100% schema coverage plus annotations carry the structural weight. The description is adequate for invoking the tool correctly, with the only real gap being when-to-use routing among the many sibling save/checkpoint/search tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (content, type, tags, metadata, source_session_id) are already documented in the schema. The description names a few memory categories that partly mirror the type enum but adds no format, constraint, or interaction detail beyond the schema, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Store) and resource (memory, fact, decision, preference), so the agent understands this is a write operation for persisting knowledge. It clearly contrasts in nature with read-oriented siblings like palim_search or palim_get_context, but never names an alternative explicitly, keeping it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for later retrieval' weakly implies the purpose, but there is no guidance on when to choose this tool over palim_save_context, palim_checkpoint, or palim_save_session, nor any stated exclusions or prerequisites. The agent must infer the routing decision entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_checkpointCIdempotentInspect
Call after connecting AND again after each meaningful chunk of work. Claude Code: reuse claude-code-.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional search tags. | |
| title | No | Chat title when visible. | |
| origin | No | human (default) or automation (hooks/cron). | |
| status | No | Optional status, e.g. laufend or abgeschlossen. | |
| context | Yes | Handoff another AI can continue from: goal, state, constraints, next steps. | |
| project | No | Optional project name. | |
| created_at | No | Optional ISO 8601 chat date from the client. | |
| key_topics | No | Main topics. | |
| open_items | No | Open tasks. | |
| session_id | No | Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>. | |
| source_urls | No | Optional URLs. | |
| tool_source | No | Client: cursor, claude, chatgpt, … Optional; defaults from the MCP client name, else unknown. | |
| continues_from | No | Optional session_id from palim_resume that this chat continues. | |
| decisions_made | No | Decisions in this chat. | |
| referenced_files | No | Relevant files. | |
| resolved_open_items | No | Previously open items that are now done; quote a leading fragment. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false. The description adds one behavioral detail consistent with those annotations — reusing the session_id updates a single row (upsert) — but says nothing about what gets overwritten, permission needs, or the effect of omitting session_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no padding, so it is not verbose. But the brevity is under-specification rather than economical conciseness — the sentences carry usage timing while omitting the tool's purpose entirely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter persistence tool with many siblings performing similar saves, the description omits what a checkpoint is, what the context field should contain beyond the bare schema hint, and how it relates to palim_resume/palim_save_context. Output-schema coverage excuses return-value explanation, but the write-side guidance is still thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents all 16 parameters, including the session_id reuse convention. The description's only parameter remark ('reuse claude-code-<client session id>') repeats what the schema already states, so it adds no meaning beyond structured fields. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what the tool does — it only says when to call it ('after connecting AND again after each meaningful chunk of work'). An agent must infer from the name/title that this writes a checkpoint record. It does not distinguish the tool from its near-identical siblings palim_save_context, palim_save_session, or palim_add_memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete timing ('after connecting AND again after each meaningful chunk of work'), which is genuine when-to-use guidance. However, it names no alternatives and provides no when-not to use it, leaving the agent unable to choose between this and palim_save_context/palim_save_session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_delete_memoryADestructiveIdempotentInspect
Permanently delete one stored memory by ID. Use for user-requested cleanup or deletion; this cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| memory_id | Yes | ID of the memory to permanently delete |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered structurally. The description still adds the concrete consequence that the deletion is permanent and irreversible, which is useful context beyond the boolean hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the action and scope front-loaded and the irreversibility warning immediately after. No filler or restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety semantics. Only minor gaps remain, such as behavior when the ID does not exist or is already deleted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter's description ('ID of the memory to permanently delete') fully documents it. The tool description adds no syntax or format detail beyond what the schema already supplies, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Permanently delete one stored memory by ID'), which is immediately actionable. It implicitly distinguishes from palim_delete_session via the 'memory' resource, but never names or contrasts the sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use for user-requested cleanup or deletion' gives a clear triggering context, and 'this cannot be undone' warns against casual use. It stops short of naming when-not to use it or pointing to an alternative for session/context deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_delete_sessionADestructiveIdempotentInspect
Delete a chat session. Soft delete by default (reversible). Use hard_delete=true for permanent deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | The session ID to delete | |
| hard_delete | No | If true, permanently deletes all data. Default: false (soft delete). |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds the genuinely useful behavioral fact that the default path is a reversible soft delete and only hard_delete=true destroys data permanently, which the annotations alone cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and default behavior, then the opt-in for permanence. Every sentence carries distinct information and none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema and full annotation coverage, the description supplies everything needed to call it correctly, including which mode is destructive. It stops short of noting any side effects on related data (memories, context) that a session deletion might cascade to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, including the default for hard_delete. The description restates that same soft/hard dichotomy without adding format, identifier, or response details, so it sits at the baseline for a fully covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a chat session') and immediately scopes the operation by naming the two deletion modes. It is clearly distinguishable from siblings like palim_delete_memory or palim_save_session, whose resources are memory and session creation respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit condition for selecting the harder mode ('Use hard_delete=true for permanent deletion'), and frames the default as reversible. It does not, however, say when an agent should delete a session at all versus using palim_save_session or palim_checkpoint, so no cross-tool routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_get_brainARead-onlyIdempotentInspect
Distilled knowledge profile. No args: recent topic index (capped). With topic: full document. Pass limit for a larger or full index.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max topics in the index (most recently updated first). Default 20 when omitted. Pass 0 for every topic. | |
| topic | No | Optional topic slug or name. When set, returns the full topic document instead of the index. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the index is capped by default and can be expanded, which is modest extra context, but it says nothing about size limits, rate behavior, or what 'distilled' implies about completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, front-loaded with the resource and mode behavior; nothing is padded. The telegraphic fragment style is efficient but slightly terse for an agent parsing mode semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is not required, and the description covers both call shapes adequately. The remaining gap is the absence of any guidance on choosing this over palim_get_context or palim_search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully, including defaults and the 0-for-everything case. The description's 'Pass limit for a larger or full index' merely restates schema content, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Distilled knowledge profile') and describes both operating modes: no args returns a topic index, with topic returns the full document. However, 'brain' is internal jargon and the description never distinguishes this from sibling tools like palim_get_context or palim_search, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains the two modes and what the limit parameter changes, which is useful conditional guidance. But it gives no when-to-use context relative to siblings such as palim_get_context, palim_search, or palim_resume, so routing remains an inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_get_contextARead-onlyIdempotentInspect
Get formatted context for a specific topic by searching and retrieving relevant sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by metadata tags (match any). | |
| topic | Yes | Topic to get context for. | |
| status | No | Optional filter by metadata.status (e.g. "laufend", "abgeschlossen"). | |
| project | No | Optional filter by project | |
| max_sessions | No | Maximum number of sessions to include (default: 3) |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the output is 'formatted context' assembled by searching and retrieving sessions, which is useful but modest; it says nothing about pagination, ordering, or how many results are returned when max_sessions is exceeded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the action, the output artifact, the scoping input, and the retrieval mechanism with no filler. Nothing in it is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, full parameter coverage, and annotations covering the safety profile, the description does not need to explain return values or side effects. It is nearly complete for a 5-parameter retrieval tool; the only real gap is the unstated relationship to sibling retrieval tools like palim_search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (tags, topic, status, project, max_sessions) is already documented in the schema with examples and a default. The description adds no syntax, format, or interaction detail beyond what the schema provides, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (get) and resource (formatted context for a topic) and even describes the mechanism (searching and retrieving relevant sessions). It is clear on what the tool produces, but it does not distinguish it from siblings like palim_search or palim_get_brain, whose names suggest overlapping retrieval behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'for a specific topic', which tells the agent the tool is topic-scoped. However, there is no explicit when-to-use/when-not guidance and no mention of alternatives such as palim_search or palim_resume, so the agent must infer the boundary between this and its retrieval siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_helpARead-onlyIdempotentInspect
Show an overview of all available Palim tools and usage instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category. Default: all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only that the payload is a tool overview plus usage instructions, which is modest supplementary context with no rate limits, auth needs, or side effects to disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and the returned content, no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the behavioral profile, so the description need not explain return values or safety. For a zero-required-parameter help tool it is essentially complete, with only the category-filtering affordance left solely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single category parameter is documented in the schema itself, including its enum values and default. The description adds no meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb ("Show") and resource ("overview of all available Palim tools and usage instructions"), which is unmistakably distinct from data-oriented siblings like palim_search or palim_add_memory. It is clear, though it does not explicitly name siblings to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the discovery/onboarding call, and the category enum hints at scoped lookups. There is no explicit when-to-use statement, no when-not-to-use, and no mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_resumeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| project | No | Optional: only consider threads belonging to this project (case-insensitive; Logisoft ≡ logisoft). | |
| tool_source | No | Optional: only consider threads from one client (cursor, claude, codex, chatgpt, ...). | |
| within_hours | No | Optional: ignore threads older than this many hours. Omit to always return the latest thread. | |
| include_messages | No | Optional: append the tail of the transcript when the thread has stored messages. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description goes beyond that by disclosing that the returned thread may be unrelated and should be discarded, and that the project filter matches to the most recently updated thread — useful behavior an agent would otherwise have to infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with purpose and the calling instruction, with zero padding. The final sentence on project filtering partly duplicates the schema description, costing a bit of density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and all four params are schema-documented. The description covers the primary calling pattern and a fallback rule; what's left out (no-thread behavior, how the resume interacts with session state) is minor for a read-only resumption helper.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four optional params are already documented. The description restates the project filter's case-insensitive, most-recently-updated matching (which the schema already says) and says 'no args', adding little beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Continue the user's most recent Palim thread.' The scope ('most recent') is precise, but it never names a sibling (e.g., palim_get_context, palim_search) to distinguish itself from the other thread/context retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call first in a new chat, no args' gives explicit timing guidance and a calling pattern, and 'Ignore the result if it is unrelated' tells the agent how to handle an off-target result. No alternatives or when-not-to-use conditions are named, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_save_contextAIdempotentInspect
Lightweight checkpoint: self-contained handoff, no transcript. Reuse session_id in this chat. Proactive after results and decisions, not only once.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional search tags. | |
| title | No | Chat title when visible. | |
| origin | No | human (default) or automation (hooks/cron). | |
| status | No | Optional status, e.g. laufend or abgeschlossen. | |
| context | Yes | Handoff another AI can continue from: goal, state, constraints, next steps. | |
| project | No | Optional project name. | |
| created_at | No | Optional ISO 8601 chat date from the client. | |
| key_topics | No | Main topics. | |
| open_items | No | Open tasks. | |
| session_id | No | Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>. | |
| source_urls | No | Optional URLs. | |
| tool_source | No | Client: cursor, claude, chatgpt, … Optional; defaults from the MCP client name, else unknown. | |
| continues_from | No | Optional session_id from palim_resume that this chat continues. | |
| decisions_made | No | Decisions in this chat. | |
| referenced_files | No | Relevant files. | |
| resolved_open_items | No | Previously open items that are now done; quote a leading fragment. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotent=true, destructive=false and readOnly=false, so the safety profile is covered. The description adds real behavioral context beyond them: what is stored ('no transcript', self-contained handoff) and that repeated calls should reuse session_id to update one row rather than create duplicates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short fragments, no filler: what it is, the key operational constraint, and when to invoke it. Purpose and the session_id instruction are front-loaded before the timing advice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the schema covers all parameters. The description supplies purpose and cadence but leaves the relationship to palim_save_session, palim_checkpoint and palim_resume unstated, which matters given the crowded sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 16 parameters are already documented in the schema, including the session_id reuse semantics and the origin enum. The description adds no format or syntax detail beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and scope: a lightweight checkpoint that produces a 'self-contained handoff, no transcript.' This distinguishes it in substance from a transcript-heavy sibling like palim_save_session, but it never names that sibling or any other, so the agent must infer the contrast from the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete timing guidance ('Proactive after results and decisions, not only once') and an operational instruction ('Reuse session_id in this chat'), which is more than most definitions offer. It stops short of naming alternatives (palim_save_session, palim_checkpoint) or stating when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_save_sessionADestructiveInspect
Save or append a full chat transcript (messages + summary). Exclude children's personal data under 16/higher consent age, HIPAA PHI, PCI payment card data, and adult content; request redaction before saving. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Session title. Reuse across saves; else the exact chat title from the client UI. | |
| summary | No | Full-conversation summary. Required arrays may be empty. | |
| messages | Yes | Messages to save (role + content). When appending, only unsaved messages. | |
| metadata | No | Session metadata. tool_source is required. | |
| overwrite | No | Replace all existing messages instead of appending. Default: false. | |
| created_at | No | Optional ISO 8601 creation date from the AI client (new sessions only). | |
| session_id | No | Session id. Reuse across saves in this chat; else from chat URL or a new UUID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag destructiveHint/openWorldHint/readOnlyHint; the description goes well beyond by defining what is destroyed (overwrite replaces all existing messages vs. append), mandating pre-save redaction, and enumerating prohibited content classes (under-16, HIPAA PHI, PCI, adult content). That is substantive behavioral context an agent could not derive from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, then routing, then compliance, then append procedure — each sentence carries distinct operational value with no restatement of the name or schema text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, nested-schema, multi-mode save tool with an output schema present, the description covers mode selection (append vs overwrite), call sequencing, compliance preconditions and sibling routing without needing to describe return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents title, summary shape, messages, metadata and overwrite; baseline is 3. The description adds cross-call semantics the schema does not carry — reuse session_id/title across saves, fetch existing messages before appending, and always supply a complete summary plus metadata.tool_source — which is genuinely useful but partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource pair ('Save or append a full chat transcript') and immediately scopes what the resource contains (messages + summary). It explicitly distinguishes itself from palim_save_context, palim_update_session_metadata and palim_update_session_references, so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use alternatives ('Prefer palim_save_context for compact handoffs', 'For metadata-only or URL updates use palim_update_session_metadata / palim_update_session_references') plus the append recipe (reuse session_id + title, fetch existing messages first, send only new ones). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palim_searchARead-onlyIdempotentInspect
Search saved sessions and memories. Query matches session text or memory content/id. Supports metadata filtering via tags/project/status/tool_source. Omit query for tags-only or project-only session filtering. Project match is case-insensitive.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by metadata tags (match any). | |
| limit | No | Maximum number of results (default: 5) | |
| query | No | Full-text search query. Omit for tags-only or project-only filtering. | |
| status | No | Optional filter by metadata.status (e.g. "laufend", "abgeschlossen", "referenz", "archiviert"). | |
| project | No | Optional case-insensitive project filter (Logisoft ≡ logisoft). Allowed without query or tags. | |
| tool_source | No | Optional explicit filter by tool source (cursor, claude, chatgpt, web, etc.). |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable tool result text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the safety bar is low. The description adds genuinely new behavioral context: the query matches session text or memory content/id, and project matching is case-insensitive. It does not describe result ordering or how sessions and memories are merged in the result set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with purpose before filtering details, with no filler. Slightly dense but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. For a read-only search over two resource types, the definition covers matching semantics and no-query modes; the one gap is how the two result types are combined or ordered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents every parameter including case-insensitive project matching. The description repeats the case-insensitivity and adds matching-scope context for query, but contributes little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and the resources it covers (saved sessions and memories), plus what the query matches against. It does not name or differentiate from siblings like palim_get_context or palim_resume, but the scope is unambiguous from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete calling condition: 'Omit query for tags-only or project-only session filtering,' which tells the agent how to use the tool in filter-only mode. It stops short of saying when to prefer this over sibling retrieval tools such as palim_get_context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
palim_checkpoint2 fields changed- changed
Input schema / properties / tool_source / descriptionPrevious value: -"Client: cursor, claude, chatgpt, …"New value: +"Client: cursor, claude, chatgpt, … Optional; defaults from the MCP client name, else unknown." - changed
Input schema / requiredPrevious value: -[ - "context", - "tool_source" -]New value: +[ + "context" +]
- Changed
palim_save_context2 fields changed- changed
Input schema / properties / tool_source / descriptionPrevious value: -"Client: cursor, claude, chatgpt, …"New value: +"Client: cursor, claude, chatgpt, … Optional; defaults from the MCP client name, else unknown." - changed
Input schema / requiredPrevious value: -[ - "context", - "tool_source" -]New value: +[ + "context" +]
1 tool update
- Added
palim_delete_memory
2 tool updates
- Changed
palim_resume1 field changed- changed
Input schema / properties / project / descriptionPrevious value: -"Optional: only consider threads belonging to this project."New value: +"Optional: only consider threads belonging to this project (case-insensitive; Logisoft ≡ logisoft)."
- Changed
palim_search2 fields changed- changed
Input schema / properties / project / descriptionPrevious value: -"Optional filter by project"New value: +"Optional case-insensitive project filter (Logisoft ≡ logisoft). Allowed without query or tags." - changed
Input schema / properties / query / descriptionPrevious value: -"Full-text search query. Omit for tags-only filtering."New value: +"Full-text search query. Omit for tags-only or project-only filtering."
1 tool update
- Added
palim_checkpoint
3 tool updates
- Added
palim_delete_session - Removed
palim_preview_session_tag_cleanup - Added
palim_save_session
1 tool update
- Changed
palim_get_brain1 field changed- added
Input schema / properties / limitAdded value: +{ + "description": "Max topics in the index (most recently updated first). Default 20 when omitted. Pass 0 for every topic.", + "type": "number" +}
2 tool updates
- Removed
palim_delete_session - Added
palim_preview_session_tag_cleanup
38 tool updates
- Removed
palim_add_user_rule - Removed
palim_backfill_blind_index - Removed
palim_backfill_brain - Removed
palim_browse_sessions - Removed
palim_clean_session_tags - Removed
palim_create_connection_url - Removed
palim_create_summary - Removed
palim_delete_memory - Removed
palim_delete_user_rule - Removed
palim_export_brain - Removed
palim_export_session - Removed
palim_find_similar - Removed
palim_get_session - Removed
palim_get_sessions - Removed
palim_get_stats - Removed
palim_get_summary - Removed
palim_get_user_context - Removed
palim_get_user_profile - Removed
palim_list_sessions - Removed
palim_list_summaries - Removed
palim_list_user_rules - Removed
palim_login - Removed
palim_logout - Removed
palim_migrate_encryption - Removed
palim_register - Removed
palim_repair_brain_hooks - Changed
palim_save_context14 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Concise but self-contained handoff: goal, relevant background, work completed, current state, constraints, and next steps. Write it so another AI can continue without the transcript."New value: +"Handoff another AI can continue from: goal, state, constraints, next steps." - changed
Input schema / properties / continues_from / descriptionPrevious value: -"Optional. session_id of the thread this chat continues, as reported by palim_resume. Keep your own new session_id; this only records the link."New value: +"Optional session_id from palim_resume that this chat continues." - changed
Input schema / properties / created_at / descriptionPrevious value: -"Optional chat creation date from the AI client (ISO 8601)."New value: +"Optional ISO 8601 chat date from the client." - changed
Input schema / properties / decisions_made / descriptionPrevious value: -"Decisions reached in this chat."New value: +"Decisions in this chat." - changed
Input schema / properties / key_topics / descriptionPrevious value: -"Main topics covered."New value: +"Main topics." - changed
Input schema / properties / open_items / descriptionPrevious value: -"Remaining tasks or unresolved questions."New value: +"Open tasks." - changed
Input schema / properties / origin / descriptionPrevious value: -"Who produced this checkpoint. Use \"automation\" for scheduled routines, cron jobs and capture hooks — anything saved without a human in the loop. Defaults to \"human\". Automated saves are counted separately in palim_get_stats so they cannot be mistaken for real usage."New value: +"human (default) or automation (hooks/cron)." - changed
Input schema / properties / referenced_files / descriptionPrevious value: -"Relevant files or resources."New value: +"Relevant files." - changed
Input schema / properties / resolved_open_items / descriptionPrevious value: -"Open items from earlier sessions on this topic that are now DONE. Quote the wording of the item (a leading fragment is enough); it is moved out of Open Items into a dated Resolved section. Use this whenever a chat finishes something previously listed as open, otherwise the worklist keeps showing completed work."New value: +"Previously open items that are now done; quote a leading fragment." - changed
Input schema / properties / session_id / descriptionPrevious value: -"Stable chat ID, reused for every checkpoint in this chat so the record is updated instead of duplicated. In Claude Code / Codex use `claude-code-<the client session id>` — the Stop hook keeps that same row's live tail current, and sharing the ID keeps your handoff and that tail on one row. Otherwise reuse the ID returned by your first checkpoint in this chat."New value: +"Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>." - changed
Input schema / properties / source_urls / descriptionPrevious value: -"Optional chat URL and referenced URLs."New value: +"Optional URLs." - changed
Input schema / properties / status / descriptionPrevious value: -"Optional lifecycle status such as laufend or abgeschlossen."New value: +"Optional status, e.g. laufend or abgeschlossen." - changed
Input schema / properties / title / descriptionPrevious value: -"Exact chat title when visible. Omit if unavailable; Palim derives a short title from context."New value: +"Chat title when visible." - changed
Input schema / properties / tool_source / descriptionPrevious value: -"AI platform this chat originates from, for example codex, cursor, claude, chatgpt, gemini, perplexity, granola, or web."New value: +"Client: cursor, claude, chatgpt, …"
- Removed
palim_save_session - Removed
palim_search_by_date_range - Removed
palim_search_memories - Removed
palim_set_user_context - Removed
palim_show_session - Removed
palim_update_brain_topic - Removed
palim_update_memory - Removed
palim_update_session_metadata - Removed
palim_update_session_references - Removed
palim_update_user_profile - Removed
palim_update_user_rule
45 tool updates
- Changed
palim_add_memory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_add_user_rule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_backfill_blind_index1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_backfill_brain1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_browse_sessions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_clean_session_tags1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_create_connection_url1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_create_summary1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_delete_memory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_delete_session1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_delete_user_rule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_export_brain1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_export_session1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_find_similar1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_brain1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_context1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_session1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_sessions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_stats1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_summary1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_user_context1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_get_user_profile1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_help1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_list_sessions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_list_summaries1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_list_user_rules1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_login1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_logout1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_migrate_encryption1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_register1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_repair_brain_hooks1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_resume1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_save_context1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_save_session1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_search1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_search_by_date_range1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_search_memories1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_set_user_context1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_show_session1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_update_brain_topic1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_update_memory1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_update_session_metadata1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_update_session_references1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_update_user_profile1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
- Changed
palim_update_user_rule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "message": { + "description": "Human-readable tool result text.", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" +}
45 tool updates
- First observed
palim_add_memory - First observed
palim_add_user_rule - First observed
palim_backfill_blind_index - First observed
palim_backfill_brain - First observed
palim_browse_sessions - First observed
palim_clean_session_tags - First observed
palim_create_connection_url - First observed
palim_create_summary - First observed
palim_delete_memory - First observed
palim_delete_session - First observed
palim_delete_user_rule - First observed
palim_export_brain - First observed
palim_export_session - First observed
palim_find_similar - First observed
palim_get_brain - First observed
palim_get_context - First observed
palim_get_session - First observed
palim_get_sessions - First observed
palim_get_stats - First observed
palim_get_summary - First observed
palim_get_user_context - First observed
palim_get_user_profile - First observed
palim_help - First observed
palim_list_sessions - First observed
palim_list_summaries - First observed
palim_list_user_rules - First observed
palim_login - First observed
palim_logout - First observed
palim_migrate_encryption - First observed
palim_register - First observed
palim_repair_brain_hooks - First observed
palim_resume - First observed
palim_save_context - First observed
palim_save_session - First observed
palim_search - First observed
palim_search_by_date_range - First observed
palim_search_memories - First observed
palim_set_user_context - First observed
palim_show_session - First observed
palim_update_brain_topic - First observed
palim_update_memory - First observed
palim_update_session_metadata - First observed
palim_update_session_references - First observed
palim_update_user_profile - First observed
palim_update_user_rule
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
- ContexelOAuthai.contexel
Shared AI memory. ChatGPT, Claude, Cursor and any MCP app read and write the same memory.
One memory for all your AI tools: Claude, ChatGPT, Cursor and any MCP client share the same notes.
Related MCP Servers
- AlicenseAqualityDmaintenancePersistent memory API for AI agents — store, recall, and inject semantically-searchable context across sessions. EU-hosted, GDPR-compliant. Supports Claude, Cursor, Cline, and any MCP-compatible client.42MIT
- AlicenseAqualityAmaintenancePersistent AI memory for Claude Code, Cursor, GitHub Copilot & Windsurf — sessions, lessons learned, semantic search, and team brain. 38 MCP tools. Free tier, EU servers.122349 npm2Apache 2.0
- AlicenseNot gradedqualityBmaintenancePersistent project memory and task management for AI coding agents through MCP. Lets Claude Code, Cursor, Codex and other MCP clients save decisions and bug fixes, search relevant context, and reuse it across sessions.1MIT
- AlicenseAqualityDmaintenanceMCP server for persistent, semantic memory across AI sessions; store context, decisions, and learnings and recall them with natural language search.219 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.