Skip to main content
Glama
daffaoir

bedengan-apps

by daffaoir

Bedengan Apps MCP

La única forma actual de publicar o actualizar aplicaciones en Bedengan App Hub (https://apps.wisatabedengan.com) — a través de la herramienta de codificación con IA (p. ej. Antigravity), ya no a través de la página web.

Cómo usarlo a diario, en resumen: una vez instalado (una sola vez, ver abajo), basta con pedirle a la IA "sube esta carpeta como aplicación nueva" o "actualiza la aplicación X con el código más reciente". El resto — revisar el proyecto, corregir lo que falte y enviarlo — se hace automáticamente. Ya no hay un administrador que apruebe manualmente: en cuanto supera la revisión, la aplicación se publica directamente.

Esta no es una vía nueva hacia el VPS. Este servidor solo llama a la misma API del hub con el token de tu propia cuenta — nunca toca Docker ni el servidor directamente.

Instalar una vez en el portátil

  1. Descarga esta carpeta. Si no estás acostumbrado a git clone, basta con hacer clic en el botón verde "Code" → "Download ZIP" en la página de GitHub de este repositorio, y extraerlo en cualquier carpeta del portátil (p. ej. Documents/bedengan-apps-mcp).

  2. Pide un token de API al administrador, o créalo tú mismo si ya tienes cuenta: entra en https://apps.wisatabedengan.com → botón "Token API"Crear / Actualizar Token API. El código que aparece solo se muestra una vez — anótalo antes de cerrar la ventana.

  3. Abre una terminal en la carpeta extraída y ejecuta:

npm install
npm run build
npm run init

npm run init te preguntará la URL del hub (pulsa Enter para usar la predeterminada, https://apps.wisatabedengan.com) y el token del paso 2. Se guarda en ~/.bedengan-apps/config.json en tu propio portátil — nunca se incluye en el ZIP de ningún proyecto, y no debe compartirse con nadie.

Related MCP server: Citizen Deployment MCP Server

Conectar a Antigravity

Añádelo a la configuración del servidor MCP de Antigravity (busca el menú "MCP Servers" en su configuración):

{
  "mcpServers": {
    "bedengan-apps": {
      "command": "node",
      "args": ["/path/absolut/ke/folder-hasil-ekstrak/dist/index.js"]
    }
  }
}

Sustituye la ruta anterior por la ubicación de dist/index.js dentro de la carpeta donde extrajiste/instalaste antes (paso 1 de arriba) — ruta completa, no relativa. Después de guardarlo, reinicia Antigravity — su IA ya puede usar las herramientas de abajo.

Qué ocurre cuando se pide "subir esta carpeta"

  1. La IA revisa el proyecto (validate_project) — comprueba que el tipo de aplicación se detecta, que no hay archivos secretos (.env, claves de API) incluidos en el ZIP, y que la estructura está completa.

  2. Si hay algo que corregir, la IA corrige solo esa parte del código y vuelve a revisar — en bucle hasta que esté limpio. No necesitas intervenir salvo que la IA esté realmente confundida.

  3. Una vez limpio, se envía de verdad (submit_app para aplicaciones nuevas, update_app para actualizar una que ya está publicada).

  4. No hay nadie que deba aprobarlo. En unos instantes la aplicación ya se puede abrir en https://<subdominio-elegido>.apps.wisatabedengan.com.

Herramientas disponibles

Herramienta

Función

validate_project

Revisa la carpeta local (sin enviar nada) — tipo de aplicación detectado, advertencias de estructura y "errores" graves que harían que se rechazara si no se corrigen antes. Siempre se llama primero, automáticamente, antes de las dos herramientas siguientes.

submit_app

Publica una aplicación nueva. Si supera la revisión = se publica directamente en el subdominio solicitado.

update_app

Actualiza una aplicación ya publicada de tu propia cuenta con el código más reciente. La versión anterior se guarda automáticamente (se puede restaurar desde el panel web si la nueva versión da problemas).

check_status

Consulta el estado de un envío y su progreso de compilación.

list_my_apps

Ve todas las aplicaciones y envíos de tu propia cuenta — incluido el appId que necesita update_app.

Si la herramienta de codificación con IA que usas admite "MCP prompts", también hay un flujo listo para usar llamado siapkan_dan_terbitkan que envuelve los pasos 1-4 de arriba en un solo comando. Si no lo admite, no pasa nada — la IA igualmente sabe el orden correcto por la descripción de cada herramienta.

Si se rechaza

El mensaje de rechazo siempre indica qué hay que corregir, por ejemplo:

  • "Rechazado automáticamente -- hay indicios de que se subió un secreto: el archivo .env se incluyó en el ZIP" → elimina/excluye .env del proyecto enviado (ver la sección "Lo que se excluye automáticamente" más abajo) e inténtalo de nuevo.

  • "Tipo de aplicación no reconocido" → normalmente el archivo principal no está donde se espera (p. ej. index.html/app.py/package.json no está en la carpeta más externa) o no hay un script start. Pide a la IA que corrija la estructura: una web estática necesita index.html en la raíz, Python necesita app.py + requirements.txt, Node necesita package.json con un script "start" que lea process.env.PORT y escuche en 0.0.0.0.

  • "Tu cuota de aplicaciones Python/Node está llena" → elimina primero una aplicación antigua que ya no uses desde el panel web, y luego inténtalo de nuevo.

Guardar datos que deben persistir (bases de datos, subidas de usuarios, etc.)

Si la aplicación guarda sus propios datos (p. ej. base de datos de nóminas, subidas de usuarios, resultados de entrada) y esos datos deben seguir existiendo aunque la aplicación se actualice después con update_app, guárdalo todo en la carpeta ./data/ en la raíz del proyecto (relativa a la carpeta donde esté package.json/app.py/index.html). Esa carpeta es la única parte de la aplicación que NO se reemplaza al actualizar el código — el resto (código, node_modules, etc.) se reemplaza por completo en cada submit_app/update_app que tenga éxito.

Si el proyecto ya tiene datos reales en la carpeta ./data/ cuando se sube por primera vez (p. ej. un compañero traslada una aplicación ya en uso desde su propio portátil, con todo su contenido) — esos datos se incluyen y permanecen en el servidor desde el principio, no hace falta moverlos manualmente.

Lo que se excluye automáticamente al empaquetar el ZIP

node_modules, .git, __pycache__, .venv/venv, .DS_Store, .next, .cache. Para excluir algo más, crea un archivo .bedenganignore en la raíz de la carpeta del proyecto — un nombre de carpeta/archivo relativo por línea (no un glob completo como .gitignore, basta con el nombre exacto).

Si el token se filtra

Revócalo tú mismo desde el panel web (botón "Token API" → "Revocar Token API") o pide al administrador que lo revoque desde el panel de administración — la contraseña de acceso y las sesiones web no se ven afectadas. Crea un token nuevo y ejecuta npm run init de nuevo.

F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI harnesses to run iterative loops on code repositories with built-in quality evaluations, security gates, and approval workflows for tasks like fixing tests or implementing features.
    27
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to deploy code to any hosting provider by creating PRs, building, and verifying health checks, all from a single natural language command.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

  • Your AI builds, deploys, and runs full-stack apps on a hosted workspace created at first sign-in.

  • Create, test, publish, and manage Dreamlit notification workflows from AI clients.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/daffaoir/bedengan-apps-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server