Skip to content

Releases: iamyounglee/remote-workspace-mcp

Release list

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 14:49

remote-workspace-mcpd v1.1.0

概述

本次发布增强了可观测性与传输安全:新增完整的工具调用审计、客户端 IP 归因与受信任代理配置,并支持基于用户自备证书的 TLS 加密传输与证书热加载。

新增功能

1. 工具调用与传输审计(audit_enabled)

  • 新增 logging.audit_enabled 开关(默认 false)。
  • 启用后,全部 MCP 工具调用(含 execute_command、read_file 等 9 个工具)以及文件/目录/同步传输接口(/files、/directories、/sync/plan、/sync/apply)的每一次请求都会写入审计记录,字段包括:
    • op:操作类型(如 execute_command、read_file、files.upload 等)
    • target:操作目标(命令、文件路径、同步清单等)
    • outcome:结果(success / failure)
    • duration_ms:耗时
    • client_ip:客户端 IP
    • reason:失败原因(仅失败时)
  • 审计记录输出到当前日志文件(logging.file),与业务日志一致。
  • 命令内容会进入审计,并统一截断至 512 字节;文件内容不进入审计。
  • 审计为旁路:审计失败不影响工具执行。

2. 客户端 IP 归因与受信任代理

  • 审计记录新增 client_ip 字段。
  • 新增 server.trusted_proxies:受信任代理的 IP/CIDR 列表。仅当请求来自这些来源时,审计才采信 X-Forwarded-For;留空时一律使用对端 IP,防止调用方伪造来源 IP 污染审计归因。

3. TLS 加密传输与证书热加载

  • 新增 server.tls.cert_file 与 server.tls.key_file(用户自备证书文件)。
  • 配置后即仅以 TLS 监听,不再提供明文端口;明文 HTTP 请求会被拒绝(返回 400 Client sent an HTTP request to an HTTPS server)。
  • 证书支持定时热加载:替换证书文件后无需重启进程即可生效(mTLS / 客户端证书校验不在本次范围内)。

4. 安全事件始终告警

  • 鉴权失败等安全事件始终以 WARN 级别记录,不受 audit_enabled 开关控制,也不进入审计。

破坏性变更(升级必读)

  • 移除了 logging 下的三个预留字段:log_file_content、log_command_output、redact_authorization。

  • 配置文件采用严格字段校验(未知字段会导致加载失败)。若旧的 config.yaml 仍包含上述字段,服务将启动失败。

  • 迁移操作:从你的 config.yaml 中删除以下三行后重新启动:

    log_file_content: false
    log_command_output: false
    redact_authorization: true
  • 先前的工具调用内部日志已移除,统一由审计功能接管;如需调用审计日志,请将 logging.audit_enabled 设为 true。

校验与验证

  • go build / go vet / go test ./... 全部通过。
  • 端到端验证:自签名证书 TLS 握手成功、证书热加载生效(替换证书后下次握手即生效)、明文端口被正确拒绝。

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 15:10

remote-workspace-mcpd v1.0.0

首个正式版本。部署在远端机器的 MCP 服务,通过 Streamable HTTP 为编码 Agent 提供类本地的文件读写、搜索、命令执行与传输同步能力。

功能

  • MCP Streamable HTTP:POST /mcp,无状态、无需会话
  • 静态 Bearer Token 鉴权:自动生成、持久化,支持 token show / token rotate
  • 工具:read、write、edit、apply_patch、grep、glob、list、bash
  • 文件/目录传输:/files、/directories(tar / tar.gz)
  • 增量同步:基于 manifest + SHA-256 的 POST /sync/plan、PUT /sync/apply
  • 受控命令执行:bash -c,可选 Bubblewrap 沙箱(bash.sandbox.mode)
  • 路径白名单:Workspace 相对/绝对路径控制,符号链接解析防越权
  • 健康检查:GET /healthz、GET /readyz

安全

生产环境建议启用 bash.sandbox.mode: bubblewrap 并配合网络 ACL 与最小权限用户。详见 docs/operations.md。

安装

go install github.com/iamyounglee/remote-workspace-mcp/cmd/remote-workspace-mcpd@latest

或从本 Release 下载对应平台压缩包(含 config.example.yaml,附 checksums.txt)。详阅 README.md。

接入

{
  "mcpServers": {
    "remote-workspace-mcp": {
      "type": "streamableHttp",
      "url": "http://<remote-host>:<port>/mcp",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}