From 9d8c2dfcaf17d0fd22f8a25e10f8b1f59eee457b Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 16:28:38 +0000 Subject: [PATCH 1/4] fix: Change memory server default filename from memory.json to memory.jsonl The Memory MCP server uses JSONL format (JSON Lines) where each line contains a separate JSON object, but was using a .json file extension. This caused IDE lint errors and confusion since the file is not valid JSON. Changes: - Update default filename in index.ts from memory.json to memory.jsonl - Update documentation references in README.md - Maintain backward compatibility for existing MEMORY_FILE_PATH configs Fixes #2361 Co-authored-by: Ola Hungerford --- src/memory/README.md | 4 ++-- src/memory/index.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/memory/README.md b/src/memory/README.md index 3fd59bbd..f6e0bb89 100644 --- a/src/memory/README.md +++ b/src/memory/README.md @@ -173,14 +173,14 @@ The server can be configured using the following environment variables: "@modelcontextprotocol/server-memory" ], "env": { - "MEMORY_FILE_PATH": "/path/to/custom/memory.json" + "MEMORY_FILE_PATH": "/path/to/custom/memory.jsonl" } } } } ``` -- `MEMORY_FILE_PATH`: Path to the memory storage JSON file (default: `memory.json` in the server directory) +- `MEMORY_FILE_PATH`: Path to the memory storage JSONL file (default: `memory.jsonl` in the server directory) # VS Code Installation Instructions diff --git a/src/memory/index.ts b/src/memory/index.ts index 4590a1db..3c69bd3f 100644 --- a/src/memory/index.ts +++ b/src/memory/index.ts @@ -11,7 +11,7 @@ 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'); +const defaultMemoryPath = path.join(path.dirname(fileURLToPath(import.meta.url)), 'memory.jsonl'); // 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 From 53104a65e9f3f15162d4e2ba4e871479032fcf71 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Sun, 24 Aug 2025 02:51:58 +0000 Subject: [PATCH 2/4] Add backward compatibility for memory.json -> memory.jsonl migration When no custom MEMORY_FILE_PATH is set and memory.json exists but memory.jsonl doesn't exist, automatically migrate the old file to the new format with proper file extension. This ensures existing users don't lose their data when upgrading to the version with the corrected .jsonl extension. Co-authored-by: Ola Hungerford --- src/memory/index.ts | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/src/memory/index.ts b/src/memory/index.ts index 3c69bd3f..385a1f12 100644 --- a/src/memory/index.ts +++ b/src/memory/index.ts @@ -13,12 +13,40 @@ import { fileURLToPath } from 'url'; // Define memory file path using environment variable with fallback const defaultMemoryPath = path.join(path.dirname(fileURLToPath(import.meta.url)), 'memory.jsonl'); -// 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; +// Handle backward compatibility: migrate memory.json to memory.jsonl if needed +async function ensureMemoryFilePath(): Promise { + if (process.env.MEMORY_FILE_PATH) { + // Custom path provided, use it as-is (with absolute path resolution) + return 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); + } + + // No custom path set, check for backward compatibility migration + const oldMemoryPath = path.join(path.dirname(fileURLToPath(import.meta.url)), 'memory.json'); + const newMemoryPath = defaultMemoryPath; + + try { + // Check if old file exists and new file doesn't + await fs.access(oldMemoryPath); + try { + await fs.access(newMemoryPath); + // Both files exist, use new one (no migration needed) + return newMemoryPath; + } catch { + // Old file exists, new file doesn't - migrate + await fs.rename(oldMemoryPath, newMemoryPath); + console.error('Migrated memory.json to memory.jsonl for JSONL format compatibility'); + return newMemoryPath; + } + } catch { + // Old file doesn't exist, use new path + return newMemoryPath; + } +} + +// Initialize memory file path (will be set during startup) +let MEMORY_FILE_PATH: string; // We are storing our memory using entities, relations, and observations in a graph structure interface Entity { @@ -410,6 +438,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => { }); async function main() { + // Initialize memory file path with backward compatibility + MEMORY_FILE_PATH = await ensureMemoryFilePath(); + const transport = new StdioServerTransport(); await server.connect(transport); console.error("Knowledge Graph MCP Server running on stdio"); From eb58a522b3e90201711daa4b54ed30def28db73b Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Sun, 24 Aug 2025 03:01:06 +0000 Subject: [PATCH 3/4] Add clearer console error messages for memory file migration detection - Added DETECTED message when legacy memory.json file is found - Added COMPLETED message when migration finishes successfully - Improves visibility of backward compatibility migration process Co-authored-by: Ola Hungerford --- src/memory/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/memory/index.ts b/src/memory/index.ts index 385a1f12..65d588fe 100644 --- a/src/memory/index.ts +++ b/src/memory/index.ts @@ -35,8 +35,9 @@ async function ensureMemoryFilePath(): Promise { return newMemoryPath; } catch { // Old file exists, new file doesn't - migrate + console.error('DETECTED: Found legacy memory.json file, migrating to memory.jsonl for JSONL format compatibility'); await fs.rename(oldMemoryPath, newMemoryPath); - console.error('Migrated memory.json to memory.jsonl for JSONL format compatibility'); + console.error('COMPLETED: Successfully migrated memory.json to memory.jsonl'); return newMemoryPath; } } catch { From 9a3c85a311224baaf687eb05d75c30a61f88fc68 Mon Sep 17 00:00:00 2001 From: Joseph Sagiv Date: Fri, 10 Oct 2025 19:40:39 +0200 Subject: [PATCH 4/4] Add mcp-on-android-tv to Community Servers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0dae8cce..2baf5cf6 100644 --- a/README.md +++ b/README.md @@ -932,6 +932,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[MCP Create](https://github.com/tesla0225/mcp-create)** - A dynamic MCP server management service that creates, runs, and manages Model Context Protocol servers on-the-fly. - **[MCP Documentation Server](https://github.com/andrea9293/mcp-documentation-server)** - Server that provides local-first document management and semantic search via embeddings or Gemini AI (recommended). Optimized for performance with disk persistence, an in-memory index, and caching. - **[MCP Installer](https://github.com/anaisbetts/mcp-installer)** - This server is a server that installs other MCP servers for you. +- **[MCP on Android TV](https://github.com/MiddlePoint-Solutions/mcp-on-android-tv)** - A Model Context Protocol (MCP) server running directly on your Android TV with bundeld access to ADB on-device. - **[MCP ProjectManage OpenProject](https://github.com/boma086/mcp-projectmanage-openproject)** - This server provides the MCP service for project weekly reports, with project management information supplied by OpenProject. - **[MCP Proxy Server](https://github.com/TBXark/mcp-proxy)** - An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server. - **[MCP Server Creator](https://github.com/GongRzhe/MCP-Server-Creator)** - A powerful Model Context Protocol (MCP) server that creates other MCP servers! This meta-server provides tools for dynamically generating FastMCP server configurations and Python code.