MCP-Server

MemoryRouter

ai.memoryrouter/memoryrouter
KI & Agenten MCP- & Agenten-Infrastruktur Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides persistent shared memory across AI assistants, coding agents, and compatible MCP clients.

commit_reflections
Commit reflections
Use this to complete a consolidation started with consolidate_memories. Submits the reflection entries you wrote for the checked-out batch. Each entry is standalone prose with an importance rating from 1 to 10. The server stores the reflections, links them to their source memories, and marks the sources consolidated. Safe to retry: committing the same batch twice returns the original result.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['batch_id', 'entries'], 'properties': {'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'importance'], 'properties': {'text': {'type': 'string', 'maxLength': 8000, 'minLength': 1}, 'importance': {'type': 'integer', 'maximum': 10, 'minimum': 1}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'batch_id': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['committed', 'already_committed', 'tier', 'entries_created', 'sources_consolidated'], 'properties': {'debt': {'type': ['object', 'null']}, 'tier': {'type': 'integer'}, 'committed': {'type': 'boolean'}, 'entries_created': {'type': 'integer'}, 'already_committed': {'type': 'boolean'}, 'sources_consolidated': {'type': 'integer'}}, 'additionalProperties': False}
consolidate_memories
Consolidate memories (checkout)
Use this when the user asks to consolidate, reflect on, or organize their memories, or when memory_status or a search result reports that consolidation is available. Checks out a batch of unconsolidated memories from the connected vault under a 15 minute lease and returns their texts plus server instructions for writing reflection entries. Follow the returned instructions to write the entries, then call commit_reflections with the batch_id. Nothing is modified until commit.
Eingabeschema
{'type': 'object', 'properties': {'tier': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': '1 consolidates raw memories into reflections; 2 consolidates reflections into high-level reflections.'}, 'max_tokens': {'type': 'integer', 'default': 50000, 'minimum': 1000, 'description': 'Token budget for the checked-out batch. Defaults to 50000. No connector-side cap.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['batch_id', 'tier', 'count'], 'properties': {'tier': {'type': 'integer'}, 'count': {'type': 'integer'}, 'covers': {'type': ['object', 'null'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}}, 'message': {'type': 'string'}, 'batch_id': {'type': ['string', 'null']}, 'memories': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'date'], 'properties': {'date': {'type': 'string'}, 'text': {'type': 'string'}}, 'additionalProperties': False}}, 'est_tokens': {'type': 'integer'}, 'lease_expires_at': {'type': ['string', 'null']}, 'reflection_contract': {'type': 'object'}}, 'additionalProperties': False}
date_search_memories
Search memories by date
Use this to retrieve memories from a specific time window, for questions like 'what happened last week' or 'most important things this month or lately'. Tier guide: tier 3 holds the highest-level consolidated reflections (identity, principles, what matters most), tier 2 holds reflections of specific meaningful events, tier 1 holds raw verbatim memories. Match filters to the question. Time-bounded 'most important things last month' questions: tiers [3], importance 8 or higher, generous max_tokens. Big-picture overviews of a period like 'what do you know about July': tiers [3] with no importance filter. Specific lookups in a window like 'find the decision about X': omit tiers to include all tiers and leave importance unset; a high importance filter hides the specific detail you are looking for. Specific meaningful events without raw noise: tiers [2] or [2, 3]. Exact verbatim detail: if the detail is not already in context, drill down by lineage: search tiers [3] to find the relevant thread, then use inspect_memory on the result to see the tier 2 reflections it consolidated, then inspect those to reach the raw memories underneath. Direct tiers [1] search works when you know exact wording to match. Mixing tiers is legitimate; adjust the importance threshold to the question rather than always setting it high. Only reflections (tiers 2 and 3) carry importance ratings. Omit query for a chronological review; include query to rank by relevance within the window. Resolve relative phrases like 'lately' to concrete ISO dates before calling. Reads only the OAuth-selected vault and does not modify it.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['from'], 'properties': {'to': {'type': 'string', 'maxLength': 64, 'minLength': 4, 'description': 'Window end, ISO 8601 date or datetime. Optional, defaults to now.'}, 'from': {'type': 'string', 'maxLength': 64, 'minLength': 4, 'description': 'Window start, ISO 8601 date or datetime (e.g. 2026-08-10 or 2026-08-10T00:00:00Z). Required. Must be a concrete date, not a relative phrase.'}, 'query': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Optional relevance query. Omit for a pure chronological browse; include to rank results within the window.'}, 'tiers': {'type': 'array', 'items': {'enum': [1, 2, 3], 'type': 'integer'}, 'minItems': 1, 'description': "Restrict results to these memory tiers. 3 highest-level consolidated reflections (identity, principles, what matters most), 2 reflections of specific meaningful events, 1 raw verbatim memories. Use [3] for broad 'most important' or big-picture questions, [2] or [2, 3] for specific meaningful events, [1] for exact verbatim detail when you know the wording to match; otherwise drill down from [3] with inspect_memory. Omit to search all tiers blended, the right default for specific lookups. Mixing tiers is fine. Only tiers 2 and 3 carry importance ratings.", 'uniqueItems': True}, 'importance': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': "Minimum importance threshold, 1 to 10. Only reflections (tiers 2 and 3) carry ratings, so raw memories are excluded whenever this is set. Use 8 or higher with tiers [3] for broad 'most important' questions. Leave unset for general or specific searches; a high threshold hides relevant material."}, 'max_tokens': {'type': 'integer', 'maximum': 200000, 'minimum': 1000, 'description': 'Token budget for returned results. Server default 50000; use a smaller value like 5000 for a quick look. When a page is truncated, continue with the returned next_to or next_from cursor.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['from', 'count', 'memories'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}, 'count': {'type': 'integer'}, 'window': {'type': ['object', 'null'], 'properties': {'to': {'type': ['string', 'null']}, 'from': {'type': ['string', 'null']}}}, 'next_to': {'type': 'string'}, 'memories': {'type': 'array', 'items': {'type': 'object', 'required': ['content', 'date', 'tier'], 'properties': {'id': {'type': 'string'}, 'date': {'type': 'string'}, 'tier': {'type': 'integer'}, 'score': {'type': 'number'}, 'content': {'type': 'string'}, 'importance': {'type': 'integer'}}, 'additionalProperties': False}}, 'next_from': {'type': 'string'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}
delete_memories
Delete specific memories
Use this only when the user explicitly asks to delete specific memories and confirms after seeing what will be deleted. Permanently deletes the identified memories from the connected vault by their ids from search or inspect results. Deleting a raw memory does not delete reflections built from it. This cannot be undone. For deleting everything, forget_all_memories is the separate whole-vault tool.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['ids', 'confirmation'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'minItems': 1, 'description': 'Memory ids (UUIDs) to permanently delete.'}, 'confirmation': {'enum': ['DELETE SELECTED MEMORIES'], 'type': 'string', 'description': 'Exact phrase the user must provide after being shown which memories will be deleted.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['deleted', 'not_found', 'failed', 'vaultRef'], 'properties': {'failed': {'type': 'array', 'items': {'type': 'string'}}, 'deleted': {'type': 'integer'}, 'message': {'type': 'string'}, 'vaultRef': {'type': 'string'}, 'not_found': {'type': 'integer'}}, 'additionalProperties': False}
forget_all_memories
Delete all memories in connected vault
Use this only after the user explicitly requests a full-vault deletion, receives a permanent whole-vault warning, and provides the exact confirmation phrase in a later turn. Permanently deletes every memory in the OAuth-selected vault. This cannot delete one memory; use delete_memories for specific items. Requires separate memories:delete authorization and destructive host confirmation.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['confirmation'], 'properties': {'confirmation': {'enum': ['DELETE ALL MEMORIES'], 'type': 'string', 'description': 'Exact phrase the user must provide after being warned that deletion is permanent.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['deleted', 'vaultRef', 'message'], 'properties': {'deleted': {'type': 'boolean'}, 'message': {'type': 'string'}, 'vaultRef': {'type': 'string'}}, 'additionalProperties': False}
inspect_memory
Inspect memory lineage
Use this when the user asks why the assistant believes something, or wants to see the source memories behind a reflection. Given a memory id from a search result, returns the lower-tier memories that reflection was built from, or, for a raw memory, which reflections it was consolidated into. Use repeatedly to drill down from a high-level reflection to the tier 2 reflections and raw memories beneath it. Read only.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['memory_id'], 'properties': {'memory_id': {'type': 'string', 'maxLength': 36, 'minLength': 36, 'description': 'A memory id (UUID) from a search result or a previous inspect.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['memory_id', 'tier', 'covers', 'sources', 'sources_total', 'sources_deleted', 'truncated'], 'properties': {'tier': {'type': 'integer'}, 'covers': {'type': ['object', 'null'], 'properties': {'to': {'type': ['string', 'null']}, 'from': {'type': ['string', 'null']}}}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'tier', 'content', 'importance', 'date'], 'properties': {'id': {'type': 'string'}, 'date': {'type': 'string'}, 'tier': {'type': 'integer'}, 'content': {'type': 'string'}, 'importance': {'type': ['integer', 'null']}}, 'additionalProperties': False}}, 'memory_id': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'sources_total': {'type': 'integer'}, 'sources_deleted': {'type': 'integer'}, 'consolidated_into': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
memory_status
Check memory status
Use this when the user asks whether MemoryRouter is connected, which opaque vault binding is active, or how many memories/tokens the connected vault contains. Does not reveal the memory key.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['connected', 'vaultRef', 'totalMemories', 'totalTokens', 'storage', 'grantedScopes'], 'properties': {'storage': {'type': 'string'}, 'vaultRef': {'type': 'string'}, 'connected': {'type': 'boolean'}, 'reflection': {'type': 'object', 'required': ['raw_unconsolidated_tokens', 'tier2_unconsolidated_tokens', 'threshold_tokens', 'suggestion'], 'properties': {'suggestion': {'type': ['string', 'null']}, 'threshold_tokens': {'type': ['integer', 'null']}, 'raw_unconsolidated_tokens': {'type': ['integer', 'null']}, 'tier2_unconsolidated_tokens': {'type': ['integer', 'null']}}, 'description': 'Reflection debt for the connected vault. Fields are null when the debt probe is unavailable.', 'additionalProperties': False}, 'totalTokens': {'type': 'integer'}, 'grantedScopes': {'type': 'array', 'items': {'type': 'string'}}, 'totalMemories': {'type': 'integer'}}, 'additionalProperties': False}
search
Search MemoryRouter knowledge
Use this legacy compatibility alias when a client explicitly requests a tool named search. It searches the OAuth-selected MemoryRouter vault without modifying it. For normal ChatGPT recall, prefer search_memories; this tool does not provide citable item permalinks or Company Knowledge fetch support.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Natural-language search query.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_memories
Search memories
Use this when the user asks about a prior decision, preference, person, project, or other fact that may be in their connected MemoryRouter vault. Semantically searches only the OAuth-selected vault and does not modify it. Tier guide: tier 3 holds the highest-level consolidated reflections (identity, principles, what matters most), tier 2 holds reflections of specific meaningful events, tier 1 holds raw verbatim memories. Match filters to the question. Broad 'most important things we have done' questions: tiers [3], importance 8 or higher, large limit such as 250. Big-picture overviews like 'what do you know about this area or period': tiers [3] with no importance filter. Specific lookups like 'find the decision about X': omit tiers to search all tiers blended and leave importance unset; a high importance filter hides the specific detail you are looking for. Specific meaningful events without raw noise: tiers [2] or [2, 3]. Exact verbatim detail: if the detail is not already in context, drill down by lineage: search tiers [3] to find the relevant thread, then use inspect_memory on the result to see the tier 2 reflections it consolidated, then inspect those to reach the raw memories underneath. Direct tiers [1] search works when you know exact wording to match. Mixing tiers is legitimate; adjust the importance threshold to the question rather than always setting it high. Only reflections (tiers 2 and 3) carry importance ratings. For time-window questions like 'what happened last week' or 'lately' use date_search_memories instead.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 250, 'minimum': 1, 'description': "Maximum number of relevant memories to return. Use a large limit such as 250 for broad 'most important things' questions over tiers [3]."}, 'query': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'A concise natural-language description of the past context to recall.'}, 'tiers': {'type': 'array', 'items': {'enum': [1, 2, 3], 'type': 'integer'}, 'minItems': 1, 'description': "Restrict results to these memory tiers. 3 highest-level consolidated reflections (identity, principles, what matters most), 2 reflections of specific meaningful events, 1 raw verbatim memories. Use [3] for broad 'most important' or big-picture questions, [2] or [2, 3] for specific meaningful events, [1] for exact verbatim detail when you know the wording to match; otherwise drill down from [3] with inspect_memory. Omit to search all tiers blended, the right default for specific lookups. Mixing tiers is fine. Only tiers 2 and 3 carry importance ratings.", 'uniqueItems': True}, 'importance': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': "Minimum importance threshold, 1 to 10. Only reflections (tiers 2 and 3) carry ratings, so raw memories are excluded whenever this is set. Use 8 or higher with tiers [3] for broad 'most important' questions. Leave unset for general or specific searches; a high threshold hides relevant material."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['query', 'count', 'memories'], 'properties': {'count': {'type': 'integer'}, 'query': {'type': 'string'}, 'memories': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'content', 'source', 'timestamp', 'score', 'tier'], 'properties': {'id': {'type': 'string'}, 'tier': {'type': 'integer'}, 'score': {'type': 'number'}, 'source': {'type': 'string'}, 'content': {'type': 'string'}, 'timestamp': {'type': 'string'}, 'importance': {'type': 'integer'}}, 'additionalProperties': False}}, 'consolidation_available': {'type': 'boolean'}}, 'additionalProperties': False}
store_memory
Remember something
Use this only when the user explicitly asks to remember something or confirms a proposed durable fact. Saves concise user-approved content to the OAuth-selected vault; do not use it for silent conversation capture.
Eingabeschema
{'type': 'object', 'required': ['content'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 10, 'description': 'Optional short category labels. These are preserved as provenance text until structured tags ship.'}, 'content': {'type': 'string', 'maxLength': 12000, 'minLength': 1, 'description': 'The concise fact, preference, decision, or outcome the user approved for storage.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['accepted', 'status', 'vaultRef', 'source'], 'properties': {'source': {'type': 'string'}, 'status': {'enum': ['queued', 'rejected'], 'type': 'string'}, 'accepted': {'type': 'boolean'}, 'vaultRef': {'type': 'string'}}, 'additionalProperties': False}
Hinzugefügt
search
17. September 2026 07:57
Hinzugefügt
delete_memories
17. September 2026 07:57
Hinzugefügt
inspect_memory
17. September 2026 07:57
Hinzugefügt
commit_reflections
17. September 2026 07:57
Hinzugefügt
consolidate_memories
17. September 2026 07:57
Hinzugefügt
forget_all_memories
17. September 2026 07:57
Hinzugefügt
memory_status
17. September 2026 07:57
Hinzugefügt
store_memory
17. September 2026 07:57
Hinzugefügt
date_search_memories
17. September 2026 07:57
Hinzugefügt
search_memories
17. September 2026 07:57