dbx-mcp-server
Un serveur Model Context Protocol (MCP) qui fournit une intégration avec Dropbox, permettant aux clients compatibles MCP d'interagir avec Dropbox par le biais d'un ensemble d'outils puissants.
Avertissement important : ce projet n'est pas affilié à Dropbox, ni approuvé par elle, ni sponsorisé par elle. Il s'agit d'une intégration indépendante qui fonctionne avec l'API publique de Dropbox.
Table des matières
- Démarrage rapide
- Installation de l'application
- Authentification
- Outils disponibles
- Autorisations Dropbox requises
- Exemples d'utilisation
- Développement
- Licence d'utilisation
Démarrage rapide
- Cloner le dépôt
- Exécuter
npm install
pour installer les dépendances - Exécuter npm
run build
pour construire le projet - Exécuter npm
run setup
- Configurer votre client MCP pour utiliser le serveur
Conditions préalables
Enregistrez une application Dropbox dans la Dropbox App Console:
- Choisissez l'API "Scoped access" (accès limité)
- Choisissez le type d'accès dont votre application a besoin
- Nommez votre application et cliquez sur "Create app" (Créer une application)
- Sous "Permissions", sélectionnez les autorisations souhaitées pour les actions que vous utiliserez, par exemple
fichiers.metadata.read
files.content.read
fichiers.contenu.écriture
partage.écriture
account_info.read
- Ajoutez
http://localhost
comme URI de redirection - Notez votre clé d'application et votre secret d'application
L'installation
Clonez le dépôt
git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server
Installer les dépendances et construire
npm install npm run build
Exécuter le script d'installation
npm run setup
Ajouter aux paramètres MCP
Ajoutez les éléments suivants à votre fichier de configuration MCP :
{ "mcpServers" : { "dbx" : { "command" : "node", "args" : ["/path/to/dbx-mcp-server/build/index.js"] } } }
Authentification
Le serveur utilise OAuth 2.0 avec PKCE pour une authentification sécurisée avec Dropbox.
Variables d'environnement
Obligatoire :
DROPBOX_APP_KEY
: La clé de votre application DropboxDROPBOX_APP_SECRET
: le secret de votre application DropboxDROPBOX_REDIRECT_URI
: URI de redirection OAuthTOKEN_ENCRYPTION_KEY
: Clé de plus de 32 caractères pour le chiffrement du jeton
Optionnel :
TOKEN_REFRESH_THRESHOLD_MINUTES
: Minutes avant l'expiration pour rafraîchir le jeton (par défaut : 5)MAX_TOKEN_REFRESH_RETRIES
: Nombre maximal de tentatives de rafraîchissement (par défaut : 3)TOKEN_REFRESH_RETRY_DELAY_MS
: Délai entre les tentatives de rafraîchissement en ms (par défaut : 1000)
Outils disponibles
Opérations sur les fichiers
list_files
: Liste les fichiers d'un répertoireupload_file
: Télécharger un fichierdownload_file
: Télécharger un fichiersafe_delete_item
: Supprimer en toute sécurité avec le support de la corbeillecreate_folder
: Créer un nouveau dossiercopy_item
: Copier un fichier ou un dossiermove_item
: Déplacer ou renommer un fichier/dossier
Métadonnées et recherche
get_file_metadata
: Obtenir les métadonnées d'un fichier/dossiersearch_file_db
: Recherche de fichiers et de dossiersget_sharing_link
: Créer des liens de partageget_file_content
: Obtenir le contenu d'un fichier
Opérations sur les comptes
get_account_info
: Obtenir des informations sur le compte
Autorisations Dropbox requises
Vous trouverez ci-dessous une correspondance entre les actions du serveur et les autorisations minimales requises par Dropbox OAuth :
Action du serveur | Champs d'application Dropbox requis |
---|---|
list_files | files.metadata.read |
upload_file | files.content.write , files.metadata.write |
download_file | fichiers.contenu.lire |
safe_delete_item | fichiers.metadata.write |
créer_dossier | fichiers.metadata.write |
copy_item | files.content.write , files.metadata.write |
move_item | files.content.write , files.metadata.write |
get_file_metadata | fichiers.metadata.read |
search_file_db | fichiers.metadata.read |
get_sharing_link | partage.écriture |
get_file_content | fichiers.contenu.lire |
get_account_info | account_info.read |
Portées supplémentaires (si nécessaire) :
sharing.read
: Affichage des paramètres de partage et des collaborateursfile_requests.read
/file_requests.write
: Pour les fonctionnalités de demande de fichiercontacts.read
/contacts.write
: Pour accéder aux contacts Dropbox
Pour plus de détails sur les champs d'application Dropbox, consultez la documentation sur les autorisations Dropbox.
Exemples d'utilisation
// Liste des fichiers dans le répertoire racine await mcp.useTool("dbx-mcp-server", "list_files", { path : "" }) ; // Téléchargement d'un fichier await mcp.useTool("dbx-mcp-server", "upload_file", { path : "/test.txt", content : Buffer.from("Hello World").toString("base64"), }) ; // Recherche de fichiers await mcp.useTool("dbx-mcp-server", "search_file_db", { query : "report", path : "/Documents", max_results : 10, })
Développement
Construit avec :
- TypeScript
- Modèle Contexte Protocole SDK
- SDK Dropbox v10.34.0
- API Dropbox v2
Licence
Licence MIT
Copyright (c) 2025 MCP Server Contributors
L'autorisation est accordée par la présente, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de traiter le Logiciel sans restriction, y compris sans limitation les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sous-licence, et/ou de vente de copies du Logiciel, et d'autoriser les personnes à qui le Logiciel est fourni à le faire, sous réserve des conditions suivantes :
L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans toutes les copies ou parties substantielles du logiciel.
LE LOGICIEL EST FOURNI "TEL QUEL", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS LES AUTEURS OU LES DÉTENTEURS DES DROITS D'AUTEUR NE PEUVENT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE OU EN RAPPORT AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES OPÉRATIONS LIÉES AU LOGICIEL.