Skip to main content
Glama
Nareshtt

Memory MCP Server

by Nareshtt
README.md
# Memory MCP Server

Store and retrieve memories across OpenCode sessions.

## Setup

```bash
cd /home/naresh/Projects/mcp-memory-server
npm install
```

## Usage

### Start the server

```bash
npm start
```

Memories are saved to: `~/Documents/memory-mcp/memories.json`

### For OpenCode Integration

Add to your OpenCode config (`~/.config/opencode/opencode.jsonc`):

```json
{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["/home/naresh/Projects/mcp-memory-server/server.js"]
    }
  }
}
```

## Tools

### store_memory

Store a new memory.

Input:
- `content`: The memory content (required)
- `type`: Type of memory - preference, context, decision, learning (required)
- `tags`: Array of tags (optional)
- `namespace`: Namespace for organization (default: global)

Example:
```json
{
  "content": "Always use TypeScript, prefer Tailwind CSS",
  "type": "preference",
  "tags": ["typescript", "css", "ui"],
  "namespace": "voice-assistant"
}
```

### search_memory

Search memories by query, type, tags, or namespace.

Input:
- `query`: Search in content and tags (optional)
- `type`: Filter by memory type (optional)
- `tags`: Filter by tags (optional)
- `namespace`: Filter by namespace (optional)

### get_memory

Retrieve a memory by ID.

Input:
- `id`: The memory ID (required)

### update_memory

Update an existing memory by ID.

Input:
- `id`: The memory ID (required)
- `content`: New content (optional)
- `type`: New type (optional)
- `tags`: New tags (optional)
- `namespace`: New namespace (optional)

### delete_memory

Delete a memory by ID.

Input:
- `id`: The memory ID (required)

### list_memories

List all memories, optionally filtered.

Input:
- `namespace`: Filter by namespace (optional)
- `type`: Filter by type (optional)

## Memory Schema

```json
{
  "id": "abc123",
  "content": "User prefers Tailwind CSS",
  "type": "preference",
  "tags": ["css", "tailwind"],
  "namespace": "voice-assistant",
  "createdAt": "2026-02-11T10:00:00.000Z",
  "updatedAt": "2026-02-11T10:00:00.000Z",
  "accessCount": 0
}
```