← The evidence ledger
Evidence row 236730
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint b547354b-0aeb-4fa2-b3c5-d8f01e1b3277
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 931c34c6a3d7047df8b80f613710239117e90226f7d04c9012e4a5b3677b9c81
- Leaf
- 0x5c67d9506c76ca41dbf29b393e6805d11367c9b611dc5110d056c3204a5f4a4a
What was observed
{
"count": 11,
"tools": [
{
"description": "Store a memory, fact, decision, or preference for later retrieval.",
"inputSchema": {
"properties": {
"content": {
"description": "Content of the memory",
"type": "string"
},
"metadata": {
"description": "Additional metadata",
"type": "object"
},
"source_session_id": {
"description": "Optional reference to source session",
"type": "string"
},
"tags": {
"description": "Tags for categorization",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "Type of memory",
"enum": [
"fact",
"decision",
"preference",
"insight",
"note"
],
"type": "string"
}
},
"required": [
"content",
"type"
],
"type": "object"
},
"name": "palim_add_memory"
},
{
"description": "Call after connecting AND again after each meaningful chunk of work. Claude Code: reuse claude-code-<client session id>.",
"inputSchema": {
"properties": {
"context": {
"description": "Handoff another AI can continue from: goal, state, constraints, next steps.",
"type": "string"
},
"continues_from": {
"description": "Optional session_id from palim_resume that this chat continues.",
"type": "string"
},
"created_at": {
"description": "Optional ISO 8601 chat date from the client.",
"type": "string"
},
"decisions_made": {
"description": "Decisions in this chat.",
"items": {
"type": "string"
},
"type": "array"
},
"key_topics": {
"description": "Main topics.",
"items": {
"type": "string"
},
"type": "array"
},
"open_items": {
"description": "Open tasks.",
"items": {
"type": "string"
},
"type": "array"
},
"origin": {
"description": "human (default) or automation (hooks/cron).",
"enum": [
"human",
"automation"
],
"type": "string"
},
"project": {
"description": "Optional project name.",
"type": "string"
},
"referenced_files": {
"description": "Relevant files.",
"items": {
"type": "string"
},
"type": "array"
},
"resolved_open_items": {
"description": "Previously open items that are now done; quote a leading fragment.",
"items": {
"type": "string"
},
"type": "array"
},
"session_id": {
"description": "Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>.",
"type": "string"
},
"source_urls": {
"description": "Optional URLs.",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "Optional status, e.g. laufend or abgeschlossen.",
"type": "string"
},
"tags": {
"description": "Optional search tags.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "Chat title when visible.",
"type": "string"
},
"tool_source": {
"description": "Client: cursor, claude, chatgpt, … Optional; defaults from the MCP client name, else unknown.",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "palim_checkpoint"
},
{
"description": "Permanently delete one stored memory by ID. Use for user-requested cleanup or deletion; this cannot be undone.",
"inputSchema": {
"properties": {
"memory_id": {
"description": "ID of the memory to permanently delete",
"type": "string"
}
},
"required": [
"memory_id"
],
"type": "object"
},
"name": "palim_delete_memory"
},
{
"description": "Delete a chat session. Soft delete by default (reversible). Use hard_delete=true for permanent deletion.",
"inputSchema": {
"properties": {
"hard_delete": {
"default": false,
"description": "If true, permanently deletes all data. Default: false (soft delete).",
"type": "boolean"
},
"session_id": {
"description": "The session ID to delete",
"type": "string"
}
},
"required": [
"session_id"
],
"type": "object"
},
"name": "palim_delete_session"
},
{
"description": "Distilled knowledge profile. No args: recent topic index (capped). With topic: full document. Pass limit for a larger or full index.",
"inputSchema": {
"properties": {
"limit": {
"description": "Max topics in the index (most recently updated first). Default 20 when omitted. Pass 0 for every topic.",
"type": "number"
},
"topic": {
"description": "Optional topic slug or name. When set, returns the full topic document instead of the index.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "palim_get_brain"
},
{
"description": "Get formatted context for a specific topic by searching and retrieving relevant sessions.",
"inputSchema": {
"properties": {
"max_sessions": {
"default": 3,
"description": "Maximum number of sessions to include (default: 3)",
"type": "number"
},
"project": {
"description": "Optional filter by project",
"type": "string"
},
"status": {
"description": "Optional filter by metadata.status (e.g. \"laufend\", \"abgeschlossen\").",
"type": "string"
},
"tags": {
"description": "Filter by metadata tags (match any).",
"items": {
"type": "string"
},
"type": "array"
},
"topic": {
"description": "Topic to get context for.",
"type": "string"
}
},
"required": [
"topic"
],
"type": "object"
},
"name": "palim_get_context"
},
{
"description": "Show an overview of all available Palim tools and usage instructions.",
"inputSchema": {
"properties": {
"category": {
"description": "Filter by category. Default: all.",
"enum": [
"all",
"sessions",
"search",
"memory",
"setup",
"encryption"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "palim_help"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"include_messages": {
"description": "Optional: append the tail of the transcript when the thread has stored messages. Default false.",
"type": "boolean"
},
"project": {
"description": "Optional: only consider threads belonging to this project (case-insensitive; Logisoft ≡ logisoft).",
"type": "string"
},
"tool_source": {
"description": "Optional: only consider threads from one client (cursor, claude, codex, chatgpt, ...).",
"type": "string"
},
"within_hours": {
"description": "Optional: ignore threads older than this many hours. Omit to always return the latest thread.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "palim_resume"
},
{
"description": "Lightweight checkpoint: self-contained handoff, no transcript. Reuse session_id in this chat. Proactive after results and decisions, not only once.",
"inputSchema": {
"properties": {
"context": {
"description": "Handoff another AI can continue from: goal, state, constraints, next steps.",
"type": "string"
},
"continues_from": {
"description": "Optional session_id from palim_resume that this chat continues.",
"type": "string"
},
"created_at": {
"description": "Optional ISO 8601 chat date from the client.",
"type": "string"
},
"decisions_made": {
"description": "Decisions in this chat.",
"items": {
"type": "string"
},
"type": "array"
},
"key_topics": {
"description": "Main topics.",
"items": {
"type": "string"
},
"type": "array"
},
"open_items": {
"description": "Open tasks.",
"items": {
"type": "string"
},
"type": "array"
},
"origin": {
"description": "human (default) or automation (hooks/cron).",
"enum": [
"human",
"automation"
],
"type": "string"
},
"project": {
"description": "Optional project name.",
"type": "string"
},
"referenced_files": {
"description": "Relevant files.",
"items": {
"type": "string"
},
"type": "array"
},
"resolved_open_items": {
"description": "Previously open items that are now done; quote a leading fragment.",
"items": {
"type": "string"
},
"type": "array"
},
"session_id": {
"description": "Stable chat ID. Reuse it so checkpoints update one row. Claude Code/Codex: claude-code-<client session id>.",
"type": "string"
},
"source_urls": {
"description": "Optional URLs.",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "Optional status, e.g. laufend or abgeschlossen.",
"type": "string"
},
"tags": {
"description": "Optional search tags.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "Chat title when visible.",
"type": "string"
},
"tool_source": {
"description": "Client: cursor, claude, chatgpt, … Optional; defaults from the MCP client name, else unknown.",
"type": "string"
}
},
"required": [
"context"
],
"type": "object"
},
"name": "palim_save_context"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"created_at": {
"description": "Optional ISO 8601 creation date from the AI client (new sessions only).",
"type": "string"
},
"messages": {
"description": "Messages to save (role + content). When appending, only unsaved messages.",
"items": {
"properties": {
"content": {
"description": "Message content",
"type": "string"
},
"role": {
"description": "Sender role. \"model\" maps to \"assistant\".",
"enum": [
"user",
"assistant",
"system",
"model"
],
"type": "string"
}
},
"required": [
"role",
"content"
],
"type": "object"
},
"type": "array"
},
"metadata": {
"description": "Session metadata. tool_source is required.",
"properties": {
"origin": {
"description": "Producer: automation for cron/routines without a human; default human.",
"enum": [
"human",
"automation"
],
"type": "string"
},
"project": {
"type": "string"
},
"source_urls": {
"description": "Related URLs (chat link, sources).",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "Lifecycle: laufend | abgeschlossen | referenz | archiviert.",
"type": "string"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"tool_source": {
"description": "AI platform this session originates from.",
"enum": [
"cursor",
"claude",
"chatgpt",
"gemini",
"perplexity",
"copilot",
"bing",
"web"
],
"type": "string"
}
},
"required": [
"tool_source"
],
"type": "object"
},
"overwrite": {
"description": "Replace all existing messages instead of appending. Default: false.",
"type": "boolean"
},
"session_id": {
"description": "Session id. Reuse across saves in this chat; else from chat URL or a new UUID.",
"type": "string"
},
"summary": {
"description": "Full-conversation summary. Required arrays may be empty.",
"properties": {
"decisions_made": {
"description": "Decisions reached during the conversation.",
"items": {
"type": "string"
},
"type": "array"
},
"key_topics": {
"description": "3-5 main topics discussed.",
"items": {
"type": "string"
},
"type": "array"
},
"open_items": {
"description": "Open tasks or questions remaining.",
"items": {
"type": "string"
},
"type": "array"
},
"referenced_files": {
"description": "Files, paths, or key concepts referenced.",
"items": {
"type": "string"
},
"type": "array"
},
"resolved_open_items": {
"description": "Prior open items now done (quote wording); moved into Resolved.",
"items": {
"type": "string"
},
"type": "array"
},
"summary_text": {
"description": "2-5 sentence summary of the entire conversation.",
"type": "string"
},
"user_insights": {
"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.",
"type": "object"
}
},
"required": [
"summary_text",
"key_topics",
"open_items",
"decisions_made",
"referenced_files"
],
"type": "object"
},
"title": {
"description": "Session title. Reuse across saves; else the exact chat title from the client UI.",
"type": "string"
}
},
"required": [
"title",
"messages"
],
"type": "object"
},
"name": "palim_save_session"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"limit": {
"default": 5,
"description": "Maximum number of results (default: 5)",
"type": "number"
},
"project": {
"description": "Optional case-insensitive project filter (Logisoft ≡ logisoft). Allowed without query or tags.",
"type": "string"
},
"query": {
"description": "Full-text search query. Omit for tags-only or project-only filtering.",
"type": "string"
},
"status": {
"description": "Optional filter by metadata.status (e.g. \"laufend\", \"abgeschlossen\", \"referenz\", \"archiviert\").",
"type": "string"
},
"tags": {
"description": "Filter by metadata tags (match any).",
"items": {
"type": "string"
},
"type": "array"
},
"tool_source": {
"description": "Optional explicit filter by tool source (cursor, claude, chatgpt, web, etc.).",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "palim_search"
}
]
}What the leaf hashes
{"body":"931c34c6a3d7047df8b80f613710239117e90226f7d04c9012e4a5b3677b9c81","id":236730,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793028963969653,"prev":null,"subject":"b547354b-0aeb-4fa2-b3c5-d8f01e1b3277","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x5c681ba28e45db207e122bd09d896186f466cd79ebd3347fd1c2b120a1341500
- 0x287714a8f9472b91171584ce5cd044a611c74896b608fd361ffef61e27521cb5
- 0x85571a84877150d49ed090155a9a64219d5a88dc2f97584fdd4c448ce79205f2
- 0xac9b60b9490fb295027aa8b826e68d9e4783850b288f02bbc0a6634be8aae90e
- 0x2e484644b3f3ed4c94ffcc2c9dcd3b38e94c320f83bd28d9014faddec8f2479e
- 0xce1fd9fcd27124e03740bf8ba795a92770bdf5104b8ae225c7a3c86f4db2b330
- 0x10efd231665c98410c957e09d592be0d64c4deaa4e6f3028e5d7cfd7bf0b395f
- 0xe062595deb19893b44bb360d025129ccbcd101147e43d5f83cb1da3be2845e9c
- 0x13220318983947825aa347852018f28bc5d9dfa7ace868b9d65e7d6b238a6e1a
- 0xa8ffcda5ce803e6416e11aeb68f113e4b6fd6bc8a9d891a50b9f815e09eedb9f
- 0xc6d2784f07e8c139bf8f780cbae14d0deadd031c795b132568f433e9f582c7d3
- 0x2121cc2dbcb8663af57743dc445c8a59e5bbfffe89703f0606c9843f0d35aff8
- 0x66883b42f4167ade51c4909f050c5478524e23786fb0b5c48bd1a53580960a68
- 0x216cebb9ae5414599109a02297c4817d7d1c6b1394afeb97efe38e32f0053974
- 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
- 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
- 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae