@mempalace/mcp-dev
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_REPO_DIR | No | Absolute path to your git repository root | process.cwd() |
| MCP_PALACE_DIR | No | MemPalace data directory | ~/.mempalace/active |
| MCP_TRACKS_DIR | No | Directory containing project track folders | <repo>/conductor/tracks |
| MCP_LEDGER_PATH | No | Path to the change ledger file | <repo>/.mcp-dev/ledger.jsonl |
| MCP_PALACE_WING | No | Wing (namespace) name within the palace | code |
| MEMPALACE_PYTHON | No | Python binary (must have mempalace installed) | python3 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_codeA | Semantic search over the current branch's code. Returns branch-stamped results from MemPalace. Never searches docs or config. |
| mine_changed_filesA | Re-index files changed since last commit into MemPalace. Call after making code changes to keep the search index current. |
| log_changeA | Log a code change to the persistent change ledger. Models MUST call this after modifying files. Enables cross-session coherence. |
| get_session_changesB | Retrieve all changes logged in the current session. Use at session start to understand what was done previously. |
| get_file_ledgerA | Get all logged changes that touched a specific file path. Use to understand the change history of a file before modifying it. |
| get_all_changesC | Get all changes in the ledger, optionally filtered by ISO timestamp. |
| get_branch_contextA | Get the current git branch, HEAD SHA, and recent commits. Always call this first to anchor your context to the correct branch. |
| get_changed_filesA | List files changed since a base ref (default: HEAD~1). Useful to understand scope of recent changes. |
| list_tracksA | List all live conductor tracks (only tracks with a plan.md are returned). Use to understand current work in progress. |
| get_track_planA | Read the plan.md for a specific conductor track. Returns live file content — not docs, not memory. |
| get_track_specB | Read the spec.md for a specific conductor track. Returns the live technical specification. |
| update_track_specA | Overwrite spec.md for an existing conductor track. Use to update technical decisions, architecture notes, or acceptance criteria. |
| get_track_indexB | Read the index.md for a specific conductor track. Returns the live track overview and summary. |
| update_track_indexB | Overwrite index.md for an existing conductor track. Use to update the track summary, status, or linked resources. |
| update_track_planA | Overwrite the plan.md for an existing conductor track with new content. The track must already exist. Use this to update task status, add phases, or record decisions. |
| create_trackB | Create a new conductor track directory with plan.md, index.md, and metadata.json. Fails if the slug already exists. |
| run_typecheckA | Run TypeScript type-checking (tsc --noEmit) for a service. Returns structured errors with file, line, column, and message. Call after writing code to verify correctness before committing. |
| run_testsA | Run Jest tests for a service. Returns pass/fail counts and structured failure details with test names and error messages. Optionally scope to a test name pattern. |
| get_git_diffA | Get the full unified diff between two refs (default: HEAD~1..HEAD). Returns diff text, file list, and addition/deletion counts. Use to review changes before logging them to the ledger. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool targets a specific resource or action with clear boundaries. For example, get_all_changes vs get_session_changes are distinguished by persistence scope, and get_git_diff vs get_changed_files provide different levels of detail.
All tools follow a consistent verb_noun pattern using snake_case (e.g., create_track, get_branch_context, run_tests). The naming is predictable and easy to understand.
With 19 tools, the server is slightly above the ideal range of 3-15, but the count is justified by covering two distinct domains (track management and code change tracking) plus code quality checks. The set is well-scoped without being overwhelming.
Core workflows for track management and change logging are covered (create, read, update, log). Minor gaps exist: no delete_track tool and limited git operations (no commit/push), but these are acceptable for the intended assistant role.