Muscle Memory

io.github.johannesloor由 GitHub 帳號 johannesloor 發布v0.1.1更新於 Nov 4, 2026

MCP伺服器,為你的代理程式提供一個由經過測試、可重複使用腳本組成的庫。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

MCP server that gives your agent a library of its own tested, reusable scripts.

發布方自己的服務:Memory.fit

已驗證STDIO僅桌面

概覽

Muscle Memory 的本機 MCP 服務;無需登入;STDIO;4 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Muscle Memory,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[A tied shoelace bow next to the words Muscle Memory MCP Server]

Muscle Memory MCP Server

[PyPI] [Tests] [License: MIT]

Your agent solves problems by writing scripts, then throws them away like they're nothing. Tomorrow it writes the same script again. Like having to figure out how to tie your shoelaces every morning. It lacks muscle memory.

The Muscle Memory MCP server gives your agent an empty library that it fills with its own tested scripts.

Install

[Install in VS Code] [Install in VS Code Insiders] [Install in Cursor] [Install in LM Studio]

Hermes

sh
hermes mcp add muscle-memory --command uvx --args muscle-memory-mcp

Claude Code

sh
claude mcp add muscle-memory -s user -- uvx muscle-memory-mcp

To keep the library somewhere other than the default, set MUSCLE_MEMORY_DIR in the server's environment.

Codex

Add to ~/.codex/config.toml:

toml
[mcp_servers.muscle-memory]command = "uvx"args = ["muscle-memory-mcp"]# env = { MUSCLE_MEMORY_DIR = "/absolute/path/to/library" }

Cursor

Add to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "muscle-memory": {      "command": "uvx",      "args": ["muscle-memory-mcp"]    }  }}

Add to your AGENTS.md

Add this standing rule to your AGENTS.md, CLAUDE.md, SOUL.md or equivalent agent instructions:

text
Before writing helper code, check muscle-memory with mm_list and run a match with mm_run.Before ending your turn, save reusable new helper scripts (not project code) with mm_save; use a background agent if available so the reply isn't delayed.If you saved something, name it in the reply.

Tool descriptions contain the safety and testing specifics for each operation.

First run and storage

The server exposes mm_list, mm_run, mm_save and mm_setup. If the personal library has not been set up, the tools guide the agent to ask you once where it should live and then call mm_setup.

The personal library defaults to ~/.muscle-memory (%USERPROFILE%\.muscle-memory on Windows); MUSCLE_MEMORY_DIR selects another location. Scripts in the personal library are available across projects.

An optional .muscle-memory/ project library holds scripts specific to one codebase. Project-root detection depends on the MCP client's working directory. Set MUSCLE_MEMORY_PROJECT_DIR to the project's absolute path in the server environment to override detection explicitly. When a script name exists in both libraries, the project copy takes precedence; listings mark the personal copy as shadowed.

For personal libraries, saves write files locally if the folder is not in git. If the library is a git repo, each saved script is committed. Setup asks whether to also push scripts to the git remote automatically; run setup again to change your answer. Project libraries are never committed or pushed automatically: you commit them with your own work. On first project setup, the agent asks whether the library should be shared through git or kept private.

Tools

  • mm_list(area?) — list available areas and script counts, or list scripts in one area.
  • mm_run(script, args) — run a saved script, passing through arguments.
  • mm_save(name, code, test, area, usage, ...) — save or update a script after its test passes. Supports runner, test selection, and personal/project scope options; see the tool description for the full schema and safety behavior.
  • mm_setup(target, ...) — set up a personal library or optional project library. Ask the user before setup; see the tool description for modes and options.

Advanced: languages and tests

The runner is picked by file extension: Python, bash/zsh, Node, Ruby, Perl, PHP, Swift, Go, Lua, R, PowerShell, and .cmd/.bat on Windows. Other languages need an explicit runner argv when saved. Runtimes are never installed for you; a missing one gives an error naming the command.

By default a script's test uses the same extension and runner. test_name and test_runner allow independent test selection. Tests live under tests/test_<stem>.<ext>; selection metadata is stored beside the script. Tests receive MM_SCRIPT (absolute script path) and MM_LIBRARY (library root). Exit status 0 passes; failed tests prevent saving. Replacing a test extension removes the prior test only after the replacement passes.

Advanced: CLI

The same command is also a CLI:

sh
uvx muscle-memory-mcp list [AREA]uvx muscle-memory-mcp run SCRIPT [ARGS...]uvx muscle-memory-mcp save NAME --code FILE --test FILE --area AREA --usage TEXTuvx muscle-memory-mcp setup [--target personal|project] [OPTIONS]uvx muscle-memory-mcp test [NAME]uvx muscle-memory-mcp trust --project

With no arguments it starts the MCP server over stdio. --help lists the options.

Security and limits

  • Scripts and tests run as you, with your environment and no sandbox. Passing tests is not a security review.
  • A project library runs only after you approve the project once with uvx muscle-memory-mcp trust --project.
  • Project-library detection depends on the client's working directory; set MUSCLE_MEMORY_PROJECT_DIR if needed.

License

MIT — see LICENSE.

來源:README.md,提交 595424d

工具

4

mm_list

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.

輸入參數area

mm_run

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.

輸入參數argsscript必填

mm_save

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.

輸入參數area必填code必填name必填test必填scopeusage必填runnerreplacenew_areatest_nametest_runner

mm_setup

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?'

輸入參數gitmodepathpushremotesharedtarget

版本歷史

2
  1. v0.1.1最新Nov 4, 2026
  2. v0.1.0Nov 3, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Memory 整合