@cocowallet/miniapp-mcp
v0.6.0
Published
MCP server (stdio) to manage and publish Coco Wallet mini apps from your assistant (Claude Code / Claude Desktop). Scaffolds a minimal Next.js starter, runs the dev server, opens tunnels and publishes to the develop catalog via the gateway's authenticated
Maintainers
Readme
@cocowallet/miniapp-mcp
MCP server (stdio) para crear, previsualizar, deployar a producción y publicar mini apps de Coco Wallet desde tu asistente: scaffold de un starter Next.js, dev server con hot reload, túnel de preview, deploy a una URL estable de producción, base de datos Postgres opcional y publicación en el catálogo de la wallet.
El server nunca escribe el código de tu mini app: scaffoldea el starter una sola vez y se aparta. Editás los archivos en localDir y los cambios se ven en vivo por el túnel, sin re-publicar.
Dev y prod conviven: el catálogo de la wallet muestra el túnel de desarrollo mientras está vivo y cae automáticamente a la URL de producción (deploy) cuando apagás el dev server o la laptop — la mini app nunca queda inaccesible.
Claude Code — instalá el plugin (recomendado)
La forma recomendada de usar este server en Claude Code es el plugin mini-apps, que además incluye las Agent Skills de diseño de Coco (theme de la wallet + frontend design).
→ Guía completa de instalación, herramientas, skills y ejemplos: vickcharles/claude-plugins
Setup manual (otros clientes MCP)
Es un MCP server estándar por stdio — funciona en cualquier cliente que hable MCP (Claude Desktop, Cursor, Windsurf, …). Agregalo al bloque mcpServers de la config de tu cliente:
{
"mcpServers": {
"miniapp-publisher": {
"command": "npx",
"args": ["-y", "@cocowallet/miniapp-mcp"]
}
}
}Requisitos
- Node ≥ 20. Nada más.
- El túnel de preview se maneja solo: si no tenés
cloudflareden el PATH, el server lo descarga automáticamente la primera vez. - No hace falta token: el catálogo de develop acepta publicaciones anónimas por ahora. Si tenés un
PUBLISH_TOKEN, podés pasarlo porenvy se usa como Bearer. - Deploy a producción y base de datos: cero configuración. Las credenciales de Vercel y Neon viven solo en el gateway (server-side) — nunca en tu máquina ni en este paquete.
Herramientas
| Tool | Qué hace |
|------|----------|
| start_mini_app | Crea/levanta una mini app zero-setup: scaffold del starter, next dev con hot reload, túnel y publicación en el catálogo de develop. Devuelve localDir y previewUrl. Idempotente por name. |
| deploy_mini_app | Deploya la app a producción (URL estable): empaqueta el source (sin node_modules ni secretos) y el gateway la buildea/deploya en Vercel con las credenciales del team. El catálogo conserva ambos links y cae a prod cuando el dev server se apaga. Idempotente por name (misma URL en cada re-deploy). |
| add_database | Provisiona una base Postgres (Neon) para la app: rama dev para local (queda en .env.local como DATABASE_URL) y rama de producción que deploy_mini_app conecta solo (esa credencial nunca llega a tu máquina). Idempotente por name. |
| publish_mini_app | Publica una app que ya corrés o desplegaste: con port abre túnel y publica; con url (ej. Vercel) solo publica, sin túnel. |
| list_mini_apps | Lista las apps del registry (slug, status, port, tunnelUrl, previewUrl, prodUrl, localDir), refrescando el status contra el puerto vivo. |
| restart_tunnel | Mata el túnel actual, abre uno nuevo y re-publica la URL. Útil cuando el túnel se cayó o el server se reinició. |
| republish_mini_app | Re-pushea al catálogo la previewUrl actual del registry, sin tocar código ni túnel. |
| close_tunnel | Cierra el túnel (deja el dev server corriendo; el catálogo pasa a prod si la app fue deployada). |
| stop_mini_app | Para el dev server y el túnel (mantiene la app en el registry; el catálogo pasa a prod si la app fue deployada). |
Runtime de las mini apps
Las mini apps corren en el WebView de Coco Wallet sobre Polygon mainnet (chainId 137, ERC-4337, gas sponsoreado) y usan el SDK @cocowallet/miniapp-sdk (getAddress, getUserInfo, sendTransaction, sendTransactionBatch, signMessage, signTypedData, recordTransaction, getContacts, saveContact, setTitle, …). Los pagos son en USDC de Polygon (6 decimales, 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359).
Ejemplo
"Creá una mini app llamada Cafecito para recibir propinas en USDC, con botones de $1, $3 y $5."
En menos de un minuto está corriendo y publicada en el catálogo de la wallet (flavor dev).
