WhiteMagic — governed local memory for agent continuity
Ce que fait ce MCP
Provides local persistent memory, hybrid retrieval, and session continuity for coding and other agents.
Outils
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'is_spawn': {'type': 'boolean', 'description': 'Claim: the invocation spawns a process'}, 'is_write': {'type': 'boolean', 'description': 'Claim: the invocation writes'}, 'args_hash': {'type': 'string', 'description': 'Hash of the arguments under evaluation'}, 'tool_name': {'type': 'string', 'description': 'Tool name to explain'}, 'is_network': {'type': 'boolean', 'description': 'Claim: the invocation uses the network'}, 'has_purpose': {'type': 'boolean', 'description': 'Claim: the invocation carries a purpose'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['query', 'metric'], 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum candidates considered (default 50; must be >= 1)'}, 'query': {'type': 'string', 'description': 'Full-text query selecting the memories to aggregate over'}, 'metric': {'type': 'string', 'description': 'Aggregate metric: count | session_count | session_span'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Memory UUID to inspect'}, 'direction': {'type': 'string', 'description': 'Direction: from | to | both (default: both)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Memory UUIDs to read'}, 'galaxy': {'type': 'string', 'description': 'Galaxy (default: codex)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'galaxy': {'type': 'string', 'description': 'Galaxy to count (optional; all memory galaxies when absent)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter: memories with all of these tags'}, 'limit': {'type': 'integer', 'description': 'Maximum entries (default 50)'}, 'query': {'type': 'string', 'description': 'Filter: every whitespace-separated term must appear (case-insensitive) in the content or title'}, 'galaxy': {'type': 'string', 'description': 'Galaxy to filter (default codex)'}, 'offset': {'type': 'integer', 'description': 'Skip this many matching entries before returning (default 0)'}, 'exclude_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter: drop memories carrying any of these tags'}, 'created_after': {'type': 'string', 'description': 'Filter: only memories created at or after this RFC 3339 timestamp (e.g. 2026-08-01T00:00:00Z)'}, 'created_before': {'type': 'string', 'description': 'Filter: only memories created at or before this RFC 3339 timestamp'}, 'max_importance': {'type': 'number', 'description': 'Filter: maximum importance (0-1)'}, 'min_importance': {'type': 'number', 'description': 'Filter: minimum importance (0-1)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum results (default 10; must be >= 1)'}, 'query': {'type': 'string', 'description': 'Full-text query'}, 'since': {'type': 'string', 'description': "Inclusive lower time bound: RFC3339 ('2026-02-01T00:00:00Z') or epoch seconds"}, 'until': {'type': 'string', 'description': 'Inclusive upper time bound: RFC3339 or epoch seconds'}, 'galaxy': {'type': 'string', 'description': 'Galaxy filter (optional; default: search all memory galaxies, results labeled; "all" is accepted as an alias for the unfiltered default)'}, 'min_score': {'type': 'number', 'description': 'Absolute BM25 score floor'}, 'min_trust': {'type': 'number', 'description': 'Minimum source_trust (0-1): drop results below this trust floor'}, 'time_basis': {'type': 'string', 'description': "Time basis for since/until: 'recorded' (created_at, default) or 'event' (event_time, falling back to created_at when unset)"}, 'include_cold': {'type': 'boolean', 'description': 'Opt-in unranked cold recovery (no thaw). Trust/importance floors apply; BM25 floors do not apply to unscored recovery. Search content is scrubbed navigation capped at 8192 characters; read by id/galaxy for the exact original.'}, 'min_importance': {'type': 'number', 'description': 'Minimum memory importance (0-1)'}, 'cold_scan_limit': {'type': 'integer', 'description': 'Maximum cold records to scan when include_cold is set (default 2048)'}, 'min_score_ratio': {'type': 'number', 'description': 'Relative floor: reject hits below this fraction of the top score'}}}
Schéma de sortie
{'type': 'object', 'properties': {'hint': {'type': ['string', 'null'], 'description': 'Optional recovery hint when results are thin (null when there is none)'}, 'count': {'type': 'integer', 'description': 'Number of results returned'}, 'galaxy': {'type': 'string', 'description': 'Galaxy scope the query ran against'}, 'status': {'type': 'string', 'description': 'Operation status'}, 'results': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Ranked memories with per-result source labels'}, 'recall_mode': {'type': 'string', 'description': 'Retrieval path used (hybrid, episodic, fts, importance, none)'}, 'evidence_bundle': {'type': 'object', 'description': 'Per-result provenance (coverage, history, integrity, retrieval, source_time, visibility) plus conflicts.'}}, 'description': 'Recall results (memory.search implementation) with an evidence bundle and recall-mode disclosure.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Maximum entries (default 20)'}, 'galaxy': {'type': 'string', 'description': 'Galaxy to list (default codex)'}, 'offset': {'type': 'integer', 'description': 'Skip this many matching entries before returning (default 0)'}, 'exclude_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Drop memories carrying any of these tags'}}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'integer', 'description': 'Total records in scope'}, 'galaxy': {'type': 'string', 'description': 'Galaxy scope listed'}, 'offset': {'type': 'integer', 'description': 'Pagination offset applied'}, 'status': {'type': 'string', 'description': 'Operation status'}, 'matched': {'type': 'integer', 'description': 'Total records matching the filter'}, 'memories': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Records (id, content_preview, created_at, tags)'}, 'returned': {'type': 'integer', 'description': 'Records in this page'}}, 'description': 'A page of memory records with pagination counters.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Maximum results (default 10)'}, 'query': {'type': 'string', 'description': 'Query text to locate in 5D space'}, 'galaxy': {'type': 'string', 'description': 'Galaxy (default: codex)'}, 'radius': {'type': 'number', 'description': 'Spatial radius cutoff (optional)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter: memories with all of these tags'}, 'limit': {'type': 'integer', 'description': 'Maximum entries (default 50)'}, 'query': {'type': 'string', 'description': 'Case-insensitive substring filter over content (literal match). For tokenized, ranked full-text retrieval use memory.search'}, 'galaxy': {'type': 'string', 'description': 'Galaxy to query (default codex)'}, 'created_after': {'type': 'string', 'description': 'Filter: only memories created at or after this RFC 3339 timestamp (e.g. 2026-08-01T00:00:00Z)'}, 'created_before': {'type': 'string', 'description': 'Filter: only memories created at or before this RFC 3339 timestamp'}, 'max_importance': {'type': 'number', 'description': 'Filter: maximum importance (0-1)'}, 'min_importance': {'type': 'number', 'description': 'Filter: minimum importance (0-1)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Memory UUID'}, 'galaxy': {'type': 'string', 'description': 'Galaxy containing the memory (default codex)'}}}
Schéma de sortie
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Memory UUID'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Memory tags'}, 'galaxy': {'type': 'string', 'description': 'Galaxy containing the memory'}, 'status': {'type': 'string', 'description': 'Operation status'}, 'content': {'type': 'string', 'description': 'Full memory content'}, 'created_at': {'type': 'string', 'description': 'RFC 3339 creation timestamp'}}, 'description': 'The exact stored memory record.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Memory UUID to inspect'}, 'action': {'type': 'string', 'description': 'Action: list (default) | verify'}, 'galaxy': {'type': 'string', 'description': 'Galaxy (default: codex)'}}}
Schéma de sortie
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Memory UUID'}, 'count': {'type': 'integer', 'description': 'Number of revisions returned'}, 'action': {'type': 'string', 'description': 'Action performed (list, restore, ...)'}, 'galaxy': {'type': 'string', 'description': 'Galaxy containing the memory'}, 'status': {'type': 'string', 'description': 'Operation status'}, 'revisions': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Revision records with content hashes and timestamps'}}, 'description': 'Revision chain for a memory (newest first).', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'minimum': 1, 'description': 'Maximum results (default 10; must be >= 1)'}, 'query': {'type': 'string', 'description': 'Full-text query'}, 'since': {'type': 'string', 'description': "Inclusive lower time bound: RFC3339 ('2026-02-01T00:00:00Z') or epoch seconds"}, 'until': {'type': 'string', 'description': 'Inclusive upper time bound: RFC3339 or epoch seconds'}, 'galaxy': {'type': 'string', 'description': 'Galaxy filter (optional; default: search all memory galaxies, results labeled; "all" is accepted as an alias for the unfiltered default)'}, 'min_score': {'type': 'number', 'description': 'Absolute BM25 score floor'}, 'min_trust': {'type': 'number', 'description': 'Minimum source_trust (0-1): drop results below this trust floor'}, 'time_basis': {'type': 'string', 'description': "Time basis for since/until: 'recorded' (created_at, default) or 'event' (event_time, falling back to created_at when unset)"}, 'include_cold': {'type': 'boolean', 'description': 'Opt-in unranked cold recovery (no thaw). Trust/importance floors apply; BM25 floors do not apply to unscored recovery. Search content is scrubbed navigation capped at 8192 characters; read by id/galaxy for the exact original.'}, 'min_importance': {'type': 'number', 'description': 'Minimum memory importance (0-1)'}, 'cold_scan_limit': {'type': 'integer', 'description': 'Maximum cold records to scan when include_cold is set (default 2048)'}, 'min_score_ratio': {'type': 'number', 'description': 'Relative floor: reject hits below this fraction of the top score'}}}
Schéma de sortie
{'type': 'object', 'properties': {'hint': {'type': ['string', 'null'], 'description': 'Optional recovery hint when results are thin (null when there is none)'}, 'count': {'type': 'integer', 'description': 'Number of results returned'}, 'galaxy': {'type': 'string', 'description': 'Galaxy scope the query ran against'}, 'status': {'type': 'string', 'description': 'Operation status'}, 'results': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Ranked memories (id, content, score, galaxy, source)'}, 'recall_mode': {'type': 'string', 'description': 'Retrieval path used (hybrid, episodic, fts, importance, none)'}, 'evidence_bundle': {'type': 'object', 'description': 'Per-result provenance (coverage, history, integrity, retrieval, source_time, visibility) plus conflicts.'}}, 'description': 'Ranked recall results with an evidence bundle and recall-mode disclosure.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['queries'], 'properties': {'queries': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of query strings to search (1 to 10 queries).'}, 'limit_per_query': {'type': 'integer', 'default': 5, 'description': 'Max results per query (default 5, max 20).'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'galaxy': {'type': 'string', 'description': 'Galaxy to summarize (optional; default codex)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'galaxy': {'type': 'string', 'description': 'Galaxy whose tags to list (optional; default codex)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['memory_id'], 'properties': {'limit': {'type': 'integer', 'description': 'Maximum results (default 10)'}, 'galaxy': {'type': 'string', 'description': 'Galaxy filter (optional)'}, 'embedding': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Raw embedding vector (alternative to memory_id)'}, 'memory_id': {'type': 'string', 'description': 'Memory UUID whose stored embedding is the query'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'id': {'type': 'string', 'description': 'Receipt task id (UUID or urn:uuid:)'}, 'bundle': {'type': 'object', 'description': 'Inline bundle to verify (alternative to id)'}, 'variant': {'type': 'string', 'description': 'Receipt variant (default original)'}, 'require_anchor': {'type': 'boolean', 'description': 'Fail-closed: without an anchor the verdict is PROVISIONAL'}}}
Schéma de sortie
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Receipt UUID that was verified'}, 'result': {'type': 'object', 'description': 'Verdict detail: errors, insufficient/provisional reasons, and a summary (attestations, issuers, receipts, settled, terminated, types).'}, 'require_anchor': {'type': 'boolean', 'description': 'Whether an external anchor was required'}}, 'description': 'Verification report for a receipt or bundle.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'n': {'type': 'integer', 'description': 'Number of prior turns (default 10)'}, 'since': {'type': 'string', 'description': 'Time-range floor: epoch seconds, RFC 3339, or YYYY-MM-DD'}, 'until': {'type': 'string', 'description': 'Time-range ceiling: epoch seconds, RFC 3339, or YYYY-MM-DD'}, 'max_content_bytes': {'type': 'integer', 'description': 'Per-turn content cap in bytes (256-262144, default 8192)'}, 'current_session_id': {'type': 'string', 'description': 'Session to exclude (optional)'}, 'max_response_bytes': {'type': 'integer', 'description': 'Turns budget in bytes (256-262144, default 49152)'}, 'include_briefing_text': {'type': 'boolean', 'description': 'Include the ready-to-inject briefing.text block (default false; adds bytes outside the turns budget)'}}}
Schéma de sortie
{'type': 'object', 'properties': {'count': {'type': 'integer', 'description': 'Turns returned'}, 'turns': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Turns (memory_id, role, turn_type, sequence, content, content_bytes, content_truncated, importance)'}, 'status': {'type': 'string', 'description': 'Operation status'}, 'truncated': {'type': 'boolean', 'description': 'Whether the response hit its byte budget'}, 'checkpoint': {'type': ['object', 'null'], 'description': 'Latest checkpoint handoff, or null'}, 'checkpoint_id': {'type': ['string', 'null'], 'description': 'Memory UUID of the checkpoint, or null'}, 'turns_omitted': {'type': 'integer', 'description': 'Turns dropped by the response budget'}, 'previous_session': {'type': 'string', 'description': 'Session the turns were read from'}, 'max_content_bytes': {'type': 'integer', 'description': 'Per-turn byte cap applied'}, 'max_response_bytes': {'type': 'integer', 'description': 'Total response byte budget applied'}}, 'description': 'Recent turns plus the latest checkpoint handoff for the prior session.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'type': {'type': 'string', 'description': 'Filter by session type'}, 'title': {'type': 'string', 'description': 'Filter by title substring'}, 'sequence': {'type': 'integer', 'description': 'Filter by start sequence number'}, 'session_id': {'type': 'string', 'description': 'Filter by session UUID'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Maximum turns to return (default 50)'}, 'session_id': {'type': 'string', 'description': 'Session UUID to recall (defaults to the most recent session)'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'n': {'type': 'integer', 'description': 'Maximum turns (default 50)'}, 'mode': {'type': 'string', 'description': 'full | selective | progressive | lossless (default full)'}, 'since': {'type': 'string', 'description': 'Time-range floor: epoch seconds, RFC 3339, or YYYY-MM-DD'}, 'until': {'type': 'string', 'description': 'Time-range ceiling: epoch seconds, RFC 3339, or YYYY-MM-DD'}, 'cursor': {'type': 'string', 'description': 'Lossless mode opaque placement cursor'}, 'page_size': {'type': 'integer', 'description': 'Lossless mode records per page (1-64, default 16)'}, 'session_id': {'type': 'string', 'description': 'Target session (required explicit UUID for lossless; otherwise default most recent)'}, 'turn_types': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Selective mode: turn types to keep'}, 'token_budget': {'type': 'integer', 'description': 'Progressive mode token budget (default 2000)'}, 'max_wire_bytes': {'type': 'integer', 'description': 'Lossless mode serialized JSON ceiling (1024-49152)'}, 'min_importance': {'type': 'number', 'description': 'Selective mode floor (default 0.7)'}, 'include_superseded': {'type': 'boolean', 'description': 'Also return turns replaced via supersedes (default false).'}}}
Schéma de sortie
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {'args': {'type': 'object', 'description': 'Arguments to pass through to the target tool.'}, 'route': {'type': 'string', 'description': "Explicit tool name for direct dispatch (e.g. 'memory.create', 'tools.list')."}, 'thought': {'type': 'string', 'description': 'Natural language input describing what to do. Auto-routes to the best-matching tool via TF-IDF NLU classification.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'_wm_route': {'type': 'object', 'properties': {'tool': {'type': 'string', 'description': 'Resolved route name'}, 'input': {'type': 'string', 'description': 'Routing input that produced the match'}, 'confidence': {'type': 'number', 'description': 'Routing confidence (1.0 for explicit routes)'}}, 'description': 'Dispatch metadata: resolved tool, routing confidence, matched input.'}}, 'description': "The dispatched tool's result envelope plus `_wm_route` dispatch metadata; fields vary by route.", 'additionalProperties': True}
Modifications récentes des outils
Serveurs MCP similaires
Kaiku
Manages team issues, comments, attachments, projects, wiki pages, and related development workflows.
ainote
Stores and synchronizes notes, tasks, development documents, project intent, knowledge graphs, environment secrets, vault files, …
Atlassian Rovo MCP Server
Searches and manages Jira, Confluence, Loom, and related Atlassian work data.
ctlsurf
Provides coding agents with a system-of-record notebook containing pages, datastores, tasks, and skills.
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
Dayze — Life Context
Provides authenticated personal life-context data and tools for contacts, memories, events, expenses, trips, assets, places, and …
YouSpot
Connects personal contacts, companies, notes, files, CRM records, email, Slack, LinkedIn, and calendars, with search, relationshi…
cypher-mcp
Provides named Cypher graph queries and code-orientation tools for tracing capabilities, symbols, invariants, provenance, changes…