feat(memory): add MEMORY_FILE_PATH environment variable support

- Add environment variable MEMORY_FILE_PATH to configure custom storage location
- Support both absolute and relative paths
- Update documentation with configuration examples
- Bump version to 0.6.3
This commit is contained in:
s2005
2024-12-21 18:38:12 +01:00
parent 0e7d79c580
commit 04209ec248
3 changed files with 33 additions and 6 deletions

View File

@@ -158,6 +158,29 @@ Add this to your claude_desktop_config.json:
} }
``` ```
#### NPX with custom setting
The server can be configured using the following environment variables:
```json
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
],
"env": {
"MEMORY_FILE_PATH": "/path/to/custom/memory.json"
}
}
}
}
```
- `MEMORY_FILE_PATH`: Path to the memory storage JSON file (default: `memory.json` in the server directory)
### System Prompt ### System Prompt
The prompt for utilizing memory depends on the use case. Changing the prompt will help the model determine the frequency and types of memories created. The prompt for utilizing memory depends on the use case. Changing the prompt will help the model determine the frequency and types of memories created.

View File

@@ -10,10 +10,15 @@ import { promises as fs } from 'fs';
import path from 'path'; import path from 'path';
import { fileURLToPath } from 'url'; import { fileURLToPath } from 'url';
// Define memory file path using environment variable with fallback
const defaultMemoryPath = path.join(path.dirname(fileURLToPath(import.meta.url)), 'memory.json');
// Define the path to the JSONL file, you can change this to your desired local path // If MEMORY_FILE_PATH is just a filename, put it in the same directory as the script
const __dirname = path.dirname(fileURLToPath(import.meta.url)); const MEMORY_FILE_PATH = process.env.MEMORY_FILE_PATH
const MEMORY_FILE_PATH = path.join(__dirname, 'memory.json'); ? path.isAbsolute(process.env.MEMORY_FILE_PATH)
? process.env.MEMORY_FILE_PATH
: path.join(path.dirname(fileURLToPath(import.meta.url)), process.env.MEMORY_FILE_PATH)
: defaultMemoryPath;
// We are storing our memory using entities, relations, and observations in a graph structure // We are storing our memory using entities, relations, and observations in a graph structure
interface Entity { interface Entity {
@@ -178,8 +183,7 @@ class KnowledgeGraphManager {
} }
} }
const knowledgeGraphManager = new KnowledgeGraphManager(); const knowledgeGraphManager = new KnowledgeGraphManager;
// The server instance and tools exposed to Claude // The server instance and tools exposed to Claude
const server = new Server({ const server = new Server({

View File

@@ -1,6 +1,6 @@
{ {
"name": "@modelcontextprotocol/server-memory", "name": "@modelcontextprotocol/server-memory",
"version": "0.6.2", "version": "0.6.3",
"description": "MCP server for enabling memory for Claude through a knowledge graph", "description": "MCP server for enabling memory for Claude through a knowledge graph",
"license": "MIT", "license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)", "author": "Anthropic, PBC (https://anthropic.com)",