Dropbox MCP Server

by Albiemark
Verified

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

  • Provides integration with Dropbox's API, offering tools for file operations (listing, uploading, downloading), metadata retrieval, search functionality, folder management, sharing capabilities, and account information access.

servidor dbx-mcp

Un servidor de Protocolo de contexto de modelo (MCP) que proporciona integración con Dropbox, lo que permite a los clientes compatibles con MCP interactuar con Dropbox a través de un conjunto de herramientas potentes.

Aviso importante: Este proyecto no está afiliado, respaldado ni patrocinado por Dropbox. Es una integración independiente que funciona con la API pública de Dropbox.

Tabla de contenido

Inicio rápido

  1. Clonar el repositorio
  2. Ejecute npm install para instalar las dependencias
  3. Ejecute npm run build para compilar el proyecto
  4. Registrar una aplicación de Dropbox en la consola de aplicaciones de Dropbox :
    • Seleccione la API "Acceso con alcance"
    • Elige el tipo de acceso que necesita tu aplicación
    • Nombra tu aplicación y haz clic en "Crear aplicación".
    • En "Permisos", seleccione los permisos necesarios:
      • files.metadata.read
      • files.content.read
      • files.content.write
      • sharing.write
      • account_info.read
    • Agregue http://localhost:3000/callback como su URI de redireccionamiento
    • Anote la clave de su aplicación y el secreto de la aplicación
  5. Ejecute el script de configuración:
    npm run setup
  6. Configure su cliente MCP para utilizar el servidor

Instalación

  1. Clonar el repositorio
    git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server
  2. Instalar dependencias y compilar
    npm install npm run build
  3. Ejecutar el script de configuración
    npm run setup
  4. Agregar a la configuración de MCPAgregue lo siguiente a su archivo de configuración de MCP:
    { "mcpServers": { "dbx": { "command": "node", "args": ["/path/to/dbx-mcp-server/build/index.js"] } } }

Autenticación

El servidor utiliza OAuth 2.0 con PKCE para la autenticación segura con Dropbox.

Variables de entorno

Requerido:

  • DROPBOX_APP_KEY : La clave de tu aplicación de Dropbox
  • DROPBOX_APP_SECRET : El secreto de tu aplicación de Dropbox
  • DROPBOX_REDIRECT_URI : URI de redirección de OAuth
  • TOKEN_ENCRYPTION_KEY : clave de más de 32 caracteres para el cifrado del token

Opcional:

  • TOKEN_REFRESH_THRESHOLD_MINUTES : Minutos antes del vencimiento para actualizar el token (valor predeterminado: 5)
  • MAX_TOKEN_REFRESH_RETRIES : Número máximo de intentos de actualización (predeterminado: 3)
  • TOKEN_REFRESH_RETRY_DELAY_MS : Retraso entre intentos de actualización en ms (valor predeterminado: 1000)

Herramientas disponibles

Operaciones con archivos

  • list_files : Lista los archivos en un directorio
  • upload_file : Subir un archivo
  • download_file : Descargar un archivo
  • safe_delete_item : Eliminación segura con soporte para papelera de reciclaje
  • create_folder : Crea una nueva carpeta
  • copy_item : Copiar un archivo o carpeta
  • move_item : Mover o renombrar un archivo/carpeta

Metadatos y búsqueda

  • get_file_metadata : Obtener metadatos de archivo/carpeta
  • search_file_db : Buscar archivos y carpetas
  • get_sharing_link : Crea enlaces para compartir
  • get_file_content : Obtener el contenido del archivo

Operaciones de cuenta

  • get_account_info : Obtener información de la cuenta

Ejemplos de uso

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

Pruebas

Ejecute el conjunto de pruebas:

npm test

Las pruebas verifican todas las operaciones, incluida la autenticación, las operaciones con archivos y el manejo de errores.

Estructura de la prueba

El conjunto de pruebas está organizado en varios módulos:

  • Operaciones de Dropbox : pruebas para operaciones básicas de archivos (cargar, descargar, listar, etc.)
  • Operaciones de la cuenta : Pruebas para acceder a la información de la cuenta
  • Buscar y eliminar : pruebas de funcionalidad de búsqueda y eliminación segura con compatibilidad con papelera de reciclaje
  • Sistema de recursos : Pruebas para la integración del sistema de recursos MCP

Manejo de datos de prueba

Las pruebas utilizan nombres de archivos y carpetas generados dinámicamente según las marcas de tiempo para evitar conflictos. Los datos de prueba se limpian automáticamente tras su ejecución.

Ejecución de pruebas específicas

Para ejecutar un archivo de prueba o un grupo de pruebas específico:

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

Pruebas de resolución de problemas

Si las pruebas fallan por problemas de sincronización o autenticación:

  1. Verifique que las implementaciones simuladas en tests/setup.ts coincidan con sus expectativas de prueba
  2. Asegúrese de que los asistentes de prueba estén configurados correctamente
  3. Para los errores de alcance de Jest, evite hacer referencia a variables importadas en funciones de fábrica simuladas

Desarrollo

Construido con:

  • Mecanografiado
  • SDK de protocolo de contexto de modelo
  • Kit de desarrollo de software de Dropbox v10.34.0
  • API de Dropbox v2

Licencia

Licencia MIT

Copyright (c) 2025 Colaboradores del servidor MCP

Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluyendo, sin limitación, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:

El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE, SE DERIVE DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS RELACIONES CON EL MISMO.

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

Un servidor de protocolo de contexto de modelo que permite que las aplicaciones de IA interactúen con Dropbox, proporcionando herramientas para operaciones de archivos, recuperación de metadatos, búsqueda y administración de cuentas a través de la API de 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: ng3yif9lh7