Dropbox MCP
Um servidor MCP para integração com o Dropbox, permitindo que clientes interajam com arquivos e pastas.
Documentação
dbx-mcp-server
Um servidor Model Context Protocol (MCP) que fornece integração com o Dropbox, permitindo que clientes compatíveis com MCP interajam com o Dropbox por meio de um conjunto de ferramentas poderosas.
Aviso Importante: Este projeto não é afiliado, endossado ou patrocinado pelo Dropbox. É uma integração independente que funciona com a API pública do Dropbox.
Sumário
- Início Rápido
- Instalação
- Autenticação
- Ferramentas Disponíveis
- Permissões Necessárias do Dropbox
- Exemplos de Uso
- Desenvolvimento
- Licença
Início Rápido
- Clone o repositório
- Execute
npm installpara instalar as dependências - Execute
npm run buildpara compilar o projeto - Execute
npm run setup - Configure seu cliente MCP para usar o servidor
Pré-requisitos
Registre um aplicativo Dropbox no Console de Aplicativos do Dropbox:
- Escolha a API "Scoped access"
- Escolha o tipo de acesso que seu aplicativo precisa
- Dê um nome ao seu aplicativo e clique em "Create app"
- Em "Permissions", selecione as permissões desejadas para as ações que você usará, por exemplo:
files.metadata.readfiles.content.readfiles.content.writesharing.writeaccount_info.read
- Adicione
http://localhostcomo seu URI de redirecionamento - Anote sua App key e App secret
Instalação
-
Clone o repositório
git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server -
Instale as dependências e compile
npm install npm run build -
Execute o script de configuração
npm run setup -
Adicione às configurações do MCP
Adicione o seguinte ao seu arquivo de configurações do MCP:
{ "mcpServers": { "dbx": { "command": "node", "args": ["/path/to/dbx-mcp-server/build/index.js"] } } }
Autenticação
O servidor usa OAuth 2.0 com PKCE para autenticação segura com o Dropbox.
Variáveis de Ambiente
Obrigatórias:
DROPBOX_APP_KEY: A chave do seu aplicativo DropboxDROPBOX_APP_SECRET: O segredo do seu aplicativo DropboxDROPBOX_REDIRECT_URI: URI de redirecionamento OAuthTOKEN_ENCRYPTION_KEY: Chave de 32+ caracteres para criptografia de token
Opcionais:
TOKEN_REFRESH_THRESHOLD_MINUTES: Minutos antes da expiração para renovar o token (padrão: 5)MAX_TOKEN_REFRESH_RETRIES: Número máximo de tentativas de renovação (padrão: 3)TOKEN_REFRESH_RETRY_DELAY_MS: Atraso entre tentativas de renovação em ms (padrão: 1000)
Ferramentas Disponíveis
Operações de Arquivo
list_files: Listar arquivos em um diretórioupload_file: Enviar um arquivodownload_file: Baixar um arquivosafe_delete_item: Excluir com segurança com suporte à lixeiracreate_folder: Criar uma nova pastacopy_item: Copiar um arquivo ou pastamove_item: Mover ou renomear um arquivo/pasta
Metadados e Pesquisa
get_file_metadata: Obter metadados de arquivo/pastasearch_file_db: Pesquisar arquivos e pastasget_sharing_link: Criar links de compartilhamentoget_file_content: Obter conteúdo de arquivo
Operações de Conta
get_account_info: Obter informações da conta
Permissões Necessárias do Dropbox
Abaixo está um mapeamento das ações do servidor para os escopos OAuth mínimos do Dropbox (permissões) necessários:
| Ação do Servidor | Escopos OAuth do Dropbox Necessários |
|---|---|
| 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 |
Escopos Adicionais (se necessário):
sharing.read: Visualizar configurações de compartilhamento e colaboradoresfile_requests.read/file_requests.write: Para recursos de solicitação de arquivoscontacts.read/contacts.write: Para acessar contatos do Dropbox
Para mais detalhes sobre os escopos do Dropbox, consulte a Documentação de Permissões do Dropbox.
Exemplos 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,
});
Desenvolvimento
Construído com:
- TypeScript
- Model Context Protocol SDK
- Dropbox SDK v10.34.0
- Dropbox API v2
Licença
Licença MIT
Copyright (c) 2025 MCP Server Contributors
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:
O aviso de copyright acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM AÇÃO DE CONTRATO, ATO ILÍCITO OU OUTRA FORMA, DECORRENTE DE, FORA OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.