Muscle Memory MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MUSCLE_MEMORY_DIR | No | Selects the location of the personal library. Defaults to ~/.muscle-memory (%USERPROFILE%\.muscle-memory on Windows). Scripts in the personal library are available across projects. | ~/.muscle-memory |
| MUSCLE_MEMORY_PROJECT_DIR | No | The project's absolute path used to override automatic project-root detection for the optional .muscle-memory/ project library. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mm_listA | List tested scripts; call before code at each reusable substep. Omit area to list areas, then select one. Same-name project scripts shadow personal. No matching script: write code. If unavailable, ask once before mm_setup. |
| mm_runB | Run code as you with inherited environment; no sandbox. Report output. [write]: --dry-run then readback. [irreversible]: --dry-run, show output, wait for explicit yes before execution. Repair via mm_save replace: true. |
| mm_saveA | Save reusable code and EXECUTE its test, unsandboxed; tests are not security reviews. Untrusted project library: nothing written or run; ask the user. Use args, env secrets, --dry-run for actions. Tests default to script runner/extension; test_name/test_runner override. MM_SCRIPT/MM_LIBRARY set; exit 0 passes. Failed new personal test saves nothing; replacement restores prior files. Personal commits, and pushes if chosen at setup; project never commits. Existing names: replace: true. |
| mm_setupC | After asking which: personal (mode local/existing/clone) or project (shared true uses project git, false keeps private). push: user's answer to 'Push scripts to git remote automatically?' |
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 4 tools
Each tool has a clearly distinct role: mm_list discovers scripts, mm_run executes existing code, mm_save stores reusable code and runs its test, and mm_setup configures personal vs project storage. Although mm_run and mm_save both involve execution, the action boundaries are clearly described and unlikely to be confused.
All tool names follow the same predictable mm_verb pattern: mm_list, mm_run, mm_save, and mm_setup. There are no naming style deviations.
Four tools is well-scoped for a focused script-memory server. Each tool maps to a core operation: discover, execute, save, and configure.
The surface covers the main lifecycle of listing, running, saving/replacing, and configuring script storage. A delete/remove operation and possibly a direct get/inspect operation are missing, but most workflows remain workable through list, run, and save with replace.