Memory MCP Server
# 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
MITTDQS
Scored across 14 tools
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.
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.
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.
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.