mcpField
L
Local Commander

Local Commander

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

关于 Local Commander

Local Commander 是供 AI 客户端操作本机项目的 MCP 服务。它提供受限的文件、Git、命令、进程和 localhost 工具,访问范围由用户选择的文件夹决定。

主要功能

  1. 01受限读取、搜索和编辑文件
  2. 02检查 Git 状态、差异与历史
  3. 03按允许列表运行独立参数命令
  4. 04管理长期运行的开发进程
  5. 05发送 localhost 请求并获取项目快照

适用场景

  1. 01在选定仓库中运行测试和构建
  2. 02查看近期提交并审查代码变更
  3. 03启动开发服务器并检查日志
  4. 04通过 AI 客户端搜索或编辑项目文件

MCP 相关

它向 Claude Desktop、Claude Code、Cursor 和 Codex 等客户端提供 MCP 工具。服务在本机通过 stdio 或 HTTP 运行,文件访问仅限已配置的根目录。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
npmlocal-commander-mcp-agent0.1.3
ocighcr.io/netbka/local-commander-mcp-agent:0.1.3
mcpblocal-commander-mcp-agent-0.1.3.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Local Commander

让 AI 在你的电脑上工作。

让 Claude、Cursor、Codex 或你自己的 Agent 使用你电脑上的文件、Git 和开发工具。
文件夹由你选择。无需账户、无需云端、无遥测。

npm Docker MCP Registry License: MIT

快速开始 · 大家用它做什么 · 为什么选择 Local Commander · 常见问题 · 技术参考


问题所在

你的 AI 能编写代码,却看不到你的项目。你把文件复制到聊天中,再把测试输出粘贴回来,每条命令都得自己运行。给它一个原始终端虽能解决这个问题,但它也就能访问所有内容。

Local Commander 介于两者之间。你的 AI 可以在你的电脑上使用真正的工具完成实际工作,但仅限于你选定的文件夹和你允许的命令。你可以继续使用已经打开的聊天窗口。

大家用它做什么

代码运行测试和构建 · 修复实际代码库中的错误 · 推送前检查差异
本地服务启动开发服务器 · 检查服务是否运行 · 查看日志
项目上下文通过一次提问获取状态、近期提交和脚本 · 搜索代码库 · 就地编辑文件

试着这样提问:

“在 my-app 中运行测试,并告诉我哪些测试失败了。”
“启动开发服务器,并检查端口 3000 是否有响应。”
“显示自昨天以来代码库中的变更。”

为什么选择 Local Commander

🔒 访问权限由你决定。 你的 AI 只能看到你选定的文件夹。默认会屏蔽 .env 和私钥等机密文件。

🧰 真正的工具,而非原始 Shell。 命令只能从允许列表中选择(Git、Node、npm、Python 等),参数也彼此独立。没有可供注入的自由格式 Shell 字符串。

⚡ 并行工作,互不冲突。 独立命令可以并行运行。开发服务器等长时间运行的进程会持续运行,同时你的 AI 可以检查其输出。

🏠 始终在你的电脑上运行。 服务在本地运行,只与启动它的 AI 客户端通信。无需账户、无遥测,除非你主动启用,否则审计日志处于关闭状态。

🔌 兼容你已有的 AI。 Claude Desktop、Claude Code、Cursor、Codex、通过隧道连接的 ChatGPT,或任何支持 MCP 的客户端。

快速开始

选择适合你的方式。每种方式只需几分钟。

你使用的工具操作
Claude Desktop从最新版本下载 .mcpb 文件并打开。选择你的文件夹。无需 Node.js。
Claude Desktop 或 Cursor,且已安装 Node.js 20+运行 npx -y local-commander-mcp-agent setup --root /path/to/your/projects --client all,然后重启应用。
Claude Code运行 claude mcp add local-commander -- npx -y local-commander-mcp-agent --stdio /path/to/your/projects
Docker将你的项目挂载到 ghcr.io/netbka/local-commander-mcp-agent。参见 Docker。
其他 MCP 客户端运行 npx -y local-commander-mcp-agent --stdio /path/to/your/projects。参见 npx。

安装前须知

我的 AI 可以访问哪些内容?

只能访问你选择的文件夹,并且只能通过 Local Commander 的工具访问:读取和编辑文件、检查 Git、运行允许列表中的命令、开发进程,以及向 localhost 发送请求。你可以在配置文件中更改命令列表。

它是沙盒吗?

不是。文件工具仅限于你的文件夹,但像 node 或 python 这样的允许程序会以你的账户权限运行,也能读取你可以读取的内容。如需严格隔离,请使用 Docker 镜像、单独的低权限账户或虚拟机。

我的数据会被发送到别处吗?

不会。服务在你的计算机上运行,只与启动它的 AI 客户端通信。它不会收集遥测数据。AI 客户端发送给其自身服务提供商的内容,由你和该服务提供商自行处理。

可以卸载它吗?

可以。npx -y local-commander-mcp-agent setup --remove 会将其从 Claude Desktop 和 Cursor 中移除,并保留之前配置的备份。在 Claude Desktop 中,你也可以停用或移除该扩展。

如果有多台计算机或团队,该怎么办?

此开源版本一次只能在一台计算机上运行。托管服务 localcmd.app 可将 ChatGPT、Claude 或你自己的 Agent 同时连接到所有 Windows PC,在多台计算机上并行执行任务,并显示每项任务在哪台计算机上运行。这是一个独立产品,使用此版本不需要它。


技术参考

工具
工具用途
project_snapshot一次调用获取仓库上下文:状态、差异统计、近期提交、包脚本、受管理进程
fs_read、fs_list、fs_search在允许的根目录内进行有范围限制的读取、列举和文本搜索
fs_write、fs_replace创建或替换文件,或执行精确的定向替换
git_status、git_diff、git_log简洁地检查 Git
command_run、parallel_command_run使用独立参数运行一个或多个允许的可执行文件
process_start、process_list、process_output、process_kill长时间运行的开发进程
scheduler_status活跃或排队的工作及资源锁
localhost_request仅向允许的本地主机发送有范围限制的 HTTP 请求
安装选项
一条命令完成设置

要求:Node.js 20+。

npx -y local-commander-mcp-agent setup --root /path/to/your/projects --client all

这会向 Claude Desktop 和/或 Cursor 的 MCP 配置中添加一个 local-commander 条目,并保留之前文件的带时间戳备份。重复使用 --root 可添加更多文件夹,使用 --client claude-desktop 或 --client cursor 可指定一个客户端,使用 --dry-run 可预览,使用 setup --remove 可再次移除该条目。之后请重启客户端。

npx

要求:Node.js 20+。服务可以访问的文件夹由 --stdio 后的参数指定:

{
  "mcpServers": {
    "local-commander": {
      "command": "npx",
      "args": ["-y", "local-commander-mcp-agent", "--stdio", "/path/to/your/projects"]
    }
  }
}

在 Windows 上,有些客户端需要使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", ...];setup 会为你写入这种格式。

仍可使用 LCMCP_ROOTS 代替文件夹参数。在 stdio 模式下,本地状态保存在 ~/.local-commander-mcp-agent 中,除非设置了 LCMCP_OAUTH_STATE_PATH。

在 Windows 上,多个根目录之间使用 ; 分隔,路径格式如 C:\\Users\\you\\source\\repos。该软件包包含一个小型 Windows 文件读取辅助程序,因此安装时无需编译。

Docker

容器就是沙箱:服务只能看到你挂载到 /workspace 下的文件夹。镜像发布于 ghcr.io/netbka/local-commander-mcp-agent(标签为 latest 和各个版本)。如需自行构建:docker build -t local-commander-mcp-agent .

MCP 客户端配置(Claude Desktop、Cursor、Claude Code、Codex 等):

{
  "mcpServers": {
    "local-commander": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "/path/to/your/projects:/workspace/projects",
        "ghcr.io/netbka/local-commander-mcp-agent"
      ]
    }
  }
}

在 Windows 上,请使用类似 C:\\Users\\you\\source\\repos:/workspace/repos 的路径。镜像包含 Node.js 22、Git 和 Python 3。可通过扩展镜像来添加工具。

使用 HTTP 而非 stdio:

docker run --rm -p 127.0.0.1:17321:17321 \
  -e LCMCP_TOKEN=generate-a-long-random-token \
  -v /path/to/your/projects:/workspace/projects \
  ghcr.io/netbka/local-commander-mcp-agent --http

镜像默认使用 --stdio;镜像名称后面的任何其他参数(此处为 --http)都会替代它并启动 HTTP 服务。端点为 http://127.0.0.1:17321/mcp,并使用 Authorization: Bearer <token>。仅在 127.0.0.1 上发布端口。

Node.js

要求:Node.js 20+。

npm install
npm run build
{
  "mcpServers": {
    "local-commander": {
      "command": "node",
      "args": ["/path/to/local-commander-mcp-agent/dist/index.js", "--stdio", "/path/to/your/projects"]
    }
  }
}

在 stdio 模式下,stdout 仅承载 MCP 消息,日志会写入 stderr。HTTP 身份验证设置不适用,因为只有启动该进程的客户端才能与其通信。

在 Windows 上,构建过程还会使用 Windows 自带的 .NET Framework 编译器编译一个小型文件读取辅助程序(release/personal/OwnerBridge.exe)。其他平台使用 Node 读取器。

HTTP 和 ChatGPT
cp local-commander.config.example.json local-commander.config.json   # set "roots"
LCMCP_AUTH_MODE=oauth LCMCP_PUBLIC_BASE_URL=https://your-tunnel.example.com npm start

客户端启动授权时,系统会在本地终端中打印一次性批准码。本地客户端也可使用 Bearer 模式(LCMCP_AUTH_MODE=bearer、LCMCP_TOKEN=...)。

安全模型
  • 直接文件操作受配置的根目录限制;现有路径会通过 realpath 解析,因此符号链接无法逃出根目录。
  • 默认会阻止访问常见机密文件(.env、私钥、凭据文件)。
  • command_run 接受可执行文件和参数数组,绝不接受 shell 字符串。可执行文件采用允许列表,并且只会从绝对 PATH 目录中解析。
  • 命令执行时间和输出均有限制;HTTP 仅限 localhost,且不会跟随重定向。
  • Docker 外部的子进程不会受到操作系统沙箱隔离:获准的解释器可以读取当前账户可读取的任何内容。如需严格隔离,请使用 Docker 镜像、单独的低权限账户或虚拟机。
配置
变量含义
LCMCP_TRANSPORT使用 stdio 提供服务(与 --stdio 相同)
LCMCP_ROOTS允许访问的根目录,使用操作系统的路径分隔符分隔(Windows 上为 ;,其他平台上为 :)
LCMCP_CONFIG配置文件路径(默认为工作目录中的 local-commander.config.json)
LCMCP_HOST、LCMCP_PORT、LCMCP_MCP_PATHHTTP 绑定地址和路径
LCMCP_AUTH_MODE仅用于 HTTP:oauth、bearer 或 none
LCMCP_TOKENBearer 模式的令牌
LCMCP_PUBLIC_BASE_URL用作 OAuth 颁发者/资源的公共 HTTPS 源
LCMCP_OAUTH_STATE_PATHOAuth 和本地状态文件路径
LCMCP_AUDIT_MODEoff(默认)、minimal、diagnostic 或 full(full 需要 LCMCP_AUDIT_RECOVERY_KEY)

配置文件还可以设置命令允许列表(shell.allowedCommands)、大小限制和 localhost 主机;请参阅 local-commander.config.example.json。

开发
npm run typecheck
npm test
npm run build

采用 MIT 许可 · 报告问题 · 托管式多计算机服务:localcmd.app

评论

支持 Markdown

第一次接触 MCP?

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

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