Skip to main content
Glama
grizzlypeaksoftware

Memory MCP Server

README.md
# Memory MCP Server

A Model Context Protocol (MCP) server that provides tools for storing, retrieving, and managing memories saved to a local file.

## Features

- Store text memories with optional tags
- Search memories by text or tags
- Retrieve all stored memories
- Delete specific memories
- View tag usage statistics
- Persistent storage in a local JSON file

## Installation

### From Source

1. Clone this repository
2. Install dependencies:
   ```
   npm install
   ```
3. Build the server:
   ```
   npm run build
   ```

## Usage

### Running the Server

Run the server with:

```bash
npm start -- [storage-path]
```

Where `storage-path` is the directory where you want to store the memories file (defaults to the current directory).

### Setting up with Claude for Desktop

To use this server with Claude for Desktop:

1. Open your Claude for Desktop configuration file:
   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - Windows: `%APPDATA%\Claude\claude_desktop_config.json`

2. Add the server configuration:

```json
{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": [
        "/path/to/mcp-memory-server/build/index.js",
        "/path/to/storage/directory"
      ]
    }
  }
}
```

3. Restart Claude for Desktop. You may need to force-quit any running Claude processes for the changes to take effect.

### Available Tools

The server exposes the following tools:

#### `store-memory`

Stores a new memory.

Parameters:
- `content` (string, required): The text content to store
- `tags` (array of strings, optional): Tags to categorize the memory

#### `search-memories`

Searches for memories.

Parameters:
- `searchTerm` (string, optional): Text to search for in the memory content
- `tag` (string, optional): Filter memories by this tag

#### `get-all-memories`

Retrieves all stored memories.

Parameters: None

#### `delete-memory`

Deletes a memory by ID.

Parameters:
- `id` (string, required): ID of the memory to delete

#### `get-tags-summary`

Gets a summary of all used tags.

Parameters: None

## Example Usage in Claude

Here are some example queries to use with Claude:

- "Store this information: The project deadline is March 15, 2025. Tags: work, deadlines"
- "What memories do I have related to work?"
- "Show me all my memories"
- "Delete memory with ID abc123"
- "What tags have I used in my memories?"

## File Structure

The server stores memories in a file named `memories.json` in the specified storage directory.

## License

MIT

TDQS

B3.3/5.0

Scored across 14 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific operations on entities, relations, or observations, with clear boundaries. However, 'open_nodes' and 'search_nodes' could be confused as both involve accessing nodes, though 'open_nodes' appears to retrieve by name while 'search_nodes' uses a query.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern throughout, such as 'add_observations', 'create_entities', and 'delete_relations'. All tools use snake_case with clear, descriptive verbs, making the set predictable and readable.

Tool Count5/5

With 14 tools, the count is well-scoped for a knowledge graph management server, covering CRUD operations, querying, and maintenance tasks. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness4/5

The toolset provides comprehensive coverage for knowledge graph operations, including entity and relation management, observation handling, search, and integrity checks. A minor gap is the lack of a tool to update relations, but agents can work around this by deleting and recreating them.

Maintenance

ActivityInactive
ResponsivenessNo issues