Storacha MCP Storage Server

Um servidor MCP para armazenamento quente da Storacha, permitindo que aplicações de IA armazenem e recuperem arquivos usando IPFS e CIDs.

Documentação

Storacha MCP Storage Server

Um servidor Model Context Protocol (MCP) para armazenamento quente Storacha, permitindo que aplicações de IA armazenem e recuperem arquivos por meio de uma interface padronizada. Ele possibilita troca de dados descentralizada e sem confiança usando IPFS e CIDs, garantindo soberania de dados, verificabilidade e integração perfeita com frameworks de agentes e sistemas de IA.

Opções de Armazenamento Gratuito para Começar 🚀

Comece sua jornada de armazenamento descentralizado hoje mesmo!

  • Usuários do GitHub: Cadastre-se com sua conta GitHub e receba instantaneamente 100MB de armazenamento gratuito — sem necessidade de cartão de crédito!
  • Usuários de E-mail: Registre-se com seu e-mail e adicione um cartão de crédito para desbloquear 5GB de espaço de armazenamento gratuito.

Casos de Uso

  • Armazenamento e Análise de Documentos: Envie e recupere documentos Blob com segurança.
  • Armazenamento de Dados Estruturados de Longo Prazo: Mantenha armazenamento de dados estruturados otimizado para longevidade e acessibilidade.
  • Compartilhamento de Dados entre Agentes e Sistemas: Compartilhe dados facilmente entre múltiplos agentes e diversos sistemas usando CIDs (Identificadores de Conteúdo), permitindo troca de dados descentralizada, verificável e eficiente.
  • Integração de Aplicações: Integre perfeitamente a recuperação de armazenamento Storacha em aplicações via Model Context Protocol.
  • Desenvolvimento de Modelos de IA: Suporte modelos de IA fornecendo versionamento confiável e acesso a conjuntos de dados externos armazenados no Storacha.
  • Integração com LLMs: Aprimore grandes modelos de linguagem (LLMs) conectando-os diretamente ao armazenamento Storacha para acesso contínuo a dados.
  • Backups de Aplicações Web: Armazene de forma confiável cópias de backup de aplicações web para recuperação de desastres.
  • Conjuntos de Dados de Machine Learning: Gerencie e acesse com eficiência grandes conjuntos de dados usados em fluxos de trabalho de machine learning.

Guia Rápido de Instalação

Comece com o Storacha MCP Storage Server em apenas alguns passos simples.

  1. Clone o Repositório

    git clone https://github.com/storacha/mcp-storage-server.git && cd mcp-storage-server
    
  2. Instale as Dependências

    pnpm install
    
  3. Gere Chaves e Delegação

    • Instale a CLI

      npm install -g @web3-storage/w3cli
      
    • Faça login no Storacha

      w3 login
      

      Saída:

      ? How do you want to login?
        Via Email
      ❯ Via GitHub
      

      Selecione Via GitHub e autentique-se com sua conta GitHub.

    • Crie um Espaço

      w3 space create <your_space_name>
      

      Substitua <your_space_name> por um nome para seu novo Espaço. :warning: Certifique-se de salvar a chave de recuperação para poder acessar seu espaço de outro dispositivo, se necessário.

    • Crie uma Chave Privada

      w3 key create
      

      Saída:

      AgentId: did:key:z6MkhMZRW2aoJ6BQwkpMSJu68Jgqkz1FTpr1p69cpnN43YWG
      PrivateKey: LMgCYLkvOc8Sm0mOL4cWFLxsWP0ZPEYrLxcQqsV93/s5RLje0BKx05muAse1Hkvh+sxUW38OcHtpiN1zxfpTJ4ht4jxV0=
      
    • Defina o ID do Agente e Crie a Delegação

      w3 delegation create <agent_id> \
       --can 'store/add' \
       --can 'filecoin/offer' \
       --can 'upload/add' \
       --can 'space/blob/add' \
       --can 'space/index/add' --base64
      

      Substitua <agent_id> pelo AgentId da etapa anterior. Isso concede ao Agente a permissão de armazenar arquivos no espaço recém-criado.

  4. Configure o Cliente MCP

    Em seguida, configure seu cliente MCP (como o Cursor) para usar este servidor. A maioria dos clientes MCP armazena a configuração como JSON no seguinte formato:

    {
      "mcpServers": {
        "storacha-storage-server": {
          "command": "node",
          "args": ["./dist/index.js"],
          "env": {
            // The server supports `stdio`, `sse`, and `rest` modes, the default is `stdio`.
            "MCP_TRANSPORT_MODE": "stdio",
            // The Storacha Agent private key that is authorized to store data into the Space.
            "PRIVATE_KEY": "<agent_private_key>",
            // The base64 encoded delegation that proves the Agent is allowed to store data. If not set, MUST be provided for each upload request.
            "DELEGATION": "<base64_delegation>",
          },
          "shell": true,
          "cwd": "./",
        },
      },
    }
    

    Substitua <agent_private_key> pela PrivateKey criada na etapa 3. Em seguida, substitua o <base64_delegation> pela delegação criada na etapa 3.

    Modo REST e Hospedagem em Nuvem

    O Storacha MCP Storage Server suporta o modo de transporte REST, que é compatível com a hospedagem em nuvem MCP.so. Para usar o modo REST:

    {
      "mcpServers": {
        "storacha-storage-server-rest": {
          "url": "http://localhost:3001/rest",
        },
      },
    }
    

    Para mais informações sobre implantação na nuvem MCP.so, consulte o guia integrations.md.

    :warning: Existem várias maneiras de configurar clientes MCP; leia o guia integrations.md para mais informações.

Ferramentas

O Storacha MCP Storage Server fornece as seguintes ferramentas para que sistemas de IA interajam com uma rede de armazenamento descentralizada.

Operações de Armazenamento

upload

Envie um arquivo para a Rede Storacha. O arquivo deve ser fornecido como uma string codificada em base64 com um nome de arquivo que inclua a extensão para detecção do tipo MIME.

interface UploadParams {
  // Base64 encoded file content
  file: string;
  // Filename with extension for MIME type detection
  name: string;
  // Optional: Whether to publish to Filecoin (default: false)
  publishToFilecoin?: boolean;
  // Optional: Custom delegation proof
  delegation?: string;
  // Optional: Custom gateway URL
  gatewayUrl?: string;
}

retrieve

Recupere um arquivo da Rede Storacha. Formatos de caminho de arquivo suportados: CID/filename, /ipfs/CID/filename ou ipfs://CID/filename.

interface RetrieveParams {
  // Path in format: CID/filename, /ipfs/CID/filename, or ipfs://CID/filename
  filepath: string;
  // Optional: Whether to use multiformat base64 encoding
  useMultiformatBase64?: boolean;
}

identity

Retorna o DIDKey do Agente Storacha carregado a partir da configuração de armazenamento da chave privada.

interface IdentityParams {
  // No parameters required
}

Consulte o guia integrations.md para exemplos de código detalhados e diferentes padrões de integração (SDK, Docker, etc).

Licença

Licença MIT ou Apache 2

Suporte

Para suporte, visite Suporte Storacha ou abra uma issue neste repositório.

Certificações