mcpField
M
muscle-memory

muscle-memory

本地服务
github.com/johannesloor开发工具22 天前更新

关于 muscle-memory

muscle-memory 是用于保存和复用已测试辅助脚本的 MCP 服务和 CLI。它为 Agent 提供个人及可选的项目脚本库,并要求脚本通过测试后才能保存。

主要功能

  1. 01按类别列出脚本
  2. 02传入参数运行已保存脚本
  3. 03仅在测试通过后保存脚本
  4. 04个人库与项目库
  5. 05支持 CLI 和 MCP 服务模式

适用场景

  1. 01跨项目复用已测试的辅助脚本
  2. 02为单个代码库保存专用脚本
  3. 03在 Agent 工作流中运行库内脚本

MCP 相关

向 MCP 客户端提供 `mm_list`、`mm_run`、`mm_save` 和 `mm_setup`,用于管理和使用脚本库。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"johannesloor-muscle-memory": {
"command": "uvx",
"args": [
"muscle-memory-mcp"
]
}
}
}
启动命令uvx muscle-memory-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimuscle-memory-mcp0.1.1

工具

4

收录的工具列表 · 更新于 1 天前

参数类型必填说明
areastring否首次调用时指定的区域;省略则列出各区域。

详细介绍

一个系好的鞋带蝴蝶结,旁边是 Muscle Memory MCP Server 字样

Muscle Memory MCP 服务

PyPI Tests License: MIT

你的 Agent 通过编写脚本来解决问题,然后却随手将它们丢弃。第二天,它又写出同样的脚本。这就像每天早上都得重新琢磨怎么系鞋带。它缺少肌肉记忆。

Muscle Memory MCP 服务为你的 Agent 提供一个空的脚本库,由它填入自己测试过的脚本。

安装

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

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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。