Agent Memory MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent Memory MCPcreate a global memory about my coding preferences"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Memory MCP
Standalone MCP server for agent-maintained memories.
Memories are stored under ~/.agents/memories by default. Set AGENT_MEMORY_ROOT to use another directory.
Install
npx -y @msr0806/agent-memory-mcpRelated MCP server: mem-universe
Cursor / Claude Desktop
{
"mcpServers": {
"agent-memory": {
"command": "npx",
"args": ["-y", "--package=@msr0806/agent-memory-mcp", "agent-memory-mcp"]
}
}
}If npx fails with command not found, clear the cache and retry:
npx clear-npx-cache
npx -y --package=@msr0806/agent-memory-mcp agent-memory-mcpOptional custom storage path:
{
"mcpServers": {
"agent-memory": {
"command": "npx",
"args": ["-y", "@msr0806/agent-memory-mcp"],
"env": {
"AGENT_MEMORY_ROOT": "/path/to/memories"
}
}
}
}Tools
Tool | Description |
| Create a global or repo-scoped memory |
| Read one memory |
| Read global + repo memories for a repo |
| Update description and/or content |
| Delete a memory |
| List memory metadata |
Scopes
global — shared across all repos (e.g. coding preferences)
repo — scoped to a repo name (e.g.
project-gilly)
Storage layout
~/.agents/memories/
global/
coding-style/MEMORY.md
repos/
project-gilly/
mvp-scope/MEMORY.mdDevelopment
git clone https://github.com/MSR806/agent-memory-mcp.git
cd agent-memory-mcp
npm install
npm test
npm run build
npm startPublish
npm login
npm publish --access publicAvailable Tools
6 toolscreate_memoryC
Create a new global or repo-scoped memory.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | Yes | ||
| name | Yes | ||
| scope | Yes | ||
| content | Yes | ||
| repo_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only mentions the action and scope, but omits any details on idempotency, permissions, or side effects (e.g., whether creating a memory with an existing name overwrites or errors).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, but it could be slightly more structured (e.g., listing key aspects). Still, it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters (4 required), no output schema, and no annotations, the description is insufficient. It doesn't clarify what a memory is, the meaning of fields, or expected return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. However, it does not explain any parameter (desc, name, scope, content, repo_name) beyond implying scope in the description. No added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create) and resource (memory), and distinguishes two scopes (global or repo-scoped). This differentiates it from siblings like delete_memory, list_memories, read_memories, read_memory, and update_memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, nor when to avoid it. It simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_memoryB
Delete a global or repo-scoped memory.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scope | Yes | ||
| repo_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose that deletion is irreversible or mention any side effects, permissions, or constraints. For a destructive tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, efficiently conveying the core action. It could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and is a potentially destructive action, the description is too brief. It fails to cover parameter semantics, constraints, or outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'global or repo-scoped,' which aligns with the 'scope' parameter, adding context beyond the schema. However, it does not explain 'name' or when 'repo_name' is needed, and schema coverage is 0%, so it partly compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a global or repo-scoped memory' clearly states the verb (Delete) and resource (memory), and distinguishes from sibling tools like create_memory and list_memories by specifying the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives, nor any context about irreversibility or prerequisites. The description is minimal and lacks usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_memoriesD
List memory metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states 'list memory metadata' without mentioning pagination, safety, or output details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is too brief (3 words) and under-specified, lacking necessary detail for effective tool use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description fails to explain what is returned, any filtering, or how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the repo_name parameter or its purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List memory metadata' clearly states the verb and resource, but it does not distinguish from sibling tools like read_memories or read_memory, which could also list memory data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like read_memories. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_memoriesC
Read global memories and memories for the provided repo.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacking annotations, the description only says 'read' implying no side effects, but does not confirm read-only behavior, authentication needs, or error handling (e.g., missing repo).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise single sentence, front-loaded with the action. No wasted words, though it could benefit from a brief structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description could explain what 'memories' are and what the combined result contains. It lacks sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds no meaning to the 'repo_name' parameter beyond its existence. No format, examples, or constraints are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'read' and the resource 'memories', and distinguishes between 'global memories' and 'memories for the provided repo'. However, it is slightly ambiguous whether it reads both at once or separately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like 'read_memory' or 'list_memories'. No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_memoryC
Read a single global or repo-scoped memory.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scope | Yes | ||
| repo_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states it reads a memory but omits details on side effects, permissions, error handling (e.g., missing memory), or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—one short sentence. However, it sacrifices completeness for brevity. It is front-loaded but too minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool structure (3 params, no output schema), the description is inadequate. It lacks return value details, behavior for invalid inputs, and any context beyond the basic action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain the parameters beyond what the schema shows. It fails to add meaning to 'name', 'scope', or 'repo_name', such as format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read', resource 'memory', and scopes 'global or repo-scoped'. It distinguishes from sibling tools like list_memories and read_memories by specifying 'single' and the scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus siblings (e.g., create_memory, list_memories, read_memories). It does not mention prerequisites, alternatives, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_memoryC
Update an existing global or repo-scoped memory.
| Name | Required | Description | Default |
|---|---|---|---|
| desc | No | ||
| name | Yes | ||
| scope | Yes | ||
| content | No | ||
| repo_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden but only says 'update existing', implying mutation. No disclosure of side effects, permissions, or behavior when memory not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but borders on under-specification. Structure is adequate but could include more info without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no schema descriptions, no output schema, and no annotations, the description is insufficient. It fails to explain required vs optional fields or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description only clarifies the 'scope' parameter (global/repo) but provides no information about name, desc, content, or repo_name semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates an existing memory, specifying scope options. Verb and resource are clear, and it distinguishes from create/delete siblings, but lacks detail on which fields are updatable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like create_memory or delete_memory. The description does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose: creating, deleting, listing metadata, reading multiple, reading single, and updating memories. No overlap.
All tools follow a consistent verb_noun pattern in snake_case (e.g., create_memory, list_memories). The plural/singular distinction for read_memories vs read_memory is appropriate.
6 tools is a well-scoped set covering full CRUD plus list and batch read operations. Not too few or too many.
The set provides complete lifecycle management for memories: create, read (single and batch), update, delete, and list metadata. No obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory for AI agents with OAuth-backed hosted MCP access.
An MCP memory server. One memory your agents share — across models, devices and apps.
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides memory management tools for AI agents, enabling adding, searching, updating, and deleting memories via the Mem0 API.22MIT
- AlicenseAqualityCmaintenanceSelf-hosted MCP memory server that gives a multi-agent fleet one shared, git-backed memory for search, read, and write.81MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that provides agentic memory management for markdown vaults, enabling hybrid search, governed writing, and maintenance of episodic, semantic, procedural, and working memories for LLM agents.MIT
- AlicenseAqualityCmaintenanceMCP server providing persistent memory for AI agents, enabling them to read, write, and query memories across sessions.924MIT
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/MSR806/agent-memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server