{"serverId":"mcp-registry/io.github.peteratpondo/kit-memory-demo","tools":[{"name":"presence","fixed":{"name":"presence","description":"Read live Lady Whiskerdown facet presence within the requested window.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"to":{"type":"string","description":"Delivery address of a live session, taken from this tool's own facets list. Sends instead of reading. The address is issued by the server and bound to the session that holds it; a session id is not an address and will not be accepted as one."},"scope":{"enum":["work","personal","general","all"],"type":"string","description":"Which conversations to include. Defaults to work, which withholds personal threads."},"message":{"type":"string","description":"At most 400 characters, delivered in full in that session's next presence check or memory-read footer, quoted as another session's words. Sending means queued, not confirmed read. Nothing wakes or spawns; quiet sessions are refused and unread messages expire after 30 minutes."},"kit_session_id":{"type":"string","pattern":"^[A-Za-z0-9:_-]+$","maxLength":160,"minLength":8,"description":"Your own session ID from wake; reuse for this conversation. A child or subagent must wake separately, without its parent's ID."},"window_minutes":{"type":"integer","description":"Live window in minutes. Defaults to 30. Maximum 1440."}},"additionalProperties":false},"annotations":{"title":"Reading presence","readOnlyHint":true},"title":"Reading presence"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":375,"tokensAfter":375},{"name":"ranking_compare","fixed":{"name":"ranking_compare","description":"Compare search ranking for a query with and without the recently learned boost. Returns every row whose rank or score changes, with baseline rank, boosted rank, position delta, score delta, sample source, boost window, and units.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"tier":{"type":"string","description":"Optional memory tier filter"},"limit":{"type":"number","description":"Max candidate rows to compare, default 50 and capped by the API at 100"},"query":{"type":"string","description":"Search query to compare over the real caller-scoped memory sample"},"project":{"type":"string","description":"Optional project filter"},"surface":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Optional surface filter"},"category":{"type":"string","description":"Optional memory category filter"},"kit_session_id":{"type":"string","pattern":"^[A-Za-z0-9:_-]+$","maxLength":160,"minLength":8,"description":"Your own session ID from wake; reuse for this conversation. A child or subagent must wake separately, without its parent's ID."}},"additionalProperties":false},"annotations":{"title":"kit_ranking_compare","readOnlyHint":true},"title":"kit_ranking_compare"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":339,"tokensAfter":339},{"name":"recall","fixed":{"name":"recall","description":"Search Lady Whiskerdown's archive. Use it first for anything Lady Whiskerdown should know. Returns the most relevant entries this key can read; cite each one you use as (Lady Whiskerdown:m#N) with its title.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"number","description":"How many to return. Leave it unset and the Kit returns the memories that cleared the relevance bar; set it for exactly that many."},"query":{"type":"string","description":"What to search for, in natural language"},"kit_session_id":{"type":"string","pattern":"^[A-Za-z0-9:_-]+$","maxLength":160,"minLength":8,"description":"Your own session ID from wake; reuse for this conversation. A child or subagent must wake separately, without its parent's ID."}},"additionalProperties":false},"annotations":{"title":"Finding things","readOnlyHint":true},"title":"Finding things"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":245,"tokensAfter":245},{"name":"remember","fixed":{"name":"remember","description":"Read a single Lady Whiskerdown memory by id (as returned by recall). No graph or entity enrichment: the receiver endpoint returns the memory itself, scoped to this key.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":["number","string"],"description":"Memory id (number or m#N as shown by recall), or a linked Kit's cite such as Shiro:m#1234"},"kit_session_id":{"type":"string","pattern":"^[A-Za-z0-9:_-]+$","maxLength":160,"minLength":8,"description":"Your own session ID from wake; reuse for this conversation. A child or subagent must wake separately, without its parent's ID."}},"additionalProperties":false},"annotations":{"title":"Reading a memory","readOnlyHint":true},"title":"Reading a memory"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":203,"tokensAfter":203},{"name":"wake","fixed":{"name":"wake","description":"Open Lady Whiskerdown, an archive you can question. Call this first in every new chat (VS Code/Copilot, Cursor, Claude Code, Codex), before the first substantive answer. It returns what Lady Whiskerdown is (`you_are`), which knowledge areas this key can see, which tools this key may use, and any rules its keeper has set. Lady Whiskerdown has no persona: keep your own identity and refer to it in the third person. For anything Lady Whiskerdown should know, call recall first instead of using genera","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"scope":{"enum":["work","personal","all"],"type":"string"},"kit_session_id":{"type":"string","pattern":"^[A-Za-z0-9:_-]+$","maxLength":160,"minLength":8,"description":"Your own session ID from wake; reuse for this conversation. A child or subagent must wake separately, without its parent's ID."}},"additionalProperties":false},"annotations":{"title":"Getting up to speed","readOnlyHint":true},"title":"Getting up to speed"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":266,"tokensAfter":266}],"toolsChanged":5,"tokensSaved":0,"todo":[{"tool":"wake","params":["scope"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}