はじめに
はじめまして、今年度入社した中村です。最近なにかと話題のMCPサーバーですが、今回はboxの公式MCPサーバーについてあまり詳しい記事がなかったので、設定方法や実際使ってみた様子を紹介していこうと思います。boxのMCPサーバーはboxのAPIを使って、自然言語でbox内に入っているファイル、フォルダの検索、操作をすることができます。
ツールの紹介
🔐 ユーザー・認証系
box_who_am_i
🔸 できること:現在のユーザー情報と接続状況を取得。
📤 戻り値:ユーザー情報の文字列box_authorize_app_tool
🔸 できること:Boxアプリの認証を開始。
📤 戻り値:認証ステータスメッセージ
🔍 検索・取得系
box_search_tool
🔸 できること:ファイルを検索。
📥 パラメータ:検索クエリ、ファイル拡張子、検索場所(名前、説明、内容など)、フォルダID
📤 戻り値:検索結果box_search_folder_by_name
🔸 できること:フォルダ名から検索。
📥 パラメータ:フォルダ名
📤 戻り値:フォルダIDbox_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側の設定
- 開発者コンソールから右上のPlatformアプリを作成を選択します。
- カスタムアプリを選択します。
- アプリ名等を入力後、ユーザー認証を選択します。
- 構成からOAuth2.0資格情報のクライアントIDとクライアントシークレットを取得、リダイレクトURIを追加します。クライアントIDとクライアントシークレットはMCPクライアントの設定で使うのでメモして置いてください。
MCPサーバーの設定
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"
]
}
}
}
実際に使ってみた
今回は「財務諸表勉強会.pptx」をboxに入れてよく使いそうなツールを使ってみます。MCPクライアントはvscodeを使っています。

ファイルやフォルダの検索をするツール

AI機能は利用しているプラン的に利用できなかった

ファイルのテキストを抽出してくれる
要約はMCPクライアント側で行っている

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