コンテンツにスキップ

Daytona MCPサーバー

Daytona Model Context Protocol (MCP) サーバーは、AIエージェントがDaytonaの機能にプログラムからアクセスし、操作できるようにします。本ガイドでは、各種AIエージェントでMCPサーバーをセットアップして利用する方法を解説します。

前提条件

開始する前に、以下を用意してください:

  • Daytona アカウント
  • Daytona CLI がインストールされていること
  • 互換性のある AI エージェント(Claude Desktop App、Claude Code、Cursor、または Windsurf)

インストールとセットアップ

1. Daytona CLI のインストール

ターミナルウィンドウ
brew install daytonaio/cli/daytona

2. Daytona に認証する

ターミナルウィンドウ
daytona login

3. MCPサーバーを初期化

使用するAIエージェントで Daytona の MCPサーバーを初期化します:

ターミナルウィンドウ
daytona mcp init [claude/cursor/windsurf]

4. AIエージェントを起動

初期化後、AIエージェントのアプリケーションを起動して、Daytona の機能の利用を開始します。

他のAIエージェントとの統合

Daytona MCP を他のAIエージェントと統合するには、次の手順に従ってください。

  1. MCP の設定を生成します:
ターミナルウィンドウ
daytona mcp config

このコマンドは、エージェントの設定にコピーできる JSON 設定を出力します:

{
"mcpServers": {
"daytona-mcp": {
"command": "daytona",
"args": ["mcp", "start"],
"env": {
"HOME": "${HOME}",
"PATH": "${HOME}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin"
},
"logFile": "${HOME}/Library/Logs/daytona/daytona-mcp-server.log"
}
}
}
  1. 設定を反映するため、AI エージェントを開き直すか再起動します。

利用可能なツール

サンドボックス管理

  • サンドボックスの作成

    • 新しい Daytona サンドボックスを作成します
    • パラメータ:
      • target (default: “us”): ターゲット (リージョン)
      • snapshot: サンドボックス用のスナップショット (任意)
      • auto_stop_interval (default: “15”): 自動停止までの分数 (0 で無効)
      • auto_archive_interval (default: “10080”): 自動アーカイブまでの分数 (0 の場合は最大間隔が適用)
  • サンドボックスの破棄

    • 既存の Daytona サンドボックスを削除します

ファイル操作

  • ファイルのダウンロード

    • Daytona サンドボックスからファイルをダウンロードします
    • コンテンツをテキストまたは base64 エンコード画像として返します
    • パラメータ:
      • file_path: ファイルパス
  • ファイルのアップロード

    • Daytona サンドボックスにファイルをアップロードします
    • テキストまたは base64 エンコードのバイナリをサポート
    • 必要な親ディレクトリを自動作成
    • 適切な権限でセッション中はファイルを保持
    • 上書き制御をサポートし、元のファイル形式を維持
    • パラメータ:
      • file_path: アップロードするファイルのパス
      • content: アップロードするファイルの内容
      • encoding: アップロードするファイルのエンコーディング
      • overwrite: 既存の場合に上書きするか
  • フォルダーの作成

    • サンドボックスに新しいディレクトリを作成します
    • パラメータ:
      • folder_path: 作成するパス
      • mode: ディレクトリのパーミッション (default: 0755)
  • ファイル情報の取得

    • ファイル情報を取得します
    • パラメータ:
      • file_path: ファイルパス
  • ファイル一覧

    • ディレクトリの内容を一覧表示します
    • パラメータ:
      • path: ディレクトリパス (デフォルトはカレントディレクトリ)
  • ファイルの移動

    • ファイルを移動またはリネームします
    • パラメータ:
      • source_path: ソースの場所
      • dest_path: 移動先の場所
  • ファイルの削除

    • ファイルまたはディレクトリを削除します
    • パラメータ:
      • file_path: 削除対象のパス

プレビュー

  • プレビューリンク
    • Web アプリケーション向けにアクセス可能なプレビュー URL を生成します
    • ローカルポートを外部に公開するための安全なトンネルを作成
    • 指定ポートのサーバー稼働状況を検証
    • トラブルシューティング用の診断情報を提供
    • サービス整理のためのカスタム説明とメタデータをサポート
    • パラメータ:
      • port: 公開するポート
      • description: サービスの説明
      • check_server: ポートでサーバーが稼働中かを確認

Git 操作

  • Git Clone
    • Git リポジトリをクローンします
    • パラメータ:
      • url: リポジトリの URL
      • path: ターゲットディレクトリ (デフォルトはカレント)
      • branch: クローンするブランチ
      • commit_id: クローンする特定のコミット
      • username: Git ユーザー名
      • password: Git パスワード

コマンド実行

  • コマンドの実行
    • Daytona 環境でシェルコマンドを実行します
    • stdout、stderr、終了コードを返します
    • コマンドはサンドボックスユーザー権限で実行されます
    • パラメータ:
      • command: 実行するコマンド

トラブルシューティング

一般的な問題と解決策:

  • 認証の問題

    • 資格情報を更新するために daytona login を実行する
  • 接続エラー

    • MCPサーバーの構成を確認する
    • サーバーのステータスを確認する
  • サンドボックスのエラー

    • daytona sandbox list を使用してサンドボックスのステータスを確認する

サポート

サポートが必要な場合は、次をご利用ください: