MCP IPFS Server
Interactúa con la plataforma IPFS de storacha.network usando la CLI de w3.
Documentación
🪐 MCP IPFS Server (storacha.network) 🛰️

Un servidor Node.js que implementa el Model Context Protocol (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 gestionar espacios de storacha.network, subir/descargar datos, gestionar delegaciones y realizar diversas otras tareas al integrar de forma transparente los comandos de w3.
✨ Características
- Integra la CLI de
w3para una integración nativa con storacha.network. - Proporciona herramientas MCP que cubren una amplia gama de funcionalidades de
w3:- 🔑 Autenticación y agente:
w3_login,w3_reset,w3_account_ls(para verificar la autorización) - 📦 Gestión de espacios:
w3_space_ls,w3_space_use,w3_space_info,w3_space_add,w3_space_provision(Nota:w3_space_createdebe ejecutarse manualmente debido a los mensajes interactivos) - 💾 Gestión de datos:
w3_up,w3_ls,w3_rm - 🔗 Compartir:
w3_open(genera una 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 ...): gestión de Blob, CAR, Upload, Index, Access Claim e información de Filecoin - 💳 Cuenta y facturación:
w3_plan_get,w3_coupon_create,w3_usage_report
- 🔑 Autenticación y agente:
🛠️ Requisitos previos
- Node.js: Versión 22.0.0 o superior (
node -v). - CLI de
w3: El servidor ejecuta comandos dew3directamente. Asegúrate de que@web3-storage/w3cliesté 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_loginrequiere que la variable de entornoW3_LOGIN_EMAILesté configurada con el mismo correo electrónico utilizado paraw3 login.
🏗️ Estructura del proyecto
El código fuente 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 utilizar con cualquier cliente compatible con MCP. Debes configurar tu cliente para conectarse a este servidor.
Ejemplo: NPX (Recomendado para uso local simple)
Esto asume que npm y los requisitos previos se cumplen.
{
"mcpServers": {
"ipfs": {
"command": "npx",
"args": ["-y", "mcp-ipfs"],
"env": {
"W3_LOGIN_EMAIL": "your-email@example.com"
}
}
}
}
Ejemplo: Docker
Construye la imagen primero (consulta la sección Build) o usa 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 rutas:
Varios comandos de w3 requieren rutas absolutas del sistema de archivos (por ejemplo, w3_up, w3_delegation_create --output, w3_proof_add, w3_can_blob_add, w3_can_store_add).
- NPX: Proporciona rutas absolutas desde tu máquina host.
- Docker: Proporciona rutas absolutas dentro del contenedor. Si interactúas con archivos de tu host (por ejemplo, subiendo archivos), debes montar el directorio host relevante en el contenedor usando la bandera
-v(por ejemplo,-v /Users/me/project:/Users/me/project) y luego usar la ruta del contenedor (por ejemplo,/Users/me/project/my_file.txt) en los argumentos de la herramienta.
📦 Build
Clona el repositorio e instala las dependencias:
git clone https://github.com/alexbakers/mcp-ipfs.git
cd mcp-ipfs
npm install
Compila 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 permisos):
npm publish
🐳 Docker Build
Construye 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. Consulta el archivo LICENSE para más detalles.