Storacha MCP Storage Server

Un servidor MCP para el almacenamiento en caliente de Storacha, que permite a las aplicaciones de IA almacenar y recuperar archivos usando IPFS y CIDs.

Documentación

Servidor de Almacenamiento Storacha MCP

Una implementación de servidor de Model Context Protocol (MCP) para el almacenamiento en caliente de Storacha, que permite a las aplicaciones de IA almacenar y recuperar archivos a través de una interfaz estandarizada. Habilita el intercambio de datos descentralizado y sin confianza utilizando IPFS y CIDs, garantizando soberanía de datos, verificabilidad e integración perfecta con marcos de agentes y sistemas de IA.

Opciones de Almacenamiento Gratuito para Empezar 🚀

¡Inicia hoy mismo tu viaje hacia el almacenamiento descentralizado!

  • Usuarios de GitHub: Regístrate con tu cuenta de GitHub y recibe al instante 100MB de almacenamiento gratuito — ¡sin necesidad de tarjeta de crédito!
  • Usuarios de Email: Regístrate con tu correo electrónico y añade una tarjeta de crédito para desbloquear 5GB de espacio de almacenamiento gratuito.

Casos de Uso

  • Almacenamiento y Análisis de Documentos: Sube y recupera documentos Blob de forma segura.
  • Almacenamiento de Datos Estructurados a Largo Plazo: Mantén un almacenamiento de datos estructurados optimizado para la longevidad y accesibilidad.
  • Intercambio de Datos entre Agentes y Sistemas: Comparte fácilmente datos entre múltiples agentes y diversos sistemas utilizando CIDs (Identificadores de Contenido), habilitando un intercambio de datos descentralizado, verificable y eficiente.
  • Integración de Aplicaciones: Integra perfectamente la recuperación de almacenamiento de Storacha en aplicaciones mediante el Model Context Protocol.
  • Desarrollo de Modelos de IA: Apoya a los modelos de IA proporcionando versionado confiable y acceso a conjuntos de datos externos almacenados en Storacha.
  • Integración con LLM: Mejora los modelos de lenguaje grandes (LLMs) conectándolos directamente con el Almacenamiento Storacha para un acceso fluido a los datos.
  • Copias de Seguridad de Aplicaciones Web: Almacena de manera confiable copias de seguridad de aplicaciones web para la recuperación ante desastres.
  • Conjuntos de Datos de Aprendizaje Automático: Gestiona y accede eficientemente a grandes conjuntos de datos utilizados en flujos de trabajo de aprendizaje automático.

Guía Rápida de Instalación

Comienza con el Servidor de Almacenamiento Storacha MCP en solo unos sencillos pasos.

  1. Clonar el Repositorio

    git clone https://github.com/storacha/mcp-storage-server.git && cd mcp-storage-server
    
  2. Instalar Dependencias

    pnpm install
    
  3. Generar Claves y Delegación

    • Instalar la CLI

      npm install -g @web3-storage/w3cli
      
    • Iniciar Sesión en Storacha

      w3 login
      

      Salida:

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

      Selecciona Via GitHub y autentícate con tu cuenta de GitHub.

    • Crear un Espacio

      w3 space create <your_space_name>
      

      Reemplaza <your_space_name> con un nombre para tu nuevo Espacio. :warning: Asegúrate de guardar la clave de recuperación, para que puedas acceder a tu espacio desde otro dispositivo si es necesario.

    • Crear una Clave Privada

      w3 key create
      

      Salida:

      AgentId: did:key:z6MkhMZRW2aoJ6BQwkpMSJu68Jgqkz1FTpr1p69cpnN43YWG
      PrivateKey: LMgCYLkvOc8Sm0mOL4cWFLxsWP0ZPEYrLxcQqsV93/s5RLje0BKx05muAse1Hkvh+sxUW38OcHtpiN1zxfpTJ4ht4jxV0=
      
    • Establecer el ID del Agente y Crear Delegación

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

      Reemplaza <agent_id> con el AgentId del paso anterior. Esto otorga al Agente el permiso para almacenar archivos en el espacio recientemente creado.

  4. Configurar el Cliente MCP

    A continuación, configura tu cliente MCP (como Cursor) para usar este servidor. La mayoría de los clientes MCP almacenan la configuración como JSON en el siguiente 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": "./",
        },
      },
    }
    

    Reemplaza <agent_private_key> con la PrivateKey que creaste en el paso 3. Luego, reemplaza <base64_delegation> con la delegación que creaste en el paso 3.

    Modo REST y Alojamiento en la Nube

    El Servidor de Almacenamiento Storacha MCP admite el modo de transporte REST, que es compatible con el alojamiento en la nube de MCP.so. Para usar el modo REST:

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

    Para más información sobre el despliegue en la nube de MCP.so, consulta la guía integrations.md.

    :warning: Hay varias formas de configurar los clientes MCP, por favor lee la guía integrations.md para más información.

Herramientas

El Servidor de Almacenamiento Storacha MCP proporciona las siguientes herramientas para que los sistemas de IA interactúen con una red de almacenamiento descentralizada.

Operaciones de Almacenamiento

upload

Sube un archivo a la Red Storacha. El archivo debe proporcionarse como una cadena codificada en base64 con un nombre de archivo que incluya la extensión para la detección del 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

Recupera un archivo de la Red Storacha. Formatos de ruta de archivo admitidos: CID/filename, /ipfs/CID/filename, o 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

Devuelve el DIDKey del Agente Storacha cargado desde la configuración de almacenamiento de la clave privada.

interface IdentityParams {
  // No parameters required
}

Consulta la guía integrations.md para ejemplos de código detallados y diferentes patrones de integración (SDK, Docker, etc).

Licencia

Licencia MIT o Apache 2

Soporte

Para soporte, visita Soporte de Storacha o abre un problema en este repositorio.

Certificaciones