Memstate AI - Agent Memory System
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEMSTATE_API_KEY | Yes | API key from memstate.ai/dashboard | |
| MEMSTATE_MCP_URL | No | Override for self-hosted deployments | https://mcp.memstate.ai |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memstate_deleteA | Soft-delete a memory by keypath. Creates a tombstone version preserving full history. The memory can be un-deleted by setting a new value at the same keypath. USE THIS WHEN: You need to remove outdated or incorrect memories, clean up a keypath subtree, or mark memories as no longer relevant. NOT FOR: Updating content (use memstate_set or memstate_remember to overwrite with new content instead). memstate_delete(project_id="myapp", keypath="config.old_setting") memstate_delete(project_id="myapp", keypath="config", recursive=true) → deletes config and all children History is preserved. Use memstate_history to see the deletion in the version chain. Keypath is auto-prefixed. |
| memstate_delete_projectA | Soft-delete an entire project and all its memories. Creates tombstone versions for every memory, preserving full history. The project is hidden from listings but can be restored by creating a new project with the same ID. USE THIS WHEN: You want to remove all memories for a project, e.g. cleaning up test data or decommissioning a project. memstate_delete_project(project_id="old-project") All memories get individual tombstone versions. History is preserved via memstate_history. |
| memstate_getA | 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. |
| memstate_historyA | View version history for a keypath or memory chain. Use when you need to see how a value changed over time. USE THIS WHEN: Debugging past state, auditing changes, or recovering a previous value. NOT FOR: Reading current content (use memstate_get) or saving (use memstate_remember or memstate_set). memstate_history(project_id="myapp", keypath="config.database.port") memstate_history(memory_id="mem_abc123") Returns all versions with timestamps; latest is marked is_latest=true. |
| memstate_rememberA | Save markdown, task summaries, or any text. Server extracts keypaths and creates structured memories automatically. This is the PREFERRED way to save information. USE THIS WHEN: Saving task summaries, meeting notes, docs, or any text with multiple facts. The server handles organization, conflict detection, and versioning. NOT FOR: Setting one specific keypath to a short value (e.g. config.port = "8080") — use memstate_set for that. memstate_remember(project_id="myapp", content="## Task Summary\n- Added OAuth\n- Files: auth.go, middleware.go", source="agent") memstate_remember(project_id="myapp", content="Architecture decision: migrated to JWT tokens for session management") Content limit: 100,000 chars. Processing is async (~15-18s); returns job_id immediately. |
| memstate_searchA | Find memories by meaning (semantic search). Use BEFORE starting tasks when you don't know the exact keypath. USE THIS WHEN: You want to find relevant memories by topic or meaning, not by exact keypath. NOT FOR: Saving content (use memstate_remember for markdown/summaries, memstate_set for one keypath value). memstate_search(query="how is authentication configured", project_id="myapp") memstate_search(query="database connection settings", project_id="myapp") Returns summaries with similarity scores. Use memstate_get(memory_id="...") to fetch full content of a result. |
| memstate_setA | Set one keypath to a short value. Only for simple key=value facts like config, status, or version numbers. USE THIS WHEN: You need to store ONE specific value at a known keypath (e.g. a port number, a status flag, a version string). NOT FOR: Task summaries, markdown, or text with multiple facts — use memstate_remember instead. memstate_set(project_id="myapp", keypath="config.database.port", value="5432") memstate_set(project_id="myapp", keypath="status.deployment", value="production") memstate_set(project_id="myapp", keypath="version.current", value="2.1.0") Value limit: 2,000 chars. If longer, use memstate_remember instead. Keypath is auto-prefixed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/memstate-ai/memstate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server