WhiteMagic — governed local memory for agent continuity
Was dieses MCP kann
Provides local persistent memory, hybrid retrieval, and session continuity for coding and other agents.
Tools
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'type': 'object', 'properties': {}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Memory UUID to inspect'}, 'direction': {'type': 'string', 'description': 'Direction: from | to | both (default: both)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'type': 'object', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Memory UUIDs to read'}, 'galaxy': {'type': 'string', 'description': 'Galaxy (default: codex)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'galaxy': {'type': 'string', 'description': 'Galaxy to count (optional; all memory galaxies when absent)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Memory UUID'}, 'galaxy': {'type': 'string', 'description': 'Galaxy containing the memory (default codex)'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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)'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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).'}}}
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'galaxy': {'type': 'string', 'description': 'Galaxy to summarize (optional; default codex)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'galaxy': {'type': 'string', 'description': 'Galaxy whose tags to list (optional; default codex)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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)'}}}
Ausgabeschema
{'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}
Eingabeschema
{'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'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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)'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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).'}}}
Ausgabeschema
{'type': 'object', 'description': 'Result envelope for this tool; fields vary by operation.', 'additionalProperties': True}
Eingabeschema
{'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.'}}}
Ausgabeschema
{'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}
Letzte Tool-Änderungen
Ähnliche MCP-Server
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…