mcp-ipfs

by alexbakers
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides a Docker deployment option with path mapping capabilities to enable file operations between the host and container when using storage-related commands.

  • Integrates with storacha.network (powered by IPFS technology) to manage spaces, upload/download data, share content via w3s.link URLs, manage delegations, create proofs, handle authentication, and access usage/billing information.

  • Implemented as a Node.js server that wraps the w3 command-line interface, enabling language models to interact with storacha.network functionality through structured API calls.

Servidor IPFS MCP (storacha.network) 🛰️

Un servidor Node.js que implementa el Protocolo de contexto de modelo (MCP) para interactuar con la plataforma storacha.network a través de la interfaz de línea de comandos w3 ( @web3-storage/w3cli ).

Este servidor permite a los modelos de lenguaje 🤖 y otros clientes MCP administrar espacios de storacha.network, cargar/descargar datos, administrar delegaciones y realizar varias otras tareas al encapsular perfectamente los comandos w3 .

✨ Características

  • Envuelve la CLI w3 para la integración nativa con storacha.network.
  • Proporciona herramientas MCP que cubren una amplia gama de funcionalidades w3 :
    • 🔑 Autenticación y agente: w3_login , w3_reset , w3_account_ls (para comprobar la autorización)
    • 📦 Gestión del espacio: w3_space_ls , w3_space_use , w3_space_info , w3_space_add , w3_space_provision (Nota: w3_space_create debe ejecutarse manualmente debido a las indicaciones interactivas)
    • 💾 Gestión de datos: w3_up , w3_ls , w3_rm
    • 🔗 Compartir: w3_open (genera la URL w3s.link)
    • 🤝 Delegaciones y pruebas: w3_delegation_create , w3_delegation_ls , w3_delegation_revoke , w3_proof_add , w3_proof_ls
    • 🔐 Claves y tokens: w3_key_create , w3_bridge_generate_tokens
    • ⚙️ Almacenamiento avanzado ( w3 can ... ): Blob, CAR, Carga, Índice, Reclamo de acceso, Gestión de información de Filecoin
    • 💳 Cuenta y facturación: w3_plan_get , w3_coupon_create , w3_usage_report

🛠️ Requisitos previos

  • Node.js: Versión 22.0.0 o superior ( node -v ).
  • CLI w3 : El servidor ejecuta comandos w3 directamente. Asegúrese de que @web3-storage/w3cli esté instalado globalmente y configurado.
    npm install -g @web3-storage/w3cli w3 login <your-email@example.com> # Follow email verification steps
  • Variable de entorno: La herramienta w3_login requiere que la variable de entorno W3_LOGIN_EMAIL se configure con el mismo correo electrónico utilizado para w3 login .

🏗️ Estructura del proyecto

El código base está organizado de la siguiente manera:

src/ ├── index.ts # Main server entry point, MCP setup, request routing ├── schemas.ts # Zod schemas defining input arguments for each tool ├── tool_handlers.ts # Implementation logic for each MCP tool ├── utils.ts # Helper functions (e.g., running w3 commands, parsing JSON) └── utils/ └── logger.ts # Basic logger configuration

🚀 Uso con clientes MCP

Este servidor se puede usar con cualquier cliente compatible con MCP. Debe configurar su cliente para conectarse a este servidor.

Ejemplo: NPX (Recomendado para uso local simple)

Esto supone que se cumplen npm y los requisitos previos.

{ "mcpServers": { "ipfs": { "command": "npx", "args": ["-y", "mcp-ipfs"], "env": { "W3_LOGIN_EMAIL": "your-email@example.com" } } } }

Ejemplo: Docker

Primero construya la imagen (ver la sección Construir) o use la imagen preconstruida alexbakers/mcp-ipfs .

{ "mcpServers": { "mcp-ipfs": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/your/project:/path/to/your/project", "-e", "W3_LOGIN_EMAIL", "alexbakers/mcp-ipfs" ], "env": { "W3_LOGIN_EMAIL": "your-email@example.com" } } } }

📝 Nota sobre los caminos:

Varios comandos w3 requieren rutas de sistema de archivos absolutas (por ejemplo, w3_up , w3_delegation_create --output , w3_proof_add , w3_can_blob_add , w3_can_store_add ).

  • NPX: proporcione rutas absolutas desde su máquina host.
  • Docker: Proporcione rutas absolutas dentro del contenedor . Si interactúa con archivos desde su host (p. ej., al subirlos), debe montar el directorio del host correspondiente en el contenedor usando el parámetro -v (p. ej., -v /Users/me/project:/Users/me/project ) y luego usar la ruta del contenedor (p. ej., /Users/me/project/my_file.txt ) en los argumentos de la herramienta.

📦 Construir

Clonar el repositorio e instalar las dependencias:

git clone https://github.com/alexbakers/mcp-ipfs.git cd mcp-ipfs npm install

Construya el código TypeScript:

npm run build

Luego puedes ejecutar el servidor directamente:

# Ensure W3_LOGIN_EMAIL is set in your environment export W3_LOGIN_EMAIL="your-email@example.com" node dist/index.js

O publicarlo (si tienes los derechos):

npm publish

🐳 Compilación de Docker

Construya la imagen de Docker:

# Build locally (replace with your username/repo and desired tag) docker build -t alexbakers/mcp-ipfs .

📜 Licencia

Este servidor MCP está licenciado bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Servidor IPFS MCP

Este servidor permite a los modelos de lenguaje 🤖 y otros clientes MCP administrar espacios de storacha.network, cargar/descargar datos, administrar delegaciones y realizar varias otras tareas al encapsular perfectamente los comandos w3.

  1. ✨ Features
    1. 🛠️ Prerequisites
      1. 🏗️ Project Structure
        1. 🚀 Usage with MCP Clients
          1. Example: NPX (Recommended for simple local use)
          2. Example: Docker
        2. 📦 Build
          1. 🐳 Docker Build
        3. 📜 License
          ID: 1kj9uihg56