Skip to main content
Glama
daffaoir

bedengan-apps

by daffaoir

Bedengan Apps MCP

The only way now to publish or update apps on Bedengan App Hub (https://apps.wisatabedengan.com) — via an AI coding tool (e.g. Antigravity), not through the web page anymore.

How to use it daily, in short: once installed (one time only, see below), just ask the AI "please upload this folder as a new app" or "update app X with the latest code". The rest — checking the project, fixing anything missing, then sending — is done automatically. No manual admin approval anymore: once it passes the checks, the app is immediately live.

This is not a new path to the VPS. This server only calls the same hub API using your own account token — it never touches Docker or the server directly.

Install once on your laptop

  1. Download this folder. If you're not used to git clone, just click the green "Code" → "Download ZIP" button on this repo's GitHub page, then extract it to any folder on your laptop (e.g. Documents/bedengan-apps-mcp).

  2. Request an API token from the admin, or create one yourself if you already have an account: go to https://apps.wisatabedengan.com → the "API Token" button → Create / Update API Token. The code that appears is only shown once — note it down before closing the window.

  3. Open a terminal in the extracted folder, then run:

    npm install
    npm run build
    npm run init

    npm run init will ask for the hub URL (press Enter to use the default, https://apps.wisatabedengan.com) and the token from step 2. It is stored in ~/.bedengan-apps/config.json on your own laptop — it is never included in any project zip, and must not be shared with anyone else.

Related MCP server: Citizen Deployment MCP Server

Connect to Antigravity

Add it to Antigravity's MCP server settings (look for the "MCP Servers" menu in its settings):

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

Replace the path above with the location of dist/index.js inside the folder where you extracted/installed it (step 1 above) — a full path, not relative. After saving, restart Antigravity — its AI can now use the tools below.

What happens when you ask to "upload this folder"

  1. The AI checks the project (validate_project) — it verifies the app type is detected, no secret files (.env, API keys) are included in the zip, and the structure is complete.

  2. If something needs fixing, the AI fixes just that part of the code, then re-checks — repeating until it's clean. You don't need to intervene unless the AI is truly confused.

  3. Once clean, it actually sends it (submit_app for a new app, update_app for updating one that's already live).

  4. No one needs to approve. Within moments the app is accessible at https://<chosen-subdomain>.apps.wisatabedengan.com.

Available tools

Tool

Function

validate_project

Check a local folder (without sending anything) — app type detected, structure warnings, and "hard" errors that would cause rejection if not fixed first. Always called first, automatically, before the two tools below.

submit_app

Publish a new app. Passes the checks = immediately live on the requested subdomain.

update_app

Update an app that is already live and belongs to your own account with the latest code. The old version is automatically saved (can be restored via the web dashboard if the new version turns out to be problematic).

check_status

Check the status of a submission and its build progress.

list_my_apps

View all apps & submissions belonging to your own account — including the appId needed by update_app.

If the AI coding tool you use supports "MCP prompts", there is also a ready-to-use flow called siapkan_dan_terbitkan that wraps steps 1-4 above into a single command. If it's not supported, that's fine — the AI still knows the correct order from each tool's description.

If rejected

The rejection message always states what needs to be fixed, for example:

  • "Automatically rejected -- there are indications of secrets being uploaded: .env file was included in the zip" → remove/exclude .env from the project being sent (see the "Automatically excluded" section below), then try again.

  • "App type not recognized" → usually the main file is not where expected (e.g. index.html/app.py/package.json is not in the outermost folder) or there is no start script. Ask the AI to fix the structure: static web needs index.html at the root, Python needs app.py + requirements.txt, Node needs package.json with a "start" script that reads process.env.PORT and listens on 0.0.0.0.

  • "Your Python/Node app quota is full" → delete one old app you no longer use via the web dashboard first, then try again.

Storing data that needs to persist (databases, user uploads, etc.)

If the app stores its own data (e.g. a payroll database, user uploads, input results) and that data must remain even when the app is later updated via update_app, store everything in the ./data/ folder at the project root (relative to the folder where package.json/app.py/index.html is located). That folder is the only part of the app that is NOT replaced when the code is updated — other parts (code, node_modules, etc.) are fully replaced on every successful submit_app/update_app.

If the project already has real data in the ./data/ folder when first uploaded (e.g. a colleague moved an app that was already in use from their own laptop, complete with its contents) — that data is carried along and remains on the server from the start, no need to move it manually again.

Automatically excluded when packaging the ZIP

node_modules, .git, __pycache__, .venv/venv, .DS_Store, .next, .cache. To exclude others, create a .bedenganignore file at the root of the project folder — one relative folder/file name per line (not full globs like .gitignore, just the exact name).

If the token leaks

Revoke it yourself via the web dashboard (the "API Token" button → "Revoke API Token") or ask the admin to revoke it from the admin panel — login passwords and web sessions are not affected. Create a new token, run npm run init again.

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