Skip to main content
Glama
amgadabdelhafez

Dropbox MCP Server

dbx-mcp-сервер

Сервер Model Context Protocol (MCP), обеспечивающий интеграцию с Dropbox, позволяющий MCP-совместимым клиентам взаимодействовать с Dropbox с помощью набора мощных инструментов.

Важное предупреждение: этот проект не связан, не одобрен и не спонсируется Dropbox. Это независимая интеграция, которая работает с открытым API Dropbox.

Оглавление

Related MCP server: File Operations MCP Server

Быстрый старт

  1. Клонировать репозиторий

  2. Запустите npm install для установки зависимостей.

  3. Запустите npm run build для сборки проекта.

  4. Зарегистрируйте приложение Dropbox в Dropbox App Console :

    • Выберите API «Ограниченный доступ»

    • Выберите тип доступа, необходимый вашему приложению

    • Дайте название вашему приложению и нажмите «Создать приложение».

    • В разделе «Разрешения» выберите необходимые разрешения:

      • files.metadata.read

      • files.content.read

      • files.content.write

      • sharing.write

      • account_info.read

    • Добавьте http://localhost:3000/callback в качестве URI перенаправления.

    • Запишите свой ключ приложения и секрет приложения.

  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"]
        }
      }
    }

Аутентификация

Сервер использует OAuth 2.0 с PKCE для безопасной аутентификации в Dropbox.

Переменные среды

Необходимый:

  • DROPBOX_APP_KEY : ключ вашего приложения Dropbox

  • DROPBOX_APP_SECRET : Секрет вашего приложения Dropbox

  • DROPBOX_REDIRECT_URI : URI перенаправления OAuth

  • 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 версии 10.34.0

  • API Dropbox v2

Лицензия

Лицензия Массачусетского технологического института

Авторские права (c) 2025 MCP Server Contributors

Настоящим предоставляется разрешение любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), безвозмездно использовать Программное обеспечение без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставляется Программное обеспечение, делать это при соблюдении следующих условий:

Вышеуказанное уведомление об авторских правах и настоящее уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В ДЕЙСТВИИ ПО КОНТРАКТУ, ДЕЛИКТЕ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ИЗ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ ДЕЛАМИ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ.

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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/amgadabdelhafez/dbx-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server