stdin: {"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"toolwitness","version":"s772-v0"},"protocolVersion":"2025-11-25"}} {"jsonrpc":"2.0","method":"notifications/initialized"} {"id":2,"jsonrpc":"2.0","method":"tools/list","params":{}} stdout: {"result":{"protocolVersion":"2025-11-25","capabilities":{"tools":{"listChanged":true},"resources":{"listChanged":true}},"serverInfo":{"name":"rcll","version":"0.1.0"}},"jsonrpc":"2.0","id":1} {"result":{"tools":[{"name":"memory_retain","description":"Save a fact, observation, or document to long-term memory with automatic room/hall classification. Rooms: auth, pipeline, schema, infrastructure, ui, api, deployment, monitoring, agent, general. Halls: fact, event, decision, preference, discovery, procedure, warning. Layers: L0=Identity (always loaded), L1=Critical, L2=Session (default), L3=Deep.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"text":{"type":"string","description":"The text to memorize — a fact, observation, or document content"},"bank_id":{"description":"Memory bank ID (default: fleet-main)","type":"string"},"context":{"description":"Context label (e.g. \"meeting notes\", \"client call\")","type":"string"},"document_id":{"description":"Document ID to group related facts","type":"string"},"tags":{"description":"Tags for categorization","type":"array","items":{"type":"string"}},"room":{"description":"Topic room (auto-classified if omitted)","type":"string"},"hall":{"description":"Knowledge type (auto-classified if omitted)","type":"string","enum":["fact","event","decision","preference","discovery","procedure","warning"]},"layer":{"description":"Priority layer (default: L2)","type":"string","enum":["L0","L1","L2","L3"]}},"required":["text"]},"execution":{"taskSupport":"forbidden"}},{"name":"memory_recall","description":"Search long-term memory for relevant facts. Uses semantic search with optional room/hall scoping for significantly improved retrieval accuracy. Supports layer cascade (L0 results always prioritized).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","description":"What to search for in memory"},"bank_id":{"description":"Memory bank ID (default: fleet-main)","type":"string"},"limit":{"description":"Max results (default: 10)","type":"number"},"room":{"description":"Filter by room(s) — applied before semantic search","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"hall":{"description":"Filter by hall(s): fact, event, decision, etc.","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"max_layer":{"description":"Max layer depth to search (default: L3 = all)","type":"string","enum":["L0","L1","L2","L3"]}},"required":["query"]},"execution":{"taskSupport":"forbidden"}},{"name":"memory_reflect","description":"Deep reasoning over memory — synthesizes facts, finds patterns, answers complex questions with citations. Use for analysis: \"What patterns emerge from recent events?\" or \"Summarize everything about X.\"","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","description":"Question to reason about over stored memories"},"bank_id":{"description":"Memory bank ID (default: fleet-main)","type":"string"}},"required":["query"]},"execution":{"taskSupport":"forbidden"}},{"name":"memory_compress","description":"Create compressed memory summaries (closets) from stored facts. Groups memories by room+hall and creates AI-generated summaries with source pointers. Use when a topic has accumulated many facts.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"bank_id":{"description":"Memory bank ID (default: fleet-main)","type":"string"},"room":{"description":"Topic to compress (e.g. \"auth\", \"pipeline\")","type":"string"},"hall":{"description":"Knowledge type to compress (e.g. \"fact\", \"decision\")","type":"string"},"min_sources":{"description":"Min memories needed to create a closet (default: 5)","type":"number"},"query":{"description":"Query to guide compression focus","type":"string"}}},"execution":{"taskSupport":"forbidden"}},{"name":"memory_bridge","description":"Create a cross-bank memory bridge (tunnel) between two related memories in different banks. Relations: same_concept, depends_on, contradicts, extends. Use when concepts in separate banks are related.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"source_bank":{"type":"string","description":"Source bank ID"},"source_memory":{"type":"string","description":"UUID of the source memory"},"target_bank":{"type":"string","description":"Target bank ID"},"target_memory":{"type":"string","description":"UUID of the target memory"},"relation":{"type":"string","enum":["same_concept","depends_on","contradicts","extends"],"description":"Relationship type"},"confidence":{"description":"Confidence score 0.0–1.0 (default: 0.8)","type":"number","minimum":0,"maximum":1}},"required":["source_bank","source_memory","target_bank","target_memory","relation"]},"execution":{"taskSupport":"forbidden"}}]},"jsonrpc":"2.0","id":2} stderr: fleet-memory-mcp: FLEET_BANK is unset, using 'fleet-main'. Coming from hindsight-mempalace-mcp? Your memory is in 'mempalace-main' — set FLEET_BANK=mempalace-main to keep reading it. fleet-memory-mcp running (backend: http://127.0.0.1:5100, bank: fleet-main)