# WhiteMagic — governed local memory for agent continuity

> Governed local-first memory and continuity for AI agents — signed receipts, optional hosted lane.

- name: io.github.lbailey94/whitemagic-mcp
- version: 10.5.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.lbailey94%2Fwhitemagic-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.lbailey94%2Fwhitemagic-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "whitemagic-mcp": {
      "type": "http",
      "url": "https://mcp.whitemagic.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 95
- liveness: 100
- freshness: 100
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% +updated-3d-ago -unpinned-packages(1)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 30 of 30 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 5,751 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 84 tool changes in 30 days
- fail `stability.rug_pull`: 7 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 1 resolved packages
- n/a `deps.mcp_sdk_version`: the official MCP SDK is not in the dependency graph
- pass `deps.resolvable`: whitemagic-mcp@10.5.0 resolved: 1 packages

- tools: 30, about 5,751 tokens to load them all
- tool set hash: 8a337a47b68d5004df79035a0b135fa2
- tools last changed: 2026-10-19T19:47:07.141Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.lbailey94/whitemagic-mcp.svg)](https://protogrid.dev/servers/io.github.lbailey94/whitemagic-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `wm` changed (description, inputSchema) **meaning changed**
  - before: WhiteMagic meta-tool — memory and continuity kernel over the curated tool surface (70 tools): persistent memory, session continuity and recall, governance/audit, and local tool execution. Mode: READ-ONLY — writes (session.*, memory.create/update) are refused; recall only. Scope: store /srv/whitemagic/hosted-store/lmdb. Invoke with thought=<natural language> (auto-routed), route=<exact tool id> (e.g. 'memory.search', 'session.continuity'), or args=<object> (passthrough). Provide exactly one of thought or route. Say 'list tools' to enumerate the curated surface. Prefer a discrete lifecycle tool when one matches your task; use wm for natural-language routing and the wider curated catalog.
  - after: Hosted router for available hosted tools. Use tools/list to discover supported routes.
- 2026-10-18 `economy_aid_bridge` changed (inputSchema)
- 2026-10-18 `economy_chohan_roll` changed (inputSchema)
- 2026-10-18 `economy_chohan_arbitrate` changed (inputSchema)
- 2026-10-18 `economy_ledger` changed (inputSchema)
- 2026-10-18 `economy_settle` changed (inputSchema)
- 2026-10-18 `economy_advance` changed (inputSchema)
- 2026-10-18 `memory.search_batch` changed (inputSchema)
- 2026-10-18 `gnosis.explain` changed (inputSchema)
- 2026-10-18 `gnosis.status` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/io.github.lbailey94%2Fwhitemagic-mcp/changes

## Dependencies

- npm whitemagic-mcp@10.5.0: resolved, 0 dependencies

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.whitemagic.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm whitemagic-mcp@10.5.0
- oci docker.io/lbailey94/whitemagic:10.5.0

## Tools (30)

- `economy_advance`: Request a small uncollateralized compute advance. Phase 1 (2026-10-15): bound to your authenticated evaluation key (daily per-IP and global caps); new key identities start at a $0.10 ceiling that grows $0.25 per verified settled payment. Returns a recall-scope session pass; hosted write requires a paid lease.
- `economy_aid_bridge`: UNQUALIFIED and disabled: this route does not issue aid, credit, or session passes. It remains fail-closed pending an independently reviewed end-to-end accounting and authorization contract.
- `economy_chohan_arbitrate`: Advisory contention tie-breaker only. It does not acquire or enforce locks, uses a post-hoc recomputable SHA-256 draw, and is not host-bias-proof.
- `economy_chohan_roll`: Advisory SHA-256 dice draw. The server seed is disclosed with the result; there is no prior commitment or host-bias proof.
- `economy_ledger`: Inspect public transparency metrics: total loans disbursed, default rates, zero predatory liquidation policy, and sovereign free invariants.
- `economy_settle`: Settle outstanding compute balance to upgrade Bayesian reputation score and dynamically expand credit ceiling. Supports payment reference or gasless EIP-3009 transfer authorization.
- `gnosis.explain`: Explain why a memory or route was selected (provenance readout).
- `gnosis.status`: Knowledge-surface status: galaxies, counts, and index health.
- `memory.aggregate`: Aggregate a numeric or categorical field over matched memories.
- `memory.associations`: Associative neighbours of a memory (spreading activation over the association graph).
- `memory.batch_read`: Read several memories by id in one call.
- `memory.count`: Count memories matching optional filters without returning content.
- `memory.filter`: Filter memories by metadata (tags, importance, recency).
- `memory.hybrid_recall`: Compatibility alias of memory.search — same implementation, same arguments, same results. Kept for clients pinned to this name; prefer memory.search.
- `memory.list`: List memories with filters (galaxy, tags, limit, offset) for browsing and discovery.
- `memory.nearby`: Memories near a coordinate address (5D spatial neighbourhood).
- `memory.query`: Structured query over memories with filters and ordering.
- `memory.read`: Retrieve a specific memory by its ID or coordinate address.
- `memory.revisions`: List or verify a memory's content revision chain (tamper evidence): every content update is chained and head-checked.
- `memory.search`: Search memories: hybrid BM25 + vector fusion with deterministic episodic and full-text fallbacks; each result discloses its recall_mode. The preferred recall tool.
- `memory.search_batch`: Execute multiple memory search queries concurrently in a single turn. Unpacks up to 10 queries, searches the curated corpus, and returns consolidated results.
- `memory.stats`: Memory index statistics: totals, galaxy spread, and index health.
- `memory.tags`: List the tag vocabulary with usage counts.
- `memory.vector.search`: Vector-similarity search over memory embeddings.
- `receipts.verify`: Verify a receipt id or a bundle offline; fail-closed without an anchor (verdict PROVISIONAL).
- `session.continuity`: Recall where the previous session left off: recent turns, checkpoints, and open work.
- `session.list`: List sessions with titles and summaries.
- `session.recall`: Recall a session's turns without continuity packaging.
- `session.replay`: Replay a session's recorded turns in order.
- `wm`: Hosted router for available hosted tools. Use tools/list to discover supported routes.
