Skip to main content
Glama

vibekit-mcp

MCP server for VibeKit, deploy apps, manage hosting, and chat with AI agents from any MCP client.

This package is for VibeKit cloud/API access. It does not connect your local Claude Code instance to Telegram. For local-machine remote control, use vibekit-agent.

Use it remotely (no install)

VibeKit also runs as a hosted remote server, so clients that accept a remote MCP URL (claude.ai web connectors, ChatGPT, etc.) need no install:

https://mcp.vibekit.bot/mcp?api_key=vk_your_api_key_here

Paste that URL into your client's "custom connector" / "remote MCP server" field. Clients that let you set headers can instead send Authorization: Bearer vk_your_api_key_here and use the bare https://mcp.vibekit.bot/mcp. See Get an API key below.

Prefer a local stdio install (e.g. Claude Desktop)? Use the steps below.

Related MCP server: vibekit-mcp

Get an API key

Keys start with vk_. Two ways to get one:

  • Instant, no signup: one request returns a key.

    curl -X POST https://vibekit.bot/api/v1/auth/register
    # Response: {"apiKey": "vk_...", "plan": "free", "credits": 0}

    Save the returned key and reuse it. Each call to /auth/register creates a brand-new account, so call it once, not per request.

  • From your account: if you already use VibeKit, copy or regenerate your key in the web dashboard or the iOS app settings.

Installation

npm install -g vibekit-mcp

Setup

  1. Get a VibeKit API key (see Get an API key above).

  2. Add to your MCP client config (e.g. Claude Desktop) (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "vibekit": {
      "command": "vibekit-mcp",
      "env": {
        "VIBEKIT_API_KEY": "vk_your_api_key_here"
      }
    }
  }
}
  1. Restart your MCP client

Available Tools

Hosting

Tool

Description

vibekit_list_apps

List all hosted apps

vibekit_get_app

Get details about a specific app

vibekit_list_templates

List starter templates for vibekit_create_app

vibekit_create_app

Create new app from a template

vibekit_deploy

Deploy GitHub repo to hosting

vibekit_redeploy

Redeploy app with latest code

vibekit_list_deploys

List an app's recent deploys with status and commit

vibekit_rollback_deploy

Roll an app back to a previous deploy

vibekit_app_logs

Get application logs

vibekit_restart_app

Restart an app

vibekit_stop_app

Stop an app

vibekit_start_app

Start a stopped app

vibekit_app_env

Get app environment variables

vibekit_set_env

Set app environment variables

vibekit_delete_app

Delete an app permanently

Agent

Tool

Description

vibekit_chat

Chat with an app's AI agent

vibekit_agent_status

Get agent status

vibekit_agent_history

Get chat history with agent

Database

Tool

Description

vibekit_enable_database

Enable a Postgres database for an app

vibekit_database_status

Get database status and connection info

vibekit_db_schema

Get the database schema (every table and its columns)

vibekit_db_query

Run a read-only SQL query (SELECT only, up to 200 rows)

vibekit_db_table

Browse one table's rows with pagination and sorting

QA

Tool

Description

vibekit_run_qa

Run automated QA tests

vibekit_qa_status

Get QA test results

Tasks

Tool

Description

vibekit_submit_task

Submit a coding task

vibekit_get_task

Get task status/result

vibekit_list_tasks

List recent tasks

vibekit_wait_for_task

Wait for task completion

vibekit_cancel_task

Cancel a running task

vibekit_create_schedule

Create recurring scheduled task

vibekit_list_schedules

List scheduled tasks

vibekit_delete_schedule

Delete scheduled task

Account

Tool

Description

vibekit_account

Get account info (plan, credits, usage)

vibekit_list_skills

List implementation skills

vibekit_get_skill

Fetch specific skill content

Example Usage

Once configured, you can use prompts like:

  • "Deploy my GitHub repo to VibeKit and create a new app"

  • "Chat with the AI agent for my app about adding a contact form"

  • "Show me the logs for my app and restart it if there are errors"

  • "Enable a database for my app, then show me its schema and query the users table"

  • "List my app's recent deploys and roll back to the last working one"

  • "Run QA tests on my deployed app"

  • "Check my VibeKit account balance and list my apps"

  • "Create a weekly schedule to improve my app's performance"

Environment Variables

Variable

Description

Default

VIBEKIT_API_KEY

Your VibeKit API key (required)

none

VIBEKIT_API_URL

API base URL

https://vibekit.bot/api/v1

  • vibekit-cli: terminal client for VibeKit cloud workflows

  • vibekit-agent: Telegram bridge for local Claude Code on your own machine

Privacy Policy

VibeKit's privacy policy: https://vibekit.bot/privacy

What this MCP server does with your data, concretely:

  • Every tool call is forwarded to the VibeKit API (https://vibekit.bot/api/v1) over HTTPS, authenticated with the API key you configure. Tool inputs and outputs are processed by VibeKit to run your apps and agents, under the privacy policy above.

  • The server itself keeps no state: nothing is written to disk, no analytics or telemetry are collected by this package, and your API key is read from configuration (VIBEKIT_API_KEY / the extension's key field) and sent only to vibekit.bot.

  • Data retention, third-party sharing, and deletion are governed by the policy above. Questions: support@vibekit.bot.

Available Tools

2 tools
vibekit_database_statusVibeKit Database StatusA
Read-onlyIdempotent
Inspect

Get an app's database status and connection info (whether it's provisioned, frozen, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesApp ID (from vibekit_list_apps)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesWhether the call succeeded.
dataNoDatabase stats: tables, storage, and connection info.
errorNoError message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds context about what status includes (provisioned, frozen) but does not contradict annotations. It is consistent but adds limited new behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and resource, no wasted words. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given it has one parameter and an output schema, the description is sufficient for a simple read tool. It explains the purpose and kind of info returned. No major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema's parameter description ('App ID (from vibekit_list_apps)'). No additional parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Get' and the resource 'app's database status and connection info' with examples like 'provisioned, frozen'. It distinguishes from sibling tool 'vibekit_get_task' which deals with tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking database status but does not provide explicit when-to-use or alternatives. No exclusions or guidance on when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibekit_get_taskVibeKit Get TaskA
Read-only
Inspect

Get the status and result of a task submitted via vibekit_submit_task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesTask ID returned from vibekit_submit_task

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesWhether the call succeeded.
dataNoTask details: status, logs/result summary, and repo info.
errorNoError message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds that it returns status and result, providing additional behavioral context without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description is complete enough. It explains what the tool does and the context of use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the parameter 'taskId' is well-described in the schema. The description adds no new information about parameters beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves status and result of a task, specifying the resource and action. It distinguishes from the sibling tool 'vibekit_database_status' by focusing on tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after submitting a task via 'vibekit_submit_task', providing clear context. However, it does not explicitly state when not to use or mention alternatives beyond the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 31 tool updatesv0.7.5
    • Removedvibekit_account
    • Removedvibekit_agent_history
    • Removedvibekit_agent_status
    • Removedvibekit_app_env
    • Removedvibekit_app_logs
    • Removedvibekit_cancel_task
    • Removedvibekit_chat
    • Removedvibekit_create_app
    • Removedvibekit_create_schedule
    • Changedvibekit_database_status2 fields changed
      • changedInput schema / properties / appId / description
        Previous value: -"The app ID to get database status for"New value: +"App ID (from vibekit_list_apps)"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "Result envelope: ok=true with data on success, ok=false with error on failure.",
        +  "properties": {
        +    "data": {
        +      "description": "Database stats: tables, storage, and connection info."
        +    },
        +    "error": {
        +      "description": "Error message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error).",
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the call succeeded.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "ok"
        +  ],
        +  "type": "object"
        +}
    • Removedvibekit_delete_app
    • Removedvibekit_delete_schedule
    • Removedvibekit_deploy
    • Removedvibekit_enable_database
    • Removedvibekit_get_app
    • Removedvibekit_get_skill
    • Changedvibekit_get_task2 fields changed
      • changedInput schema / properties / taskId / description
        Previous value: -"The task ID returned from vibekit_submit_task"New value: +"Task ID returned from vibekit_submit_task"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "Result envelope: ok=true with data on success, ok=false with error on failure.",
        +  "properties": {
        +    "data": {
        +      "description": "Task details: status, logs/result summary, and repo info."
        +    },
        +    "error": {
        +      "description": "Error message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error).",
        +      "type": "string"
        +    },
        +    "ok": {
        +      "description": "Whether the call succeeded.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "ok"
        +  ],
        +  "type": "object"
        +}
    • Removedvibekit_list_apps
    • Removedvibekit_list_schedules
    • Removedvibekit_list_skills
    • Removedvibekit_list_tasks
    • Removedvibekit_list_templates
    • Removedvibekit_qa_status
    • Removedvibekit_redeploy
    • Removedvibekit_restart_app
    • Removedvibekit_run_qa
    • Removedvibekit_set_env
    • Removedvibekit_start_app
    • Removedvibekit_stop_app
    • Removedvibekit_submit_task
    • Removedvibekit_wait_for_task
  2. 31 tool updatesv0.6.1
    • First observedvibekit_account
    • First observedvibekit_agent_history
    • First observedvibekit_agent_status
    • First observedvibekit_app_env
    • First observedvibekit_app_logs
    • First observedvibekit_cancel_task
    • First observedvibekit_chat
    • First observedvibekit_create_app
    • First observedvibekit_create_schedule
    • First observedvibekit_database_status
    • First observedvibekit_delete_app
    • First observedvibekit_delete_schedule
    • First observedvibekit_deploy
    • First observedvibekit_enable_database
    • First observedvibekit_get_app
    • First observedvibekit_get_skill
    • First observedvibekit_get_task
    • First observedvibekit_list_apps
    • First observedvibekit_list_schedules
    • First observedvibekit_list_skills
    • First observedvibekit_list_tasks
    • First observedvibekit_list_templates
    • First observedvibekit_qa_status
    • First observedvibekit_redeploy
    • First observedvibekit_restart_app
    • First observedvibekit_run_qa
    • First observedvibekit_set_env
    • First observedvibekit_start_app
    • First observedvibekit_stop_app
    • First observedvibekit_submit_task
    • First observedvibekit_wait_for_task

TDQS

A3.9/5.0
Disambiguation5/5

The two tools have completely distinct purposes: one checks database status, the other retrieves task results. No ambiguity.

Naming Consistency5/5

Both tools use the consistent 'vibekit_' prefix followed by verb_noun pattern (database_status, get_task), showing good naming uniformity.

Tool Count2/5

Only 2 tools for a server named 'VibeKit MCP' is too few, especially since a referenced tool (vibekit_submit_task) is missing, making the set feel incomplete.

Completeness2/5

The tool set is missing a critical tool (vibekit_submit_task) that is referenced in vibekit_get_task, and there are obvious gaps in domain coverage beyond database status and task retrieval.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables the management of AI-powered VibeKit apps, allowing users to control deployments, monitor logs, and perform database operations directly from MCP-compatible clients. It facilitates interaction with hosted AI agents and the execution of headless coding tasks through natural language.
    49
    39
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Publish your Claude Code setup, browse a public feed, and pull setups in. Remote MCP server + web feed in one FastAPI app.
    1
    -

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/VibeKit-Bot/vibekit-mcp'

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