VibeKit.bot
MCP server for deploying, hosting, and operating web apps and AI coding agents on VibeKit (list apps, read logs, manage env vars, query Postgres, run QA, and submit coding tasks that commit to GitHub and deploy).
Documentation
VibeKit MCP Server
A Model Context Protocol server that lets Claude Desktop, Cursor, Zed, Continue — any MCP client — operate your VibeKit account directly. Deploy GitHub repos, set env vars, tail logs, chat with hosted agents. Tell Claude "deploy this and set the API key"; Claude does it.
Remote connector — no install
For clients that take a remote MCP URL (claude.ai web connectors, ChatGPT, and more), there's nothing to install — just paste this URL:
https://mcp.vibekit.bot/mcp?api_key=vk_your_api_key_here
Clients that let you set headers can use the bare https://mcp.vibekit.bot/mcp with Authorization: Bearer vk_your_api_key_here. Get a key from @the_vibe_kit_bot on Telegram with /apikey.
Install (local / stdio)
Prefer running it locally (e.g. Claude Desktop, Cursor)?
npm install -g vibekit-mcp
Get a VibeKit API key from @the_vibe_kit_bot on Telegram with /apikey.
Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows / Linux:
{
"mcpServers": {
"vibekit": {
"command": "vibekit-mcp",
"env": {
"VIBEKIT_API_KEY": "vk_live_..."
}
}
}
}
Restart Claude Desktop. The new tools appear under the connectors icon.
Configure Cursor
Cursor → Settings → Features → Model Context Protocol → Add a new MCP server. Same command + env vars.
What you can do
36 tools exposed today, grouped by surface:
Hosting & Apps
vibekit_list_apps
List 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.
vibekit_get_app
Get full details for one hosted app — status, subdomain/URL, repo, runtime, and database/domain config. Use the appId from vibekit_list_apps.
vibekit_create_app
Create a new hosted app from a starter template and deploy it live at .vibekit.bot. Call vibekit_list_templates first to pick a valid template. To deploy existing code from a GitHub repo instead, use vibekit_deploy.
vibekit_list_templates
List 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.
vibekit_deploy
Deploy a GitHub repo to VibeKit hosting, live at .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.
vibekit_redeploy
Redeploy an existing app to pull and ship the latest code. Use after pushing changes to the app's GitHub repo.
vibekit_app_logs
Fetch recent container/application logs for an app. Use this to debug crashes, errors, or a deploy that isn't serving.
vibekit_restart_app
Restart a hosted app's container. Use when an app is wedged, or to apply changed environment variables.
vibekit_stop_app
Stop 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.
vibekit_start_app
Start a stopped hosted app's container. Use to bring an app stopped via vibekit_stop_app back online.
vibekit_app_env
Get the environment variables configured for an app (names and values). Read-only — use vibekit_set_env to change them.
vibekit_set_env
Set or update environment variables for an app (merges with existing). The app must be restarted or redeployed for changes to take effect.
vibekit_delete_app
Permanently 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.
vibekit_list_deploys
List an app's recent deploys, newest first, with status and commit info. Find a deployId here to pass to vibekit_rollback_deploy.
vibekit_rollback_deploy
Roll 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.
AI Agent
vibekit_chat
Send 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.
vibekit_agent_status
Check 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.
vibekit_agent_history
Get the recent chat history between the user and an app's AI agent.
Database
vibekit_enable_database
Provision 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.
vibekit_database_status
Get an app's database status and connection info (whether it's provisioned, frozen, etc.).
vibekit_db_schema
Get an app's database schema — every table and its columns. Always call this before writing a query with vibekit_db_query.
vibekit_db_query
Run 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.
vibekit_db_table
Browse rows of one table with pagination and optional sorting — a quick read-only alternative to hand-writing a SELECT.
QA
vibekit_run_qa
Kick off an automated QA run (headless-browser checks) against a hosted app. Poll vibekit_qa_status for results.
vibekit_qa_status
Get the latest automated QA results and status for an app.
Tasks
vibekit_submit_task
Submit an autonomous coding task. The AI writes the code, commits to GitHub, and (by default) deploys to .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.
vibekit_get_task
Get the status and result of a task submitted via vibekit_submit_task.
vibekit_list_tasks
List recent coding tasks, optionally filtered by status.
vibekit_wait_for_task
Block 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.
vibekit_cancel_task
Cancel a running task by taskId. No-op if it has already finished.
Schedules
vibekit_create_schedule
Create 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.
vibekit_list_schedules
List all of the account's scheduled recurring tasks.
vibekit_delete_schedule
Delete a scheduled recurring task by scheduleId. Confirm with the user first.
Account
vibekit_account
Get VibeKit account info: plan, credit balance, and usage.
Skills
vibekit_list_skills
List available implementation skills (IDs, names, descriptions, tags) from the VibeKit skills registry. Discover skills here before fetching one with vibekit_get_skill.
vibekit_get_skill
Fetch 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.
Why this beats the dashboard
- Stay in your editor. No tab-switching. Deploy from inside the same chat you're writing the code in.
- Compositional. Claude can chain calls — "deploy this, wait for it to come up, then set these 3 env vars, then restart" — without you nursing each step.
- Scriptable from agents. If you have a Claude Code workflow that needs to deploy a sibling app, MCP makes it one tool call.
Related packages
- vibekit-agent — run on your laptop to be a remotely-controllable Claude Code worker (iOS Remote Agent path)
- vibekit-cli — terminal CLI for kicking off agent tasks and scheduling cron jobs
FAQ
What does the VibeKit MCP server do?
It exposes your VibeKit account as tools that any MCP client (Claude Desktop, Cursor, Zed, Continue, etc.) can call. You tell Claude Desktop 'deploy this repo and set OPENAI_API_KEY' and Claude actually does it via the MCP tools — no copy-pasting URLs into a separate dashboard.
How do I install vibekit-mcp?
Run `npm install -g vibekit-mcp` then add it to your Claude Desktop / Cursor MCP config. For Claude Desktop, edit ~/Library/Application Support/Claude/claude_desktop_config.json and add vibekit-mcp under mcpServers. The server uses your VibeKit API key for auth — get one from app.vibekit.bot/settings.
Which clients support this?
Any client that implements the Model Context Protocol spec — currently Claude Desktop, Cursor, Zed, Continue, and a growing list. The server uses stdio transport so it works with the standard MCP config block any of them accept.
Is the MCP server free?
Yes — the npm package is free and open-source. VibeKit's free tier (1 hosted app) is enough to start. The MCP server is just a thin RPC layer; your usage is bounded by your VibeKit plan and your client's own model costs.
Install vibekit-mcp in 60 seconds
npm i -g vibekit-mcp · paste API key · restart Claude Desktop / Cursor
Get an API key →