Dropbox MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows MCP-compatible clients to interact with Dropbox through file operations (upload, download, list, create folders), metadata and search operations, sharing functionality, and account information retrieval.

dbx-mcp-サーバー

Dropbox との統合を提供するモデル コンテキスト プロトコル (MCP) サーバー。MCP 対応クライアントは強力なツール セットを通じて Dropbox と対話できます。

**重要な免責事項:**このプロジェクトはDropboxと提携、承認、または後援されていません。DropboxのパブリックAPIと連携する独立した統合です。

目次

クイックスタート

  1. リポジトリをクローンする
  2. npm install実行して依存関係をインストールします
  3. npm run build実行してプロジェクトをビルドします。
  4. Dropbox アプリ コンソールで Dropbox アプリを登録します。
    • 「スコープアクセス」APIを選択
    • アプリに必要なアクセスタイプを選択してください
    • アプリに名前を付けて「アプリを作成」をクリックします
    • 「権限」の下で、必要な権限を選択します。
      • files.metadata.read
      • files.content.read
      • files.content.write
      • sharing.write
      • account_info.read
    • リダイレクトURIとしてhttp://localhost:3000/callbackを追加します。
    • アプリキーとアプリシークレットをメモしてください
  5. セットアップ スクリプトを実行します。
    npm run setup
  6. MCPクライアントをサーバーを使用するように構成する

インストール

  1. リポジトリをクローンする
    git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server
  2. 依存関係をインストールしてビルドする
    npm install npm run build
  3. セットアップスクリプトを実行する
    npm run setup
  4. MCP設定に追加MCP 設定ファイルに次の内容を追加します。
    { "mcpServers": { "dbx": { "command": "node", "args": ["/path/to/dbx-mcp-server/build/index.js"] } } }

認証

サーバーは、Dropbox との安全な認証のために PKCE を使用した OAuth 2.0 を使用します。

環境変数

必須:

  • DROPBOX_APP_KEY : Dropbox アプリのキー
  • DROPBOX_APP_SECRET : Dropbox アプリのシークレット
  • DROPBOX_REDIRECT_URI : OAuth リダイレクト URI
  • TOKEN_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 : アカウント情報を取得する

使用例

// 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, });

テスト

テスト スイートを実行します。

npm test

テストでは、認証、ファイル操作、エラー処理など、すべての操作を検証します。

テスト構造

テスト スイートは複数のモジュールに編成されています。

  • Dropbox 操作: 基本的なファイル操作 (アップロード、ダウンロード、リストなど) をテストします。
  • アカウント操作: アカウント情報にアクセスするためのテスト
  • 検索と削除: 検索機能とごみ箱サポートによる安全な削除のテスト
  • リソース システム: MCP リソース システム統合のテスト

テストデータの処理

テストでは、タイムスタンプに基づいて動的に生成されたファイル名とフォルダ名を使用することで、競合を回避します。テスト実行後、テストデータは自動的にクリーンアップされます。

特定のテストの実行

特定のテスト ファイルまたはテスト グループを実行するには:

npm test -- tests/dropbox/search-delete.test.ts # Run specific test file npm test -- -t "should search for files" # Run tests matching description

トラブルシューティングテスト

タイミングまたは認証の問題でテストが失敗した場合:

  1. tests/setup.ts内のモック実装がテストの期待値と一致していることを確認します。
  2. テストヘルパーが正しく構成されていることを確認する
  3. Jest スコープエラーの場合、モックファクトリー関数でインポートされた変数を参照しないでください。

発達

搭載コンポーネント:

  • タイプスクリプト
  • モデルコンテキストプロトコルSDK
  • Dropbox SDK v10.34.0
  • Dropbox API v2

ライセンス

MITライセンス

著作権 (c) 2025 MCP サーバー貢献者

本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。

本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。

-
security - not tested
A
license - permissive license
-
quality - not tested

モデル コンテキスト プロトコルを介して Dropbox とのやり取りを可能にし、安全なランタイム認証によるファイル管理、アップロード、ダウンロード、削除、トークン更新のためのツールを提供します。

  1. Table of Contents
    1. Quick Start
      1. Installation
        1. Authentication
          1. Environment Variables
        2. Available Tools
          1. File Operations
          2. Metadata and Search
          3. Account Operations
        3. Usage Examples
          1. Testing
            1. Test Structure
            2. Handling Test Data
            3. Running Specific Tests
            4. Troubleshooting Tests
          2. Development
            1. License
              ID: c1cftspvj3