Skip to main content
Glama
MSR806

Agent Memory MCP

by MSR806

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-mcp

Related 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-mcp

Optional 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_memory

Create a global or repo-scoped memory

read_memory

Read one memory

read_memories

Read global + repo memories for a repo

update_memory

Update description and/or content

delete_memory

Delete a memory

list_memories

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.md

Development

git clone https://github.com/MSR806/agent-memory-mcp.git
cd agent-memory-mcp
npm install
npm test
npm run build
npm start

Publish

npm login
npm publish --access public

Available Tools

6 tools
create_memoryC

Create a new global or repo-scoped memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
descYes
nameYes
scopeYes
contentYes
repo_nameNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
scopeYes
repo_nameNo

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_nameNo

TDQS

D1.8/5.0
Behavior1/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_nameYes

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
scopeYes
repo_nameNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
descNo
nameYes
scopeYes
contentNo
repo_nameNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

B3.1/5.0
Disambiguation5/5

Each tool has a distinct purpose: creating, deleting, listing metadata, reading multiple, reading single, and updating memories. No overlap.

Naming Consistency5/5

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.

Tool Count5/5

6 tools is a well-scoped set covering full CRUD plus list and batch read operations. Not too few or too many.

Completeness5/5

The set provides complete lifecycle management for memories: create, read (single and batch), update, delete, and list metadata. No obvious gaps.

Maintenance

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Self-hosted MCP memory server that gives a multi-agent fleet one shared, git-backed memory for search, read, and write.
    8
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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
  • A
    license
    A
    quality
    C
    maintenance
    MCP server providing persistent memory for AI agents, enabling them to read, write, and query memories across sessions.
    9
    24
    MIT

Latest Blog Posts

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