关于 muscle-memory
muscle-memory 是用于保存和复用已测试辅助脚本的 MCP 服务和 CLI。它为 Agent 提供个人及可选的项目脚本库,并要求脚本通过测试后才能保存。
主要功能
- 01按类别列出脚本
- 02传入参数运行已保存脚本
- 03仅在测试通过后保存脚本
- 04个人库与项目库
- 05支持 CLI 和 MCP 服务模式
适用场景
- 01跨项目复用已测试的辅助脚本
- 02为单个代码库保存专用脚本
- 03在 Agent 工作流中运行库内脚本
MCP 相关
向 MCP 客户端提供 `mm_list`、`mm_run`、`mm_save` 和 `mm_setup`,用于管理和使用脚本库。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| area | string | 否 | 首次调用时指定的区域;省略则列出各区域。 |
详细介绍

Muscle Memory MCP 服务
你的 Agent 通过编写脚本来解决问题,然后却随手将它们丢弃。第二天,它又写出同样的脚本。这就像每天早上都得重新琢磨怎么系鞋带。它缺少肌肉记忆。
Muscle Memory MCP 服务为你的 Agent 提供一个空的脚本库,由它填入自己测试过的脚本。
安装
Hermes
hermes mcp add muscle-memory --command uvx --args muscle-memory-mcp
Claude Code
claude mcp add muscle-memory -s user -- uvx muscle-memory-mcp
若要将脚本库存放在默认位置以外的地方,请在服务的环境中设置 MUSCLE_MEMORY_DIR。
Codex
添加到 ~/.codex/config.toml:
[mcp_servers.muscle-memory]
command = "uvx"
args = ["muscle-memory-mcp"]
# env = { MUSCLE_MEMORY_DIR = "/absolute/path/to/library" }
Cursor
添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"muscle-memory": {
"command": "uvx",
"args": ["muscle-memory-mcp"]
}
}
}
添加到你的 AGENTS.md
将以下长期规则添加到你的 AGENTS.md、CLAUDE.md、SOUL.md 或同等的 Agent 指令文件中:
Before writing helper code, check muscle-memory with mm_list and run a match with mm_run.
After giving the user the result, save reusable new helpers with mm_save.
Skip this for code that is itself the deliverable.
工具说明中包含各项操作的安全和测试细节。
首次运行与存储
此服务提供 mm_list、mm_run、mm_save 和 mm_setup。如果尚未设置个人脚本库,这些工具会引导 Agent 询问你一次脚本库的存放位置,然后调用 mm_setup。
个人脚本库默认位于 ~/.muscle-memory(Windows 上为 %USERPROFILE%\.muscle-memory);MUSCLE_MEMORY_DIR 可用于指定其他位置。个人脚本库中的脚本可在各个项目中使用。
可选的 .muscle-memory/ 项目脚本库用于存放特定代码库的脚本。项目根目录的检测取决于 MCP 客户端的工作目录。如需明确指定项目路径,可在服务环境中将 MUSCLE_MEMORY_PROJECT_DIR 设置为项目的绝对路径。当个人脚本库和项目脚本库中存在同名脚本时,项目脚本库中的版本优先;列表会将个人脚本库中的版本标记为被覆盖。
对于个人脚本库,如果其文件夹不在 git 中,保存操作会在本地写入文件。如果脚本库是一个 git 仓库,每个已保存的脚本都会被提交。设置时会询问是否也要自动将脚本推送到 git 远程仓库;再次运行设置即可更改选择。项目脚本库不会自动提交或推送:你需要将其与自己的工作一起提交。首次设置项目脚本库时,Agent 会询问是否通过 git 共享该脚本库,还是将其设为私有。
工具
mm_list(area?)— 列出可用区域和脚本数量,或列出某个区域中的脚本。mm_run(script, args)— 运行已保存的脚本,并传入参数。mm_save(name, code, test, area, usage, ...)— 测试通过后保存或更新脚本。支持 runner、测试选择以及个人/项目范围选项;完整架构和安全行为请参阅工具说明。mm_setup(target, ...)— 设置个人库或可选的项目库。设置前请先询问用户;模式和选项请参阅工具说明。
进阶:语言和测试
runner 根据文件扩展名选择:Python、bash/zsh、Node、Ruby、Perl、PHP、Swift、Go、Lua、R、PowerShell,以及 Windows 上的 .cmd/.bat。其他语言保存时需要显式指定 runner argv。系统不会为你安装运行时;缺少运行时会报错并指出相应命令。
默认情况下,脚本测试使用相同的扩展名和 runner。test_name 和 test_runner 可用于独立选择测试。测试位于 tests/test_<stem>.<ext> 下;选择元数据存储在脚本旁。测试会收到 MM_SCRIPT(脚本的绝对路径)和 MM_LIBRARY(库根目录)。退出状态为 0 即表示通过;测试失败会阻止保存。替换测试扩展名时,只有新测试通过后才会删除先前的测试。
进阶:CLI
同一命令也可作为 CLI 使用:
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 TEXT
uvx muscle-memory-mcp setup [--target personal|project] [OPTIONS]
uvx muscle-memory-mcp test [NAME]
uvx muscle-memory-mcp trust --project
不带参数时,它会通过 stdio 启动 MCP 服务。--help 会列出可用选项。
安全与限制
- 脚本和测试会以你的身份运行,使用你的环境,且没有沙箱。测试通过并不代表经过了安全审查。
- 只有你使用
uvx muscle-memory-mcp trust --project对项目进行一次性批准后,项目库才会运行。 - 项目库的检测取决于客户端的工作目录;如有需要,请设置
MUSCLE_MEMORY_PROJECT_DIR。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。