Repository navigation
Releases: iamyounglee/remote-workspace-mcp
Releases · iamyounglee/remote-workspace-mcp
Release list
v1.1.0
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:客户端 IPreason:失败原因(仅失败时)
- 审计记录输出到当前日志文件(
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
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>" }
}
}
}