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

  1. Clone o repositório
  2. Execute npm install para instalar as dependências
  3. Execute npm run build para compilar o projeto
  4. Execute npm run setup
  5. 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.read
    • files.content.read
    • files.content.write
    • sharing.write
    • account_info.read
  • Adicione http://localhost como seu URI de redirecionamento
  • Anote sua App key e App secret

Instalação

  1. Clone o repositório

    git clone https://github.com/your-username/dbx-mcp-server.git
    cd dbx-mcp-server
    
  2. Instale as dependências e compile

    npm install
    npm run build
    
  3. Execute o script de configuração

    npm run setup
    
  4. 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 Dropbox
  • DROPBOX_APP_SECRET: O segredo do seu aplicativo Dropbox
  • DROPBOX_REDIRECT_URI: URI de redirecionamento OAuth
  • TOKEN_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ório
  • upload_file: Enviar um arquivo
  • download_file: Baixar um arquivo
  • safe_delete_item: Excluir com segurança com suporte à lixeira
  • create_folder: Criar uma nova pasta
  • copy_item: Copiar um arquivo ou pasta
  • move_item: Mover ou renomear um arquivo/pasta

Metadados e Pesquisa

  • get_file_metadata: Obter metadados de arquivo/pasta
  • search_file_db: Pesquisar arquivos e pastas
  • get_sharing_link: Criar links de compartilhamento
  • get_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 ServidorEscopos OAuth do Dropbox Necessários
list_filesfiles.metadata.read
upload_filefiles.content.write, files.metadata.write
download_filefiles.content.read
safe_delete_itemfiles.metadata.write
create_folderfiles.metadata.write
copy_itemfiles.content.write, files.metadata.write
move_itemfiles.content.write, files.metadata.write
get_file_metadatafiles.metadata.read
search_file_dbfiles.metadata.read
get_sharing_linksharing.write
get_file_contentfiles.content.read
get_account_infoaccount_info.read

Escopos Adicionais (se necessário):

  • sharing.read: Visualizar configurações de compartilhamento e colaboradores
  • file_requests.read / file_requests.write: Para recursos de solicitação de arquivos
  • contacts.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.