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
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 { 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
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const MEMORY_FILE_PATH = path.join(__dirname, 'memory.json');
// If MEMORY_FILE_PATH is just a filename, put it in the same directory as the script
const MEMORY_FILE_PATH = process.env.MEMORY_FILE_PATH
? 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
interface Entity {
@@ -178,8 +183,7 @@ class KnowledgeGraphManager {
}
}
const knowledgeGraphManager = new KnowledgeGraphManager();
const knowledgeGraphManager = new KnowledgeGraphManager;
// The server instance and tools exposed to Claude
const server = new Server({

View File

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