addrbookFor publishers
← 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).

  1. 0x5c681ba28e45db207e122bd09d896186f466cd79ebd3347fd1c2b120a1341500
  2. 0x287714a8f9472b91171584ce5cd044a611c74896b608fd361ffef61e27521cb5
  3. 0x85571a84877150d49ed090155a9a64219d5a88dc2f97584fdd4c448ce79205f2
  4. 0xac9b60b9490fb295027aa8b826e68d9e4783850b288f02bbc0a6634be8aae90e
  5. 0x2e484644b3f3ed4c94ffcc2c9dcd3b38e94c320f83bd28d9014faddec8f2479e
  6. 0xce1fd9fcd27124e03740bf8ba795a92770bdf5104b8ae225c7a3c86f4db2b330
  7. 0x10efd231665c98410c957e09d592be0d64c4deaa4e6f3028e5d7cfd7bf0b395f
  8. 0xe062595deb19893b44bb360d025129ccbcd101147e43d5f83cb1da3be2845e9c
  9. 0x13220318983947825aa347852018f28bc5d9dfa7ace868b9d65e7d6b238a6e1a
  10. 0xa8ffcda5ce803e6416e11aeb68f113e4b6fd6bc8a9d891a50b9f815e09eedb9f
  11. 0xc6d2784f07e8c139bf8f780cbae14d0deadd031c795b132568f433e9f582c7d3
  12. 0x2121cc2dbcb8663af57743dc445c8a59e5bbfffe89703f0606c9843f0d35aff8
  13. 0x66883b42f4167ade51c4909f050c5478524e23786fb0b5c48bd1a53580960a68
  14. 0x216cebb9ae5414599109a02297c4817d7d1c6b1394afeb97efe38e32f0053974
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON