VibeKit
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Build, deploy, and operate hosted web apps on VibeKit (vibekit.bot) from any MCP client.
| Author | io.github.VibeKit-Bot |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 746 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"VibeKit": {
"url": "https://mcp.vibekit.bot/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (36)
vibekit_list_appsread-onlyList all hosted apps in your VibeKit account, each with its id, subdomain, status, and live URL. Start here to get an appId for the other app tools.
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_get_appread-onlyGet full details for one hosted app — status, subdomain/URL, repo, runtime, and database/domain config. Use the appId from vibekit_list_apps.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_create_appCreate a new hosted app from a starter template and deploy it live at <subdomain>.vibekit.bot. Call vibekit_list_templates first to pick a valid template. To deploy existing code from a GitHub repo instead, use vibekit_deploy.
Parameters:
template(required) — string — Template id from vibekit_list_templates (e.g. 'landing', 'dashboard', 'blog', 'saas', 'crud-api')subdomain(required) — string — Desired subdomain — the app goes live at <subdomain>.vibekit.bot. Lowercase letters, numbers, and hyphens.
Hints: read-only no · destructive no · idempotent no · open-world not declared
vibekit_list_templatesread-onlyList the starter templates available to vibekit_create_app (e.g. landing, dashboard, blog, saas, crud-api). Call this before vibekit_create_app to choose a valid template.
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_deployDeploy a GitHub repo to VibeKit hosting, live at <subdomain>.vibekit.bot (Fargate container behind nginx, SSL automatic). Use when the code already lives in a GitHub repo; for a starter template instead use vibekit_create_app.
Parameters:
repo(required) — string — GitHub repo as 'owner/repo' (e.g. 'your-username/my-app')subdomain(required) — string — Desired subdomain — the app goes live at <subdomain>.vibekit.bot. Lowercase letters, numbers, and hyphens.
Hints: read-only no · destructive no · idempotent no · open-world not declared
vibekit_redeployRedeploy an existing app to pull and ship the latest code. Use after pushing changes to the app's GitHub repo.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive no · idempotent no · open-world not declared
vibekit_app_logsread-onlyFetch recent container/application logs for an app. Use this to debug crashes, errors, or a deploy that isn't serving.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)lines— number — Number of log lines to retrieve (default 100)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
vibekit_restart_appRestart a hosted app's container. Use when an app is wedged, or to apply changed environment variables.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_stop_appStop a hosted app's container. The app stays in your account and can be brought back with vibekit_start_app. Use to take an app offline without deleting it.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_start_appStart a stopped hosted app's container. Use to bring an app stopped via vibekit_stop_app back online.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_app_envread-onlyGet the environment variables configured for an app (names and values). Read-only — use vibekit_set_env to change them.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_set_envSet or update environment variables for an app (merges with existing). The app must be restarted or redeployed for changes to take effect.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)vars(required) — object — Key-value pairs to set as environment variables, e.g. { "API_KEY": "...", "NODE_ENV": "production" }
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_delete_appdestructivePermanently delete a hosted app — stops the container and removes its workspace, database, env vars, and subdomain. Irreversible (the GitHub repo is NOT touched). Confirm with the user before calling.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive yes · idempotent yes · open-world not declared
vibekit_chatSend a message to an app's built-in AI coding agent, which reads, writes, and modifies the app's code and redeploys it. Use for 'build/make a change to my app' requests. If the agent finishes quickly you get its reply directly. Otherwise you get status:'working' — do NOT resend; instead give the user LIVE progress: poll vibekit_agent_status every few seconds and relay the current step from activity.status ('editing the homepage…', 'deploying…') until activity.done, then read vibekit_agent_history for the final reply.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)message(required) — string — What you want the agent to do or change — be specific about features, design, and behavior.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
vibekit_agent_statusread-onlyCheck whether an app's AI agent is idle or working, and get its LIVE progress. Returns activity.status = the current human-readable build step (e.g. 'editing index.html', 'deploying'), activity.steps = the steps so far, and activity.done = whether the turn finished. Poll this every few seconds while a build is running and relay activity.status to the user so they see progress. Once activity.done is true the response also includes liveCheck = a server-side fetch of the deployed page ({ url, ok, httpStatus, title }); use it to confirm the app is live and renders — do NOT curl/fetch the URL yourself, your sandbox may block it.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
vibekit_agent_historyread-onlyGet the recent chat history between the user and an app's AI agent.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)limit— number — Maximum number of messages to return (default 20)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
vibekit_enable_databaseProvision a Postgres database for an app (idempotent — safe if already enabled). Required before the vibekit_db_* tools work. Note: free-tier apps need the $3/mo Database add-on.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_database_statusread-onlyGet an app's database status and connection info (whether it's provisioned, frozen, etc.).
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_db_schemaread-onlyGet an app's database schema — every table and its columns. Always call this before writing a query with vibekit_db_query.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_db_queryread-onlyRun a read-only SQL query against an app's Postgres database and return up to 200 result rows. SELECT only — writes and DDL (INSERT/UPDATE/DELETE/ALTER/DROP/…) are rejected server-side; use vibekit_chat or vibekit_submit_task to have the agent make data or schema changes. Call vibekit_db_schema first to learn the tables. SQL string, max 5000 chars.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)sql(required) — string — SQL to execute (max 5000 chars). Reads and writes both allowed.
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_db_tableread-onlyBrowse rows of one table with pagination and optional sorting — a quick read-only alternative to hand-writing a SELECT.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)table(required) — string — Table name (see vibekit_db_schema)limit— number — Max rows to return (default 50, max 200)offset— number — Row offset for pagination (default 0)
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_list_deploysread-onlyList an app's recent deploys, newest first, with status and commit info. Find a deployId here to pass to vibekit_rollback_deploy.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)limit— number — Max deploys to return (default 20, max 50)
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_rollback_deployRoll an app back to a previous deploy (get the deployId from vibekit_list_deploys). The container restarts on the rolled-back build; reversible by rolling forward again.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)deployId(required) — string — Deploy ID to roll back to (from vibekit_list_deploys)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_run_qaKick off an automated QA run (headless-browser checks) against a hosted app. Poll vibekit_qa_status for results.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only no · destructive no · idempotent not declared · open-world not declared
vibekit_qa_statusread-onlyGet the latest automated QA results and status for an app.
Parameters:
appId(required) — string — App ID (from vibekit_list_apps)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
vibekit_submit_taskSubmit an autonomous coding task. The AI writes the code, commits to GitHub, and (by default) deploys to <subdomain>.vibekit.bot. Returns a taskId — poll vibekit_get_task or block with vibekit_wait_for_task. Use for 'build X' or 'change X' work against a repo.
Parameters:
task(required) — string — What you want built or changed. Be specific about features, design, and behavior.repo— string — GitHub repo as 'owner/repo'. Optional — uses the user's current repo if omitted.branch— string — Git branch to work on (default 'main')deploy— boolean — Auto-deploy to <subdomain>.vibekit.bot when done (default true)callbackUrl— string — Optional webhook URL to receive a task-completion notification.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
vibekit_get_taskread-onlyGet the status and result of a task submitted via vibekit_submit_task.
Parameters:
taskId(required) — string — Task ID returned from vibekit_submit_task
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
vibekit_list_tasksread-onlyList recent coding tasks, optionally filtered by status.
Parameters:
limit— number — Max number of tasks to return (default 10)status— string — Filter by task status
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_wait_for_taskread-onlyBlock until a submitted task finishes (or the timeout), polling every 5 seconds, then return its result. Use right after vibekit_submit_task when you want the final result inline.
Parameters:
taskId(required) — string — Task ID to wait for (from vibekit_submit_task)timeoutSeconds— number — Max seconds to wait (default 300; the remote connector caps this at 120)
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
vibekit_cancel_taskCancel a running task by taskId. No-op if it has already finished.
Parameters:
taskId(required) — string — Task ID to cancel (from vibekit_submit_task)
Hints: read-only no · destructive no · idempotent yes · open-world not declared
vibekit_create_scheduleCreate a recurring coding task that the AI runs automatically on a cron schedule (e.g. a weekly SEO pass). Use for 'every Monday, do X to my repo' requests.
Parameters:
task(required) — string — What to do on each run, e.g. 'Improve SEO and page speed'repo(required) — string — GitHub repo as 'owner/repo'cron(required) — string — Cron expression, e.g. '0 9 * * 1' for every Monday at 9am UTCname— string — Friendly name for the schedule (optional)
Hints: read-only no · destructive no · idempotent no · open-world not declared
vibekit_list_schedulesread-onlyList all of the account's scheduled recurring tasks.
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_delete_scheduledestructiveDelete a scheduled recurring task by scheduleId. Confirm with the user first.
Parameters:
scheduleId(required) — string — Schedule ID to delete (from vibekit_list_schedules)
Hints: read-only no · destructive yes · idempotent yes · open-world not declared
vibekit_accountread-onlyGet VibeKit account info: plan, credit balance, and usage.
Hints: read-only yes · destructive not declared · idempotent yes · open-world not declared
vibekit_list_skillsread-onlyList available implementation skills (IDs, names, descriptions, tags) from the VibeKit skills registry. Discover skills here before fetching one with vibekit_get_skill.
Parameters:
tag— string — Filter skills by tag (e.g. 'react', 'database', 'security')
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
vibekit_get_skillread-onlyFetch the full content of a specific skill — implementation patterns, code examples, and best practices for a domain. Fetch on-demand when you need guidance on a specific topic.
Parameters:
id(required) — string — Skill ID from vibekit_list_skills (e.g. 'nextjs', 'trpc', 'auth')
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.