Merge pull request #264 from showaykerker/fix/palace-flag-ignored

fix: honour --palace flag in mcp_server
This commit is contained in:
Ben Sigman
2026-04-08 10:46:46 -07:00
committed by GitHub
+23 -3
View File
@@ -2,7 +2,7 @@
""" """
MemPalace MCP Server — read/write palace access for Claude Code MemPalace MCP Server — read/write palace access for Claude Code
================================================================ ================================================================
Install: claude mcp add mempalace -- python -m mempalace.mcp_server Install: claude mcp add mempalace -- python -m mempalace.mcp_server [--palace /path/to/palace]
Tools (read): Tools (read):
mempalace_status — total drawers, wing/room breakdown mempalace_status — total drawers, wing/room breakdown
@@ -17,6 +17,8 @@ Tools (write):
mempalace_delete_drawer — remove a drawer by ID mempalace_delete_drawer — remove a drawer by ID
""" """
import argparse
import os
import sys import sys
import json import json
import logging import logging
@@ -31,12 +33,30 @@ import chromadb
from .knowledge_graph import KnowledgeGraph from .knowledge_graph import KnowledgeGraph
_kg = KnowledgeGraph()
logging.basicConfig(level=logging.INFO, format="%(message)s", stream=sys.stderr) logging.basicConfig(level=logging.INFO, format="%(message)s", stream=sys.stderr)
logger = logging.getLogger("mempalace_mcp") logger = logging.getLogger("mempalace_mcp")
def _parse_args():
parser = argparse.ArgumentParser(description="MemPalace MCP Server")
parser.add_argument(
"--palace",
metavar="PATH",
help="Path to the palace directory (overrides config file and env var)",
)
return parser.parse_args()
_args = _parse_args()
if _args.palace:
os.environ["MEMPALACE_PALACE_PATH"] = os.path.abspath(_args.palace)
_config = MempalaceConfig() _config = MempalaceConfig()
if _args.palace:
_kg = KnowledgeGraph(db_path=os.path.join(_config.palace_path, "knowledge_graph.sqlite3"))
else:
_kg = KnowledgeGraph()
_client_cache = None _client_cache = None