dbx-mcp-server について
dbx-mcp-server は、MCP クライアントから Dropbox に接続し、ファイルの一覧取得、アップロード、ダウンロード、管理を行える MCP サーバーです。公開 API を利用し、OAuth 2.0 PKCE で認証します。Dropbox とは提携や公式承認のない独立した実装であることが明記されています。
主な機能
- 01ファイルの一覧取得、アップロード、ダウンロード、コピー、移動
- 02ごみ箱に対応した安全な削除
- 03ファイルメタデータの取得と検索
- 04共有リンクの作成
- 05トークン暗号化を伴う OAuth 2.0 PKCE 認証
- 06操作ごとに必要な Dropbox スコープの一覧
活用シーン
- 01MCP クライアントからの Dropbox のファイルやフォルダの管理
- 02エージェントのワークフロー内でのクラウド文書の読み書き
- 03共有リンクの作成とアカウント情報の確認
MCP 対応
このプロジェクトは MCP サーバーであり、Dropbox のファイル操作、メタデータ検索、共有リンク、アカウント情報をツールとして MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dbx-mcp-server
Dropbox との統合を提供する Model Context Protocol (MCP) サーバーです。MCP 互換のクライアントが、強力なツール群を通じて Dropbox とやり取りできるようにします。
重要な免責事項: このプロジェクトは Dropbox と提携しておらず、承認も後援も受けていません。Dropbox の公開 API を利用する独立した統合です。
目次
クイックスタート
- リポジトリをクローンします
npm installを実行して依存関係をインストールしますnpm run buildを実行してプロジェクトをビルドしますnpm run setupを実行します- MCP クライアントがこのサーバーを使用するように設定します
前提条件
Dropbox App Console で Dropbox アプリを登録します:
- 「Scoped access」API を選択します
- アプリに必要なアクセスタイプを選択します
- アプリに名前を付けて「Create app」をクリックします
- 「Permissions」で、使用するアクションに必要な権限を選択します。例えば:
files.metadata.readfiles.content.readfiles.content.writesharing.writeaccount_info.read
- リダイレクト URI として
http://localhostを追加します - App key と App secret を控えておきます
インストール
-
リポジトリをクローンします
git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server -
依存関係をインストールしてビルドします
npm install npm run build -
セットアップスクリプトを実行します
npm run setup -
MCP 設定に追加します
MCP 設定ファイルに以下を追加します:
{ "mcpServers": { "dbx": { "command": "node", "args": ["/path/to/dbx-mcp-server/build/index.js"] } } }
認証
このサーバーは、Dropbox との安全な認証のために PKCE を使用した OAuth 2.0 を利用します。
環境変数
必須:
DROPBOX_APP_KEY: Dropbox アプリの keyDROPBOX_APP_SECRET: Dropbox アプリの secretDROPBOX_REDIRECT_URI: OAuth リダイレクト URITOKEN_ENCRYPTION_KEY: トークン暗号化用の 32 文字以上のキー
任意:
TOKEN_REFRESH_THRESHOLD_MINUTES: トークンを更新する有効期限切れまでの分数 (デフォルト: 5)MAX_TOKEN_REFRESH_RETRIES: 更新試行の最大回数 (デフォルト: 3)TOKEN_REFRESH_RETRY_DELAY_MS: 更新試行間の遅延 (ミリ秒) (デフォルト: 1000)
利用可能なツール
ファイル操作
list_files: ディレクトリ内のファイルを一覧表示しますupload_file: ファイルをアップロードしますdownload_file: ファイルをダウンロードしますsafe_delete_item: ごみ箱への移動に対応した安全な削除を行いますcreate_folder: 新しいフォルダを作成しますcopy_item: ファイルまたはフォルダをコピーしますmove_item: ファイルまたはフォルダを移動または名前変更します
メタデータと検索
get_file_metadata: ファイルまたはフォルダのメタデータを取得しますsearch_file_db: ファイルとフォルダを検索しますget_sharing_link: 共有リンクを作成しますget_file_content: ファイルの内容を取得します
アカウント操作
get_account_info: アカウント情報を取得します
必要な Dropbox 権限
以下は、サーバーアクションと、それに必要な最小限の Dropbox OAuth スコープ(権限)の対応表です。
| サーバーアクション | 必要な Dropbox スコープ |
|---|---|
| list_files | files.metadata.read |
| upload_file | files.content.write, files.metadata.write |
| download_file | files.content.read |
| safe_delete_item | files.metadata.write |
| create_folder | files.metadata.write |
| copy_item | files.content.write, files.metadata.write |
| move_item | files.content.write, files.metadata.write |
| get_file_metadata | files.metadata.read |
| search_file_db | files.metadata.read |
| get_sharing_link | sharing.write |
| get_file_content | files.content.read |
| get_account_info | account_info.read |
追加スコープ(必要な場合):
sharing.read: 共有設定と共同編集者を表示しますfile_requests.read/file_requests.write: ファイルリクエスト機能用ですcontacts.read/contacts.write: Dropbox の連絡先にアクセスするためのものです
Dropbox のスコープの詳細については、Dropbox 権限のドキュメントを参照してください。
使用例
// List files in root directory
await mcp.useTool("dbx-mcp-server", "list_files", { path: "" });
// Upload a file
await mcp.useTool("dbx-mcp-server", "upload_file", {
path: "/test.txt",
content: Buffer.from("Hello World").toString("base64"),
});
// Search for files
await mcp.useTool("dbx-mcp-server", "search_file_db", {
query: "report",
path: "/Documents",
max_results: 10,
});
開発
使用技術:
- TypeScript
- Model Context Protocol SDK
- Dropbox SDK v10.34.0
- Dropbox API v2
ライセンス
MIT License
Copyright (c) 2025 MCP Server Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。