内容
<p align="center">
<img src="assets/logo.svg" width="128" alt="Tidesman logo">
</p>
<h1 align="center">潮汐管家</h1>
<p align="center">
一个原生的MCP服务器,用于运行、理解和调试Linux容器,搭配苹果的<code>container</code>工具。
</p>
<p align="center">
<img src="https://img.shields.io/badge/macOS%2026-Apple%20Silicon-103E63?style=flat-square" alt="macOS 26 · Apple Silicon">
<img src="https://img.shields.io/badge/MCP-server-187E9E?style=flat-square" alt="MCP 服务器">
<img src="https://img.shields.io/badge/license-EULA-475569?style=flat-square" alt="许可证:EULA">
</p>
<p align="center">
<a href="https://tidesman.dev">官方网站</a> ·
<a href="https://github.com/JeronimoColon/tidesman-mcp/releases">下载</a>
</p>
它允许AI助手 — Claude Desktop、Claude Code 或任何MCP兼容的客户端 — 列出、运行、检查和清理Mac上的Linux容器,安全且具有完整的审计追踪。
> 此仓库是Tidesman的公开下载和文档主页。源代码私下维护;此处发布的二进制文件由Apple Developer ID证书签名,并由Apple进行公证。
## 演示
<!-- A short screen recording is added here with the first release. -->
<p align="center"><em>演示将在第一个版本中添加。</em></p>
## 它是什么
<p align="center">
<img src="assets/how-it-works.svg" width="860"
alt="Tidesman工作原理:AI客户端通过stdio与Tidesman通信,Tidesman直接与苹果的容器apiserver通过XPC通信,以在轻量级虚拟机中运行Linux容器。">
</p>
MCP(模型上下文协议)是一种开放标准,允许AI助手调用外部工具 — 执行实际工作的小さな函数,例如列出或启动容器。Tidesman是该标准的服务器端:它提供一组容器工具,AI是调用它们的客户端。
苹果的`container`是苹果用于在macOS上运行Linux容器的工具。通常,您需要通过在终端中输入命令来驱动它。Tidesman直接与`container`依赖的后台服务(其“apiserver”)通信,使用苹果自己的Swift客户端库。直接访问该服务比包装命令行更快、更稳定。
## 要求
- 运行macOS 26的Apple Silicon Mac(苹果的容器运行时需要两者)。
- 已安装并启动苹果的`container`:`container system start`。
## 安装
Tidesman是一个签名的、经过公证的二进制文件。请选择适合您的通道。
### Homebrew(推荐)
```bash
brew install JeronimoColon/tidesman/tidesman
```
这会添加tap并将`tidesman`安装到`/opt/homebrew/bin`。
### 安装包(.pkg)
从[最新版本](https://github.com/JeronimoColon/tidesman-mcp/releases/latest)下载`tidesman-<version>.pkg`,双击它并按照提示进行操作。它将`tidesman`安装到`/usr/local/bin`。该软件包已签名、公证和钉书,因此即使离线也能够验证。
### 直接二进制文件(zip)
下载`tidesman-<version>-macos-arm64.zip`,解压它并将`tidesman`移动到您的PATH中。因为裸二进制文件没有钉书,所以macOS会在您第一次运行它时在线检查。
### Claude Desktop 一键安装(.mcpb)
下载`tidesman-<version>.mcpb`并使用Claude Desktop(设置 → 扩展)打开它。该软件包嵌入了签名的二进制文件,并为您在只读模式下注册服务器。
### 验证您的下载
每个版本都会附带一个`SHA256SUMS`文件。从包含您的下载的文件夹:
```bash
shasum -c SHA256SUMS
```
## 配置您的MCP客户端
Tidesman作为一个本地命令,由您的客户端通过标准输入/输出启动。指向二进制文件并使用`--mode`传递访问模式(省略它则为只读)。
Claude Desktop — 编辑`~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"tidesman": {
"command": "/opt/homebrew/bin/tidesman",
"args": ["--mode=safe"]
}
}
}
```
Claude Code:
```bash
claude mcp add --transport stdio --scope user tidesman \
-- /opt/homebrew/bin/tidesman --mode=safe
```
任何stdio MCP客户端(OpenAI Codex和其他)的工作方式相同:指向二进制文件并传递参数。
## 它能做什么
九种容器工具,每种工具都标有其功能 — 读取、写入或破坏:
| 工具 | 功能 | 它能做什么 |
|---|---|---|
| `system_ping` | 读取 | 检查容器服务是否可达 |
| `container_list` | 读取 | 列出容器 |
| `container_inspect` | 读取 | 显示容器的完整详细信息 |
| `container_logs` | 读取 | 获取容器的最近输出 |
| `container_run` | 写入 | 从镜像创建并启动容器 |
| `container_exec` | 写入 | 在运行的容器中运行命令 |
| `container_stop` | 写入 | 正常停止正在运行的容器 |
| `container_kill` | 写入 | 通过发送信号停止容器(默认为SIGKILL) |
| `container_delete` | 破坏 | 删除容器 |
## 访问模式 — 默认安全
Tidesman在三个权限级别之一运行,使用`--mode=`设置,默认为最安全的模式。如果未给出`--mode`,则为只读模式。
| 模式 | 允许 | 可用工具 |
|---|---|---|
| `read-only`(默认) | 读取 | ping、list、inspect、logs(4) |
| `safe` | 读取 + 写入 | 以上工具,加上run、exec、stop、kill(8) |
| `full` | 读取 + 写入 + 破坏 | 所有九种工具,包括delete |
单独的标志`--allow-host-mounts`在`container_run`可以将Mac上的文件夹挂载到容器中之前需要设置;默认情况下不允许,因为主机挂载超出了容器的隔离范围,访问您的真实文件。
## 安全性和信任
- 签名并公证。二进制文件由Apple Developer ID证书签名,并由Apple公证,因此Gatekeeper在运行时不会发出警告。
- 默认安全。未设置的模式为只读;破坏性操作需要`full`;主机挂载需要显式标志。
- 审计。每次工具调用 — 其名称、参数(类似机密的值被删除)和结果 — 记录到`~/Library/Logs/tidesman/audit.log`和macOS统一日志中。
## 许可证
Tidesman是专有软件,在[EULA.txt](EULA.txt)中提供的最终用户许可协议下免费提供。它捆绑了开源组件,其通知在[THIRD-PARTY-LICENSES](THIRD-PARTY-LICENSES)中保留。
## 链接
- 官方网站:https://tidesman.dev
- 报告问题:https://github.com/JeronimoColon/tidesman-mcp/issues
- 联系方式:hello@tidesman.dev