Dropbox MCP Server
Un servidor MCP para interactuar con Dropbox, que permite a los clientes gestionar archivos y carpetas.
Documentación
dbx-mcp-server
Un servidor de Model Context Protocol (MCP) que proporciona integración con Dropbox, permitiendo que clientes compatibles con MCP interactúen 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 Contenidos
- Inicio Rápido
- Instalación
- Autenticación
- Herramientas Disponibles
- Permisos Requeridos de Dropbox
- Ejemplos de Uso
- Desarrollo
- Licencia
Inicio Rápido
- Clona el repositorio
- Ejecuta
npm installpara instalar las dependencias - Ejecuta
npm run buildpara compilar el proyecto - Ejecuta
npm run setup - Configura tu cliente MCP para usar el servidor
Requisitos Previos
Registra una aplicación de Dropbox en Consola de Aplicaciones de Dropbox:
- Elige la API de "Acceso con alcance"
- Elige el tipo de acceso que tu aplicación necesita
- Nombra tu aplicación y haz clic en "Crear aplicación"
- En "Permisos", selecciona los permisos deseados para las acciones que usarás, por ejemplo:
files.metadata.readfiles.content.readfiles.content.writesharing.writeaccount_info.read
- Agrega
http://localhostcomo tu URI de redirección - Anota tu clave de aplicación y secreto de aplicación
Instalación
-
Clona el repositorio
git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server -
Instala las dependencias y compila
npm install npm run build -
Ejecuta el script de configuración
npm run setup -
Agrega a la configuración de MCP
Agrega lo siguiente a tu 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 una autenticación segura con Dropbox.
Variables de Entorno
Requeridas:
DROPBOX_APP_KEY: La clave de tu aplicación de DropboxDROPBOX_APP_SECRET: El secreto de tu aplicación de DropboxDROPBOX_REDIRECT_URI: URI de redirección de OAuthTOKEN_ENCRYPTION_KEY: Clave de 32+ caracteres para el cifrado de tokens
Opcionales:
TOKEN_REFRESH_THRESHOLD_MINUTES: Minutos antes de la expiración para renovar el token (predeterminado: 5)MAX_TOKEN_REFRESH_RETRIES: Número máximo de intentos de renovación (predeterminado: 3)TOKEN_REFRESH_RETRY_DELAY_MS: Retraso entre intentos de renovación en ms (predeterminado: 1000)
Herramientas Disponibles
Operaciones de Archivos
list_files: Lista archivos en un directorioupload_file: Sube un archivodownload_file: Descarga un archivosafe_delete_item: Elimina de forma segura con soporte de papelera de reciclajecreate_folder: Crea una nueva carpetacopy_item: Copia un archivo o carpetamove_item: Mueve o renombra un archivo/carpeta
Metadatos y Búsqueda
get_file_metadata: Obtiene metadatos de archivo/carpetasearch_file_db: Busca archivos y carpetasget_sharing_link: Crea enlaces para compartirget_file_content: Obtiene el contenido de un archivo
Operaciones de Cuenta
get_account_info: Obtiene información de la cuenta
Permisos Requeridos de Dropbox
A continuación se muestra un mapeo de las acciones del servidor a los alcances (permisos) mínimos de OAuth de Dropbox requeridos:
| Acción del Servidor | Alcances de Dropbox Requeridos |
|---|---|
| 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 |
Alcances Adicionales (si es necesario):
sharing.read: Ver configuraciones de uso compartido y colaboradoresfile_requests.read/file_requests.write: Para funciones de solicitud de archivoscontacts.read/contacts.write: Para acceder a contactos de Dropbox
Para más detalles sobre los alcances de Dropbox, consulta la Documentación de Permisos de Dropbox.
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,
});
Desarrollo
Construido con:
- TypeScript
- Model Context Protocol SDK
- Dropbox SDK v10.34.0
- Dropbox API v2
Licencia
Licencia MIT
Copyright (c) 2025 MCP Server Contributors
Se otorga permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar con el Software sin restricciones, incluyendo, sin limitación, los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a quienes se les proporcione el Software hacer lo mismo, sujeto a las siguientes condiciones:
El aviso de copyright 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 PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.