dimo storage
armazenamento em nuvem rápido e barato de até 100GB.
Servidor MCP hospedado
npx add-mcp 'https://dimosoftwares.ir/storage/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Configuração
Existem duas formas de conexão. Se o seu cliente suporta "login", a primeira opção é mais simples e segura.
- Login (OAuth)
Para claude.ai, Claude Desktop, app mobile Claude, Cursor, VS Code e Claude Code. Basta inserir o endereço do servidor; a página de login do dimo storage será aberta e, após clicar em "Permitir", a conexão estará estabelecida. Não é necessário token.
- Token pessoal
Para clientes que aceitam apenas cabeçalhos (Hermes, scripts, curl) ou quando você não quer que o navegador seja aberto. Crie o token na próxima seção e envie-o no cabeçalho Authorization.
- Adicione o endereço do servidor no cliente.
O tipo de conexão éHTTP(Streamable HTTP). Exemplos de cada cliente estão na seção "Configuração de clientes". - Faça login ou insira o token.
Com OAuth, clique no botão Connect/Authenticate do cliente. Com token, coloque-o no cabeçalho. - Teste a conexão.
Peça ao assistente para executarstorage_status; ele deve mostrar seu espaço usado e disponível.
Seu token pessoal
Necessário apenas para conexão com token (segunda opção). Este token é separado do token do Imagin: cada um pode ser revogado de forma independente. O token é como uma senha — não o coloque em código ou repositórios públicos.
Para criar um token pessoal, acesse sua conta.
Configuração de clientes
Nos exemplos com token, substitua DIMO_STORAGE_TOKEN pelo seu token (se você acabou de criar um token, ele já foi substituído automaticamente). Para conexão via login, remova a seção headers.
Não é necessário token. No claude.ai, vá para Settings → Connectors → Add custom connector, insira o endereço abaixo e clique em "Connect" após "Add". A página de login do dimo storage será aberta; clique em "Permitir".
https://dimosoftwares.ir/storage/mcp
Deixe a seção "Advanced settings" (Client ID / Secret) vazia. Claude Desktop e o app mobile também usam este mesmo conector. Storage e Imagin são dois conectores separados e você pode adicionar apenas um.
Autenticação
Cada requisição HTTP deve conter o token no cabeçalho. O token não é aceito no endereço (query string), pois URLs são registradas em logs. Clientes que suportam login encontram automaticamente o caminho OAuth pelo cabeçalho da resposta 401.
Authorization: Bearer dimo_smcp_… # توکن شخصی استوریج
Authorization: Bearer dimo_oat_… # صادرشده با OAuth (claude.ai، Cursor)
# یا بهجای آن:
X-Dimo-Key: dimo_smcp_…
401 Unauthorized
Token não enviado, expirado ou revogado. A resposta inclui o cabeçalho WWW-Authenticate para que clientes iniciem o login OAuth automaticamente.
Separado do Imagin
O token do Storage (dimo_smcp_) e o token do Imagin (dimo_mcp_) são coisas diferentes e não funcionam em outro servidor. Tokens OAuth também têm escopos (scopes) separados.
Tokens OAuth
O token de acesso tem validade de uma hora e o cliente o renova automaticamente; se não for usado por 60 dias, será necessário fazer login novamente.
Agentes do dimo storage
Cada agente tem seu próprio token (dimo_smcpa_…) e não depende do seu token pessoal. Desativar o acesso a arquivos ou excluir o agente interrompe o acesso dele.
Troca de token
Com "Criar novo token", o token anterior é invalidado imediatamente; atualize os clientes.
Armazenamento
O dimo storage armazena apenas o hash dos tokens; por isso, não é possível exibir novamente o token pessoal.
Ferramentas
O cliente obtém a lista de ferramentas automaticamente. Obtenha os IDs dos arquivos (file_id) com list_files. As ferramentas dos grupos "Leitura" e "Conta" não alteram nada; trash_item é reversível e delete_file exclui permanentemente.
list_filesLeitura
Lista ou busca arquivos e pastas; retorna os IDs dos arquivos para as demais ferramentas.
folder, search, kind, sort, limit, offset
list_foldersLeitura
Árvore completa de pastas em formato plano, com a profundidade de cada linha.
—
get_fileLeitura
Detalhes de um arquivo com link de visualização e download (para enviar a você mesmo).
file_id
read_fileLeitura
Lê o conteúdo do arquivo: texto como texto, imagem como pré-visualização, demais como base64.
file_id, as_text, max_bytes
list_trashLeitura
Arquivos na lixeira (recuperáveis por até 30 dias).
limit
storage_statusConta
Espaço usado, disponível e total, além do número de arquivos.
resync
upload_fileEscrita
Salva um arquivo novo; pastas com nome desconhecido são criadas e nomes duplicados nunca são sobrescritos.
filename, text | data_base64, folder, content_type
create_folderEscrita
Cria uma pasta, inclusive dentro de outra pasta, se necessário.
name, parent
rename_itemEscrita
Renomeia um arquivo ou uma pasta.
new_name, file_id | folder_id
move_fileEscrita
Move um arquivo para outra pasta (ou para a raiz do armazenamento).
file_id, folder
trash_itemExclusão
Envia um arquivo ou uma pasta inteira para a lixeira — reversível por até 30 dias.
file_id | folder_id
restore_fileExclusão
Restaura um arquivo da lixeira.
file_id
delete_fileExclusão
Exclusão permanente e liberação de espaço; requer confirm=true e é irreversível.
file_id, confirm
share_fileCompartilhamento
Cria um link público para um arquivo ou revoga um link existente.
file_id | revoke_token, expires_days
Exemplos de solicitações
Não é necessário saber os nomes das ferramentas; basta pedir em linguagem natural.
Encontrar
"Procure contratos no meu armazenamento e liste-os."
Ler
"Leia o arquivo notes.md e resuma-o."
Criar
"Salve esta tabela como CSV na pasta Documentos."
Organizar
"Mova todas as imagens da raiz do armazenamento para a pasta Imagens."
Compartilhar
"Crie um link público de sete dias para o relatório trimestral."
Espaço
"Quanto do meu espaço está ocupado e quais são meus maiores arquivos?"
Com o Imagin
"Crie um pôster e salve-o junto aos arquivos da campanha." (O Imagin cria, o Storage move.)
Dicas
Mesmo espaço
Este é o mesmo espaço que você vê em "Meus arquivos" — não é uma cópia. Qualquer alteração feita pelo assistente aparece imediatamente na página web.
Exclusão em duas etapas
trash_item envia o arquivo para a lixeira, onde pode ser recuperado por até 30 dias. delete_file é permanente e, para evitar erros, exige confirm=true.
Nunca sobrescreve
Nomes duplicados são convertidos para "Nome (2)"; nenhuma ferramenta substitui o conteúdo de um arquivo existente.
Cota
Os uploads consomem o espaço adquirido. Se não houver espaço, a ferramenta retorna um erro claro.
Tamanho
Cada upload via MCP tem até 64 MB, e a leitura de arquivos binários até 8 MB; para arquivos maiores, use a página de upload.
Pasta de agentes
Quando o agente não especifica uma pasta, a saída é salva em "Arquivos de agentes" para não poluir a raiz do seu espaço.
Link de compartilhamento
O link público abre sem necessidade de conta. Quando quiser, revogue-o com share_file(revoke_token=…) ou pela página "Compartilhados".
Solução de problemas
claude.ai não conecta
Insira o endereço exatamente como acima, sem / no final, e deixe a seção Advanced settings vazia. Se não voltar ao claude.ai após clicar em "Permitir", clique no botão "Voltar ao aplicativo".
401 com token
Token revogado ou alterado, prefixo Bearer esquecido, ou você enviou o token do Imagin para este servidor. Crie um token do Storage e substitua.
"Espaço insuficiente"
Sua cota está cheia. Esvazie a lixeira ou adicione espaço pelos pacotes de recursos.
Arquivo não encontrado
Talvez esteja na lixeira; clique em list_trash. A busca list_files(search=…) percorre todo o espaço, não apenas a pasta atual.
"Esta extensão não é permitida"
O servidor de Storage não aceita scripts do lado do servidor (php, sh, py etc.). Altere a extensão ou coloque o arquivo em um arquivo compactado.
Ferramentas não aparecem
Após alterar a configuração, reinicie o cliente ou clique em Refresh na lista de servidores MCP.