memstate_get
Retrieve stored memories from the Memstate AI Agent Memory System to access existing knowledge before starting tasks, enabling efficient browsing of projects and content.
Instructions
Browse and retrieve memories. Use BEFORE starting tasks to fetch existing knowledge.
USE THIS WHEN: You need to read what's already stored — list projects, browse a project tree, or get content at a keypath. NOT FOR: Saving new content (use memstate_remember for markdown/summaries, memstate_set for one keypath value).
memstate_get() → list all projects memstate_get(project_id="myapp") → full project tree memstate_get(project_id="myapp", keypath="database") → subtree memstate_get(project_id="myapp", keypath="db", include_content=true) → with full content memstate_get(memory_id="mem_abc123") → single memory by ID
Keypath is auto-prefixed. Default recursive=true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Project to retrieve from. If omitted, lists all projects. | |
| keypath | No | Subkeypath within project. If omitted with project_id, returns the full project tree. | |
| memory_id | No | Alternative: get a single memory by its UUID | |
| recursive | No | Include subtree (default: true) | |
| include_content | No | If true, include full memory content in response (not just keypaths) | |
| at_revision | No | Optional revision number for time-travel queries | |
| content_limit | No | Max memories to hydrate when include_content=true (default: 200, max: 1000) |
Implementation Reference
- src/index.ts:139-144 (handler)The `memstate_get` tool is dynamically proxied from a remote Memstate MCP server. The tool call is handled by forwarding the request to the remote client using `remote.callTool`.
server.setRequestHandler(CallToolRequestSchema, async (request) => { return await remote.callTool({ name: request.params.name, arguments: request.params.arguments, }); });