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

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