boxMCP

Claude

boxMCPサーバーを使ってみた

こんにちは、中村です。

最近なにかと話題のMCPサーバーですが、今回はboxMCPサーバーについてあまり詳しい記事がなかったので、設定方法や実際使ってみた様子を紹介していこうと思います。

boxのMCPサーバーはboxのAPIを使って、自然言語でbox内に入っているファイル、フォルダの検索、操作をすることができます。

ツールの紹介

🔐 ユーザー・認証系

  • box_who_am_i
     🔸 できること:現在のユーザー情報と接続状況を取得。
     📤 戻り値:ユーザー情報の文字列
  • box_authorize_app_tool
     🔸 できること:Boxアプリの認証を開始。
     📤 戻り値:認証ステータスメッセージ

🔍 検索・取得系

  • box_search_tool
     🔸 できること:ファイルを検索。
     📥 パラメータ:検索クエリ、ファイル拡張子、検索場所(名前、説明、内容など)、フォルダID
     📤 戻り値:検索結果
  • box_search_folder_by_name
     🔸 できること:フォルダ名から検索。
     📥 パラメータ:フォルダ名
     📤 戻り値:フォルダID
  • box_list_folder_content_by_folder_id
     🔸 できること:フォルダの中身を一覧表示。
     📥 パラメータ:フォルダID、再帰的表示有無
     📤 戻り値:JSON形式のフォルダ内容(ID、名前、タイプ、説明)

📄 ファイル操作系

  • box_read_tool
     🔸 できること:ファイルのテキスト内容を読み込み。
     📥 パラメータ:ファイルID
     📤 戻り値:ファイル内容
  • box_upload_file_tool
     🔸 できること:テキストをBoxにファイルとしてアップロード。
     📥 パラメータ:コンテンツ、ファイル名、フォルダID
     📤 戻り値:アップロード結果(ファイルID・名前)
  • box_download_file_tool
     🔸 できること:Boxからファイルをダウンロード。
     📥 パラメータ:ファイルID、保存オプション、保存パス
     📤 戻り値:ファイル内容(テキスト、画像(base64)、または保存結果)

🤖 AI連携系(要AI機能が使えるプラン)

  • box_ask_ai_tool
     🔸 できること:ファイルに関してAIに質問。
     📥 パラメータ:ファイルID、質問プロンプト
     📤 戻り値:AIの回答
  • box_ai_extract_data
     🔸 できること:AIを使ってファイルからデータ抽出。
     📥 パラメータ:ファイルID、抽出したいフィールド
     📤 戻り値:抽出されたJSONデータ

📁 フォルダ操作系

  • box_manage_folder_tool
     🔸 できること:フォルダの作成・更新・削除。削除機能があるのはかなり怖い。
     📥 パラメータ:アクション種別、フォルダID、名前、親フォルダID、説明、再帰削除オプション
     📤 戻り値:ステータスメッセージとフォルダ

使うための設定

続いてMCPサーバーを使うための設定について解説していきます。

事前準備

このMCPサーバーはuvコマンドで実行しているので、uvが使えるか確認します。
以下のコマンドでversionがかえってきたら使えます。

uv --version

uvが入っていない場合は下記の方法でインストールしてください。

Mac、Linuxの方

curl -LsSf https://astral.sh/uv/install.sh | sh

Windowsの方

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Box側の設定

  1. 開発者コンソールから右上のPlatformアプリを作成を選択します。
  2. カスタムアプリを選択します。
  3. アプリ名等を入力後、ユーザー認証を選択します。
  4. 構成からOAuth2.0資格情報のクライアントIDとクライアントシークレットを取得、リダイレクトURIを追加します。クライアントIDとクライアントシークレットはMCPクライアントの設定で使うのでメモして置いてください。

boxMCPサーバーの設定

mcp-server-boxをクローンします。

git clone https://github.com/box-community/mcp-server-box.git 
cd mcp-server-box

プロジェクトを作成し、セットアップします。
Mac、Linuxの方

# Create virtual environment and activate it 
uv venv 
source .venv/bin/activate 

# Lock the dependencies 
uv lock

Windowsの方

# Create virtual environment and activate it 
uv venv 
.venv\Scripts\activate 

# Lock the dependencies 
uv lock

.envファイルを作成して、box側の設定3.のクライアントIDとシークレットクライアントを入力します。

BOX_CLIENT_ID=your_client_id 
BOX_CLIENT_SECRET=your_client_secret

MCPクライアントの設定

利用するMCPクライアントの設定用jsonファイルに以下を追加します。
vscodeを使う方はsetting.json、Claude Desktopを使う方はclaude_desktop_config.jsonに追加してください。

{
  "mcpServers": {
    "box": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/shurrey/local/mcp-server-box", --ここはクローンしたディレクトリに変更
        "run",
        "src/mcp_server_box.py"
      ]
    }
  }
}

実際にboxMCPを使ってみた

今回は「財務諸表勉強会.pptx」をboxに入れてよく使いそうなツールを使ってみます。MCPクライアントはvscodeを使っています。

box_search_tool:
ファイルやフォルダの検索をするツール
box_ai_extract_data:
AI機能は利用しているプラン的に利用できなかった
box_read_tool:
ファイルのテキストを抽出してくれる
要約はMCPクライアント側で行っている
応用:
ファイルの中身の要約をslackで送信

まとめ

boxのMCPサーバーを活用することでわざわざファイルを操作しなくても中身を持ってこられるのはとても便利でした。今回はやってみませんでしたが、このほかにもフォルダの操作やダウンロードなどのツールもあります。slack以外のMCPサーバーとの連携でもっと活用できると思うのでぜひ試してみてください!

#ai-datacloud勉強会でマルチモーダルに触れた日前のページ

コンポーザブルCDPにおけるSnowflakeのマルチモーダルLLMの期待次のページ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. ChatGPT

    ChatGPT ProからClaude3 Proへ移行した話

    こんにちは、エクスチュアの黒岩です。突然ですが、皆様はどんな…

  2. Generative AI

    AIを使ったマーケティングゲームを作ってみた

    こんにちは、石原です。私の所属しているエクスチュア株式会社で…

  3. Generative AI

    Manusを使ってみたうえでManusに感想ブログを書かせてみた

    中国産AIエージェントで話題になっている「Manus」を試してみた記…

  4. Generative AI

    VScode拡張機能「Cline」を利用してMCPのツール利用する方法

    こんにちは、エクスチュアの石原です。今回はVScodeの拡張…

  5. Cortex

    BigQueryとSnowflakeのLLM関数を比較してみた

    はじめにこんにちは、石原です。生成 AI と大規模言…

カテゴリ
最近の記事
  1. 【dbts25】Snowflake×PostgreSQLのニ…
  2. TROCCO dbt連携編
  3. KARTEの「フレックスエディタ(β)」登場!ノーコードでこ…
  4. dbt Projects on Snowflake使ってみた…
  5. Cortex Analystを使ってみた
  1. Adobe Analytics

    Adobe Analytics: Datafeedにデバイスデータがないけど慌て…
  2. Google Tag Manager

    Google Tag Manager: 離脱リンクのクリックをトリガーにする
  3. IT用語集

    データベース(Data Base)って何?
  4. Adobe Analytics

    Adobe Analytics:計算指標でevents変数を後付けでパーティシペ…
  5. Adobe Analytics

    Adobe Analytics:セグメントの落とし穴:意図しないデータが混ざる①…
PAGE TOP