Skip to content

MCP Server

Usa IPFS Ninja directamente desde asistentes de programación con IA como Claude Code, Cursor y Windsurf. Sube archivos, pinea CIDs, gestiona carpetas y consulta tu uso — todo desde tu conversación con la IA.

IPFS Ninja MCP server working in Claude Code — uploading a file, checking profile, and listing recent uploads

¿Qué es MCP?

Model Context Protocol (MCP) es un estándar abierto para conectar asistentes de IA con herramientas externas y fuentes de datos. El servidor MCP de IPFS Ninja expone 11 herramientas que los modelos de IA pueden invocar durante las conversaciones para interactuar con tu cuenta de IPFS Ninja.

Instalación

Paquete npm

@ipfs-ninja/mcp-server

Disponible en npm. No necesita instalación global — se ejecuta mediante npx.

Requisitos previos

Configuración para Claude Code

Paso 1: Obtener tu clave API

  1. Regístrate en ipfs.ninja (gratis)
  2. Ve a Dashboard > API Keys
  3. Haz clic en Create API key y copia la clave completa (solo se muestra una vez)

Paso 2: Agregar el servidor MCP

Ejecuta este comando en tu terminal:

bash
claude mcp add ipfs-ninja \
  --transport stdio \
  -e IPFS_NINJA_API_KEY=bws_your_full_api_key_here \
  -- npx -y @ipfs-ninja/mcp-server

O agrégalo manualmente a tu .claude/settings.json:

json
{
  "mcpServers": {
    "ipfs-ninja": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@ipfs-ninja/mcp-server"],
      "env": {
        "IPFS_NINJA_API_KEY": "bws_your_full_api_key_here"
      }
    }
  }
}

Paso 3: Reiniciar Claude Code

Cierra y vuelve a abrir Claude Code. Escribe /mcp para verificar que el servidor IPFS Ninja está conectado.

Paso 4: Empezar a usarlo

Simplemente habla con Claude de forma natural:

Tú: Sube mi README.md a IPFS
Tú: Lista mis archivos recientes
Tú: ¿Cuánto almacenamiento estoy usando?
Tú: Pinea bafyabc123... de la red IPFS
Tú: Crea una carpeta llamada "project-assets"

Configuración para Cursor / Windsurf

Agrega a tus ajustes de MCP (Settings > MCP Servers):

AjusteValor
Nameipfs-ninja
Transportstdio
Commandnpx
Args-y @ipfs-ninja/mcp-server
EnvironmentIPFS_NINJA_API_KEY=bws_...

Herramientas Disponibles

Operaciones de archivos

HerramientaDescripciónEjemplo de prompt
ipfs_uploadSubir contenido de archivo (base64 o texto)«Sube este archivo HTML a IPFS»
ipfs_upload_jsonSubir un objeto JSON«Almacena esta configuración como un JSON permanente en IPFS»
ipfs_listListar tus archivos subidos«Muestra mis subidas recientes»
ipfs_getObtener metadatos de archivo por CID«¿Qué tipo de archivo es QmXyz...?»
ipfs_deleteDespinear y eliminar un archivo«Elimina QmXyz... de mi cuenta»

Pinning

HerramientaDescripciónEjemplo de prompt
ipfs_pinPinear un CID existente de la red«Pinea bafyabc... a mi cuenta»
ipfs_pin_statusConsultar el progreso del pinning«¿Ya terminó de pinearse bafyabc...?»

Organización

HerramientaDescripciónEjemplo de prompt
ipfs_folders_listListar tus carpetas«Muestra mis carpetas»
ipfs_folders_createCrear una nueva carpeta«Crea una carpeta llamada nft-metadata»

Cuenta

HerramientaDescripciónEjemplo de prompt
ipfs_profileInformación de plan, almacenamiento y ancho de banda«¿Cuánto almacenamiento estoy usando?»
ipfs_analyticsEstadísticas diarias de ancho de banda y archivos«Muestra mi uso de ancho de banda esta semana»

Ejemplos de Flujos de Trabajo

Desplegar un sitio estático

Tú: Sube el contenido de mi carpeta dist/ a IPFS
Claude: [sube cada archivo, devuelve CIDs]

Tú: ¿Cuál es el CID de index.html?
Claude: [llama a ipfs_get]
     → QmXyz... — https://ipfs.ninja/ipfs/QmXyz...

Metadatos NFT

Tú: Crea una carpeta llamada "my-collection" y sube este JSON de metadatos
Claude: [llama a ipfs_folders_create, luego ipfs_upload_json]
     → Carpeta: my-collection
     → CID: QmAbc... — URL de metadatos permanente lista para tu smart contract

Monitorear el uso

Tú: ¿Estoy cerca de mi límite de almacenamiento?
Claude: [llama a ipfs_profile]
     → Plan: Bodhi, Almacenamiento: 45.2 MB / 100 GB (0.04%)
     → Tienes espacio de sobra.

Tú: Muestra mi ancho de banda esta semana
Claude: [llama a ipfs_analytics con days=7]
     → 2.3 MB de ancho de banda, 45 solicitudes en 3 días

Pinear contenido de la red

Tú: Pinea el readme de IPFS en QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG
Claude: [llama a ipfs_pin]
     → ¡Pin iniciado! Status: pinning

Tú: ¿Ya terminó?
Claude: [llama a ipfs_pin_status]
     → Status: pinned, Tamaño: 0.008 MB

Solución de Problemas

"IPFS_NINJA_API_KEY environment variable is required"

La clave API no está configurada. Asegúrate de que la sección env en tu configuración MCP tenga la clave correcta.

"API error 402: not enough storage"

Has alcanzado el límite de almacenamiento de tu plan. Actualiza en ipfs.ninja/pricing o elimina archivos que no uses.

"API error 403: Forbidden"

Tu clave API puede ser inválida o haber expirado. Crea una nueva en Dashboard > API Keys.

El servidor no aparece en /mcp

Asegúrate de haber reiniciado Claude Code después de agregar el servidor MCP. Verifica que Node.js 18+ esté instalado (node --version).