Tidesman について
Tidesmanは、Apple Silicon搭載MacでAppleのcontainerサービスを通じてLinuxコンテナを管理するローカルMCPサーバーです。監査記録付きのツールを提供し、初期状態は読み取り専用で、アクセスレベルを設定できます。
主な機能
- 01コンテナの一覧表示、確認、実行、管理
- 02イメージの確認、取得、タグ付け
- 03コンテナログの取得とコマンド実行
- 04読み取り専用、安全、フルのアクセスモード
- 05機密情報を伏せてツール呼び出しを記録
- 06ホストマウントを許可パスに制限
活用シーン
- 01MCPクライアントからコンテナの状態とログを確認
- 02コンテナ内でコマンドを実行
- 03削除操作を許可せずコンテナの変更を許可
- 04確認用にコンテナ操作の記録を保存
MCP 対応
Tidesmanはローカルのstdio MCPクライアントに、コンテナ、イメージ、エンジン向けの20個のツールを公開します。アクセスモードで実行可能なツールを制御し、初期状態は読み取り専用です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tidesman
Apple の container ツールを使って Linux コンテナを実行、理解、デバッグするための、無料のネイティブ MCP サーバーです。
AI アシスタント(Claude Desktop、Claude Code、または MCP 対応クライアント)を使って、Mac 上の Linux コンテナの一覧表示、実行、調査、クリーンアップを安全に行えます。操作はすべて監査ログに記録されます。
このリポジトリは、Tidesman の公開ダウンロードおよびドキュメントの拠点です。ソースは非公開で管理されています。ここで公開されているバイナリには Apple Developer ID 証明書で署名し、Apple による公証を受けています。
デモ
最初のリリースに合わせてデモを公開予定です。
概要
MCP(Model Context Protocol)は、AI アシスタントが外部ツールを呼び出せるようにするオープン標準です。外部ツールとは、コンテナの一覧表示や起動など、実際の処理を行う小さな関数です。Tidesman はこの標準のサーバー側にあたり、コンテナを操作するツールを提供し、AI はそれらを呼び出すクライアントになります。
Apple の container は、macOS 上で Linux コンテナを実行するための Apple 製ツールです。通常はターミナルにコマンドを入力して操作します。Tidesman は代わりに、Apple 独自の Swift クライアントライブラリを使って、container が依存するバックグラウンドサービス(「apiserver」)と直接通信します。コマンドラインを介さずにサービスと直接通信するほうが、高速で安定します。
必要条件
- macOS 26 を実行している Apple Silicon 搭載 Mac(Apple のコンテナランタイムには両方が必要です)。
- Apple の
containerがインストールされ、起動していること:container system start。
インストール
Tidesman は署名済みで、公証を受けたバイナリです。お好みの方法でインストールしてください。
Homebrew(推奨)
brew install JeronimoColon/tidesman/tidesman
tap を追加し、tidesman を /opt/homebrew/bin にインストールします。
インストーラーパッケージ(.pkg)
最新リリースから tidesman-<version>.pkg をダウンロードし、ダブルクリックして、画面の指示に従ってください。tidesman は /usr/local/bin にインストールされます。パッケージには署名、公証、チケットのステープル処理が施されているため、オフラインでも検証できます。
直接バイナリ(zip)
tidesman-<version>-macos-arm64.zip をダウンロードして解凍し、tidesman を PATH 上に移動してください。バイナリ単体にはチケットがステープルされていないため、初回実行時に macOS がオンラインで確認します。
Claude Desktop ワンクリック(.mcpb)
tidesman-<version>.mcpb をダウンロードし、Claude Desktop で開いてください(Settings → Extensions)。このバンドルには署名済みバイナリが含まれており、サーバーが読み取り専用モードで登録されます。
ダウンロードを検証する
各リリースには SHA256SUMS ファイルが含まれています。ダウンロードしたファイルがあるフォルダーで、次を実行してください。
shasum -c SHA256SUMS
MCP クライアントを設定する
Tidesman は、クライアントが標準入力/出力経由で起動するローカルコマンドとして動作します。
クライアントにバイナリを指定し、--mode でアクセスモードを渡してください(読み取り専用にする場合は省略します)。
Claude Desktop の場合は、~/Library/Application Support/Claude/claude_desktop_config.json を編集します。
{
"mcpServers": {
"tidesman": {
"command": "/opt/homebrew/bin/tidesman",
"args": ["--mode=safe"]
}
}
}
Claude Code:
claude mcp add --transport stdio --scope user tidesman \
-- /opt/homebrew/bin/tidesman --mode=safe
stdio MCP クライアント(OpenAI Codex など)も同じように動作します。バイナリを指定し、フラグを引数として渡してください。
できること
ツールは全部で 20 個あり、それぞれ実行可能な操作(Read、Write、Destructive)がタグ付けされています。3 個はエンジン自体の状況を報告または修復し、11 個はコンテナを操作し、6 個はイメージを操作します。
| ツール | 操作 | 機能 |
|---|---|---|
system_ping | Read | コンテナサービスに接続できるか確認します |
system_disk_usage | Read | イメージ、コンテナ、ボリュームのディスク使用量を報告します |
system_repair | Write | エンジン自体のインフラストラクチャイメージを再ダウンロードします |
container_list | Read | コンテナを一覧表示します |
container_inspect | Read | コンテナの詳細をすべて表示します |
container_logs | Read | コンテナの直近の出力を取得します |
container_run | Write | イメージからコンテナを作成して起動します |
container_exec | Write | 実行中のコンテナ内でコマンドを実行します |
container_start | Write | 停止中の既存コンテナを起動します |
container_restart | Write | コンテナを正常に停止してから起動します |
container_stop | Write | 実行中のコンテナを正常に停止します |
container_kill | Write | シグナルを送信してコンテナを停止します(デフォルトは SIGKILL です) |
container_delete | Destructive | コンテナを削除します |
container_prune | Destructive | 停止中のコンテナをすべて一括削除します |
image_list | Read | ダウンロード済みのイメージを一覧表示します |
image_inspect | Read | イメージの詳細をすべて表示します |
image_pull | Write | レジストリからイメージをダウンロードします |
image_tag | Write | 既存のイメージに別の名前を付けます |
image_delete | Destructive | イメージを削除します |
image_prune | Destructive | タグのないイメージ(または未使用のイメージをすべて)一括削除します |
操作タグの意味は次のとおりです。Read ツールは状態を確認するだけで、何も変更しません。Write ツールは状態を変更しますが、リソースを削除することはありません。停止中のコンテナは起動や再起動後も残り、エンジンの修復ではエンジンが必要とするものだけが復元されます。Destructive は、コンテナまたはイメージの削除に限られます。各ツールが持つ MCP ヒントに基づいて、MCP クライアントが一部の Write ツール(exec、 stop、kill、restart)を別途 Destructive として表示する場合があります。コンテナ自体は残りますが、これらのツールは作業を中断したり、コンテナ内のデータを変更したりする可能性があるためです。どのモードでも、20 個すべてのツールがアシスタントに表示されます。モードによってロックされているツールは、その旨が説明に記載され、モードを引き上げるまで実行を拒否します。
アクセスモード:デフォルトで安全
Tidesman は --mode= で設定する 3 段階の権限レベルで動作し、最も安全なモードで起動します。--mode を指定しない場合は読み取り専用です。すべてのツールは常にアシスタントに表示され、モードによって実行できるツールが決まります。
| モード | 許可される操作 | 呼び出し可能なツール |
|---|---|---|
read-only(デフォルト) | Read | ping、ディスク使用量、一覧表示、詳細表示、ログ、イメージの読み取り 2 個(計 7 個) |
safe | Read + Write | 上記に加えて、run、exec、start、restart、stop、kill、イメージの pull と tag、エンジンの修復(計 16 個) |
full | Read + Write + Destructive | 削除と prune のツールを含む、全 20 個 |
別のフラグ --allow-host-mounts=/path/one[,/path/two] では、container_run がコンテナにマウントできるホストフォルダーを指定します。ホストマウントはコンテナの隔離範囲を越えて実際のファイルにアクセスできるため、デフォルトでは無効です。マウントが許可されるのは、シンボリックリンクを解決した実パスが、指定したフォルダーのいずれかの配下にある場合に限られます。
セキュリティと信頼性
- 署名および公証済みです。バイナリは Apple Developer ID 証明書で署名され、Apple による公証を受けているため、Gatekeeper は警告を表示せずに実行します。
- デフォルトで安全です。モードが未設定の場合は読み取り専用です。破壊的な操作には
fullが必要で、ホストのマウントには明示的なフラグが必要です。 - 監査済みです。すべてのツール呼び出しは
~/Library/Logs/tidesman/audit.logと macOS の統合ログに記録されます。記録されるのは、ツール名、引数(シークレットのような値は伏せ字にします)、実行結果です。破壊的な呼び出しでは削除した内容も正確に記録されます。また、ツールが宣言していない引数は名前で記録されるため、誤った呼び出しも追跡できます。 - 誠実なツール注釈です。すべてのツールで、実際に操作できる範囲に一致する MCP の読み取り専用および破壊的操作のヒントを宣言しているため、クライアントはリスクを把握し、危険を伴う操作の前に確認できます。
- クライアントの設定を保護してください。Tidesman のツールからアクセスモードを変更することはできません。モードは MCP クライアントの設定ファイルにある
--mode引数で固定されます。このファイルは Tidesman の管理外にあるため、適切に保護してください。アシスタントに広範なファイルシステムへのアクセスを許可するクライアントでは、アシスタントが自身のモードを変更できてしまいます。監査ログの各行には呼び出し時のモードが記録されるため、変更があれば追跡できます。
プライバシーポリシー
Tidesman はユーザーに関する情報を収集せず、当社に情報を送信することもありません。テレメトリ、分析、クラッシュレポート、アカウントはありません。すべての処理はお使いの Mac 上で行われます。
- 監査ログ(ツールの呼び出し、シークレットのような値を伏せ字にした引数、実行結果)は、お使いの Mac(
~/Library/Logs/tidesman/audit.logと macOS の統合ログ)にのみ書き込まれ、自分で共有しない限り、そこに保存されます。いつでも削除できます。 - Tidesman はネットワークポートを開きません。外部への接続は、ユーザーまたはアシスタントがイメージの取得を指示したときにコンテナレジストリ(Docker Hub など)へ接続する場合のみです。その際、他のコンテナツールと同様に、イメージ名とお使いのネットワークアドレスがレジストリに共有されます。
- ほかのいかなる相手とも情報を共有、販売、保持することはありません。
ポリシー全文は tidesman.dev/privacy.html をご覧ください。 プライバシーに関するお問い合わせ:[email protected]。
ライセンス
Tidesman はプロプライエタリソフトウェアであり、EULA.txt に記載されたエンドユーザーライセンスに基づき、無料で提供されています。オープンソースコンポーネントをバンドルしており、そのライセンス表示は THIRD-PARTY-LICENSES に保持されています。
リンク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。