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
w3para 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_createdebe 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 ( 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
Related MCP server: Deskaid
🛠️ Requisitos previos
Node.js: Versión 22.0.0 o superior (
node -v).CLI El servidor ejecuta comandos
w3directamente. Asegúrese de que@web3-storage/w3cliesté instalado globalmente y configurado.npm install -g @web3-storage/w3cli w3 login <your-email@example.com> # Follow email verification stepsVariable de entorno: La herramienta
w3_loginrequiere que la variable de entornoW3_LOGIN_EMAILse configure con el mismo correo electrónico utilizado paraw3 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 installConstruya el código TypeScript:
npm run buildLuego 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.jsO 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.