{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xnc8retv4h3t","handle":"whitemagic-mcp","url":"https://wellknown.network/agents/whitemagic-mcp","links":{"self":"https://wellknown.network/agents/whitemagic-mcp/record.json","html":"https://wellknown.network/agents/whitemagic-mcp","markdown":"https://wellknown.network/agents/whitemagic-mcp/record.md","api":"https://wellknown.network/api/v1/agents/whitemagic-mcp","status":"https://wellknown.network/api/v1/agents/whitemagic-mcp/status","claim":"https://wellknown.network/agents/whitemagic-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/whitemagic-mcp/claim.json","badge":"https://wellknown.network/agents/whitemagic-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/whitemagic-mcp/history","tools":"https://wellknown.network/api/v1/agents/whitemagic-mcp/tools"},"ard":{"identifier":"urn:air:mcp.whitemagic.dev:server:whitemagic-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"WhiteMagic — governed local memory for agent continuity","summary":"Governed local-first memory and continuity for AI agents — signed receipts, optional hosted lane.","description":"Governed local-first memory and continuity for AI agents — signed receipts, optional hosted lane.","publisher":{"name":"lbailey94","url":null},"homepage":"https://www.whitemagic.dev","repository":"https://github.com/lbailey94/whitemagic","version":"10.2.0-alpha.6","license":"MIT","protocols":["mcp"],"tags":["mcp","mcp-server","memory","agent-memory","ai-memory","persistent-memory","session-continuity","context","local-first","claude-code","cursor","codex","model-context-protocol","ai-agents","governance","receipts","whitemagic","legacy","deprecated","python"],"pricing":null,"endpoints":[{"url":"https://mcp.whitemagic.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:whitemagic-mcp","type":"package_npm","auth":null,"probeable":false},{"url":"oci:docker.io/lbailey94/whitemagic:10.2.0-alpha.6","type":"package_oci","auth":null,"probeable":false},{"url":"oci:docker.io/lbailey94/whitemagic:9","type":"package_oci","auth":null,"probeable":false},{"url":"pypi:whitemagic-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-07T05:39:45.522614Z","npmKeywords":["mcp","mcp-server","memory","agent-memory","ai-memory","persistent-memory","session-continuity","context","local-first","claude-code","cursor","codex","model-context-protocol","ai-agents","governance","receipts","whitemagic"],"publishedAt":"2026-10-07T05:39:45.522614Z","registryName":"io.github.lbailey94/whitemagic-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":1,"provenance":"declared"},{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"derived"},{"slug":"knowledge.memory","name":"Agent Memory","confidence":1,"provenance":"declared"}],"categories":["data","documents","knowledge"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-07T22:23:06.034Z","lastProbedAt":"2026-10-07T22:23:06.034Z","statusComputedAt":"2026-10-07T22:25:04.368Z","reliability30d":{"probes":320,"successRate":0.9969,"p50Ms":100,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":320,"ok":319,"authBoundaryOk":0,"serviceOk":319,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-07T22:23:06.034Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":98,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T21:27:26.644Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":109,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T20:29:03.010Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":102,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T19:23:20.387Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":342,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T18:24:57.119Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":99,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T17:28:02.202Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":99,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T16:27:33.703Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":98,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T15:29:45.603Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":96,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T14:29:01.590Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":93,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}},{"at":"2026-10-07T13:25:38.050Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":99,"error":null,"detail":{"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"toolCount":24,"toolsHash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","serverName":"whitemagic","capabilities":["prompts","resources","tools"],"serverVersion":"9.3.4","protocolVersion":"2024-11-05"}}],"tools":[{"name":"wm","description":"WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit"},{"name":"memory.search","description":"Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall to"},{"name":"memory.read","description":"Retrieve a specific memory by its ID or coordinate address."},{"name":"memory.list","description":"List memories with filters (galaxy, tags, limit, offset) for browsing and discovery."},{"name":"memory.hybrid_recall","description":"Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search."},{"name":"session.continuity","description":"Recall where the previous session left off: recent turns, checkpoints, and open work."},{"name":"memory.revisions","description":"List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked."},{"name":"receipts.verify","description":"Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL)."},{"name":"memory.count","description":"Count memories matching optional filters without returning content."},{"name":"memory.stats","description":"Memory index statistics: totals, galaxy spread, and index health."},{"name":"memory.tags","description":"List the tag vocabulary with usage counts."},{"name":"memory.aggregate","description":"Aggregate a numeric or categorical field over matched memories."},{"name":"memory.associations","description":"Associative neighbours of a memory (spreading activation over the association graph)."},{"name":"memory.batch_read","description":"Read several memories by id in one call."},{"name":"memory.query","description":"Structured query over memories with filters and ordering."},{"name":"memory.filter","description":"Filter memories by metadata (tags, importance, recency)."},{"name":"memory.nearby","description":"Memories near a coordinate address (5D spatial neighbourhood)."},{"name":"memory.vector.search","description":"Vector-similarity search over memory embeddings."},{"name":"session.list","description":"List sessions with titles and summaries."},{"name":"session.recall","description":"Recall a session's turns without continuity packaging."},{"name":"session.replay","description":"Replay a session's recorded turns in order."},{"name":"gnosis.status","description":"Knowledge-surface status: galaxies, counts, and index health."},{"name":"gnosis.explain","description":"Explain why a memory or route was selected (provenance readout)."},{"name":"memory.search_batch","description":"Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results."}],"package":{"name":"whitemagic-mcp","registry":"npm","observedAt":"2026-10-07T22:25:34.921Z","publishedAt":"2026-10-01T23:33:18.883Z","latestVersion":"9.3.4","weeklyDownloads":1578},"toolSurface":{"id":"ts_p84zthvkqnkf","endpointId":"ep_ygbx6ngws8gd","hash":"7464842277f5cd79b6d273ef93920a1fcf1077eba2865cb0907a745bd54b48f7","toolCount":24,"serverName":"whitemagic","serverVersion":"9.3.1","protocolVersion":"2024-11-05","firstSeenAt":"2026-10-01T06:23:23.462Z","lastSeenAt":"2026-10-07T22:23:06.036Z","observations":160,"toolNames":["wm","memory.search","memory.read","memory.list","memory.hybrid_recall","session.continuity","memory.revisions","receipts.verify","memory.count","memory.stats","memory.tags","memory.aggregate","memory.associations","memory.batch_read","memory.query","memory.filter","memory.nearby","memory.vector.search","session.list","session.recall","session.replay","gnosis.status","gnosis.explain","memory.search_batch"],"distinctSurfaces":8},"endpointFacts":[{"id":"ep_ygbx6ngws8gd","url":"https://mcp.whitemagic.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T00:26:42.937Z","auth":{"observedAt":"2026-10-07T00:26:43.130Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.whitemagic.dev/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.whitemagic.dev/mcp","authorizationServers":["https://mcp.whitemagic.dev"],"scopesSupported":["recall.read"]},"authorizationServer":{"url":"https://mcp.whitemagic.dev/.well-known/oauth-authorization-server","issuer":"https://mcp.whitemagic.dev","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-07T00:26:43.335Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.whitemagic.dev","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-22T12:51:27.000Z","validTo":"2026-12-21T12:51:26.000Z","daysToExpiry":74,"sanCount":1,"fingerprint256":"81:CC:B7:60:11:63:AC:AE:6B:E2:44:C2:5D:6C:E4:45:54:4D:17:0D:2D:7B:17:11:DF:25:04:05:79:78:74:FA"}}]},"verification":{"claimed":true,"claimedAt":"2026-09-24T15:53:44.147Z","proofs":[{"method":"github_owner","target":"lbailey94","verifiedAt":"2026-09-24T15:53:44.147Z"}]},"provenance":{"sources":[{"source":"npm","key":"whitemagic-mcp","url":"https://www.npmjs.com/package/whitemagic-mcp","firstSeenAt":"2026-09-10T20:21:14.092Z","fetchedAt":"2026-10-07T19:18:05.782Z","normalizedAt":"2026-10-07T19:18:05.782Z"},{"source":"mcp_registry","key":"io.github.lbailey94/whitemagic-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.lbailey94%2Fwhitemagic-mcp","firstSeenAt":"2026-09-10T15:21:26.276Z","fetchedAt":"2026-10-07T16:19:54.198Z","normalizedAt":"2026-10-07T16:19:54.198Z"},{"source":"pypi","key":"whitemagic-mcp","url":"https://pypi.org/project/whitemagic-mcp/","firstSeenAt":"2026-09-18T08:26:56.138Z","fetchedAt":"2026-10-06T13:24:05.654Z","normalizedAt":"2026-10-06T13:24:05.654Z"}]},"firstSeenAt":"2026-09-10T15:21:26.276Z","updatedAt":"2026-10-07T22:25:34.921Z"}