VibeKit MCP
vibekit-mcp
用于 VibeKit 的 MCP 服务器,可从任何 MCP 客户端部署应用、管理托管并与 AI 代理聊天。
此包用于 VibeKit 云/API 访问。它不会将你的本地 Claude Code 实例连接到 Telegram。如需本地机器远程控制,请使用 vibekit-agent。
远程使用(无需安装)
VibeKit 也作为托管远程服务器运行,因此接受远程 MCP URL 的客户端(claude.ai 网络连接器、ChatGPT 等)无需安装:
https://mcp.vibekit.bot/mcp?api_key=vk_your_api_key_here将该 URL 粘贴到客户端的“自定义连接器”/“远程 MCP 服务器”字段中。允许设置请求头的客户端可以改为发送 Authorization: Bearer vk_your_api_key_here,并使用裸地址 https://mcp.vibekit.bot/mcp。请参阅下面的获取 API 密钥。
更喜欢本地 stdio 安装(例如 Claude Desktop)?请使用以下步骤。
Related MCP server: vibekit-mcp
获取 API 密钥
密钥以 vk_ 开头。有两种获取方式:
即时获取,无需注册: 一次请求即可返回密钥。
curl -X POST https://vibekit.bot/api/v1/auth/register # Response: {"apiKey": "vk_...", "plan": "free", "credits": 0}保存返回的密钥并重复使用。每次调用
/auth/register都会创建一个全新账户,因此请只调用一次,而不是每次请求都调用。从你的账户获取: 如果你已经在使用 VibeKit,可以在网页仪表盘或 iOS 应用设置中复制或重新生成密钥。
安装
npm install -g vibekit-mcp设置
获取 VibeKit API 密钥(请参阅上面的获取 API 密钥)。
添加到你的 MCP 客户端配置(例如 Claude Desktop)(macOS 上为
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"vibekit": {
"command": "vibekit-mcp",
"env": {
"VIBEKIT_API_KEY": "vk_your_api_key_here"
}
}
}
}重启你的 MCP 客户端
可用工具
托管
工具 | 描述 |
| 列出所有托管应用 |
| 获取特定应用的详细信息 |
| 列出 |
| 从模板创建新应用 |
| 将 GitHub 仓库部署到托管 |
| 使用最新代码重新部署应用 |
| 列出应用最近的部署,包含状态和提交 |
| 将应用回滚到之前的部署 |
| 获取应用日志 |
| 重启应用 |
| 停止应用 |
| 启动已停止的应用 |
| 获取应用环境变量 |
| 设置应用环境变量 |
| 永久删除应用 |
代理
工具 | 描述 |
| 与应用的人工智能代理聊天 |
| 获取代理状态 |
| 获取与代理的聊天记录 |
数据库
工具 | 描述 |
| 为应用启用 Postgres 数据库 |
| 获取数据库状态和连接信息 |
| 获取数据库架构(每个表及其列) |
| 运行只读 SQL 查询(仅 SELECT,最多 200 行) |
| 浏览一个表的行,支持分页和排序 |
QA
工具 | 描述 |
| 运行自动化 QA 测试 |
| 获取 QA 测试结果 |
任务
工具 | 描述 |
| 提交编码任务 |
| 获取任务状态/结果 |
| 列出最近的任务 |
| 等待任务完成 |
| 取消正在运行的任务 |
| 创建重复计划任务 |
| 列出计划任务 |
| 删除计划任务 |
账户
工具 | 描述 |
| 获取账户信息(计划、积分、使用量) |
| 列出实现技能 |
| 获取特定技能内容 |
示例用法
配置完成后,你可以使用如下提示:
“将我的 GitHub 仓库部署到 VibeKit 并创建一个新应用”
“与我的应用的人工智能代理聊天,讨论添加联系表单”
“显示我的应用日志,如果有错误则重启它”
“为我的应用启用数据库,然后显示其架构并查询用户表”
“列出我的应用最近的部署,并回滚到最后一个可用的”
“对我的已部署应用运行 QA 测试”
“检查我的 VibeKit 账户余额并列出我的应用”
“创建每周计划以提升我的应用性能”
环境变量
变量 | 描述 | 默认值 |
| 你的 VibeKit API 密钥(必需) | 无 |
| API 基础 URL |
|
相关包
vibekit-cli:用于 VibeKit 云工作流的终端客户端vibekit-agent:用于你自己机器上本地 Claude Code 的 Telegram 桥接
链接
仪表盘(查看或重新生成你的 API 密钥)
隐私政策
VibeKit 的隐私政策:https://vibekit.bot/privacy
此 MCP 服务器具体如何处理你的数据:
每次工具调用都会通过 HTTPS 转发到 VibeKit API(
https://vibekit.bot/api/v1),并使用你配置的 API 密钥进行身份验证。工具输入和输出由 VibeKit 处理,以运行你的应用和代理,并受上述隐私政策约束。服务器本身不保留任何状态:不会向磁盘写入任何内容,此包不收集任何分析或遥测数据,你的 API 密钥从配置(
VIBEKIT_API_KEY/ 扩展的密钥字段)中读取,并且仅发送到vibekit.bot。数据保留、第三方共享和删除均受上述政策约束。如有疑问:support@vibekit.bot。
Available Tools
2 toolsvibekit_database_statusVibeKit Database StatusARead-onlyIdempotentInspect
Get an app's database status and connection info (whether it's provisioned, frozen, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID (from vibekit_list_apps) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the call succeeded. |
| data | No | Database stats: tables, storage, and connection info. |
| error | No | Error message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds minimal behavioral context (e.g., 'whether it's provisioned, frozen, etc.') but does not reveal additional traits. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every element is purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description need not explain return values. It covers the essential purpose and mentions example states. Could be slightly more specific but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for 'appId'. The tool description adds no extra meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get an app's database status and connection info', which uses the verb 'Get' and specifies the resource. It distinguishes from siblings like 'vibekit_db_query' and 'vibekit_enable_database' by focusing solely on status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description only states what it does, leaving the agent to infer context from sibling tool names.
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 TaskARead-onlyInspect
Get the status and result of a task submitted via vibekit_submit_task.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task ID returned from vibekit_submit_task |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the call succeeded. |
| data | No | Task details: status, logs/result summary, and repo info. |
| error | No | Error message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true, indicating no side effects. The description adds no further behavioral details (e.g., re-fetch behavior, error states). With annotations covering safety, the description meets the baseline but does not exceed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that directly conveys the purpose without fluff. Every word is necessary; no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description doesn't need to detail return values. The one-parameter tool is fully covered by the description and schema, leaving no gaps for an agent to misinterpret.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for taskId. The description adds value by specifying that the ID comes from vibekit_submit_task, linking the tools together and clarifying the parameter's origin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'status and result of a task', and distinguishes it from sibling tools like vibekit_submit_task (creates) and vibekit_cancel_task (cancels). It references the specific submission tool, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use after vibekit_submit_task. It does not explicitly mention when not to use or alternatives like vibekit_wait_for_task for polling, but the context is clear enough for an agent to infer appropriate usage.
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.
31 tool updates
v0.7.5- Removed
vibekit_account - Removed
vibekit_agent_history - Removed
vibekit_agent_status - Removed
vibekit_app_env - Removed
vibekit_app_logs - Removed
vibekit_cancel_task - Removed
vibekit_chat - Removed
vibekit_create_app - Removed
vibekit_create_schedule - Changed
vibekit_database_status2 fields changed- changed
Input schema / properties / appId / descriptionPrevious value: -"The app ID to get database status for"New value: +"App ID (from vibekit_list_apps)" - changed
Output 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" +}
- Removed
vibekit_delete_app - Removed
vibekit_delete_schedule - Removed
vibekit_deploy - Removed
vibekit_enable_database - Removed
vibekit_get_app - Removed
vibekit_get_skill - Changed
vibekit_get_task2 fields changed- changed
Input schema / properties / taskId / descriptionPrevious value: -"The task ID returned from vibekit_submit_task"New value: +"Task ID returned from vibekit_submit_task" - changed
Output 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" +}
- Removed
vibekit_list_apps - Removed
vibekit_list_schedules - Removed
vibekit_list_skills - Removed
vibekit_list_tasks - Removed
vibekit_list_templates - Removed
vibekit_qa_status - Removed
vibekit_redeploy - Removed
vibekit_restart_app - Removed
vibekit_run_qa - Removed
vibekit_set_env - Removed
vibekit_start_app - Removed
vibekit_stop_app - Removed
vibekit_submit_task - Removed
vibekit_wait_for_task
31 tool updates
v0.6.1- First observed
vibekit_account - First observed
vibekit_agent_history - First observed
vibekit_agent_status - First observed
vibekit_app_env - First observed
vibekit_app_logs - First observed
vibekit_cancel_task - First observed
vibekit_chat - First observed
vibekit_create_app - First observed
vibekit_create_schedule - First observed
vibekit_database_status - First observed
vibekit_delete_app - First observed
vibekit_delete_schedule - First observed
vibekit_deploy - First observed
vibekit_enable_database - First observed
vibekit_get_app - First observed
vibekit_get_skill - First observed
vibekit_get_task - First observed
vibekit_list_apps - First observed
vibekit_list_schedules - First observed
vibekit_list_skills - First observed
vibekit_list_tasks - First observed
vibekit_list_templates - First observed
vibekit_qa_status - First observed
vibekit_redeploy - First observed
vibekit_restart_app - First observed
vibekit_run_qa - First observed
vibekit_set_env - First observed
vibekit_start_app - First observed
vibekit_stop_app - First observed
vibekit_submit_task - First observed
vibekit_wait_for_task
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one checks database status, the other retrieves task results. No ambiguity.
Both tools use the consistent 'vibekit_' prefix followed by verb_noun pattern (database_status, get_task), showing good naming uniformity.
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.
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
Related MCP Connectors
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Related MCP Servers
- AlicenseAqualityAmaintenanceDeploy static websites, landing pages, and prototypes instantly. Free, no account needed.4151,585 npm6MIT
- AlicenseBqualityDmaintenanceEnables 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.4910 npmMIT
- AlicenseAqualityAmaintenanceAn MCP server for managing Modal — apps, containers, volumes, and secrets — and for deploying & running Modal apps directly from Claude Code and other MCP clients.1283 PyPI4MIT
- FlicenseNot gradedqualityDmaintenancePublish your Claude Code setup, browse a public feed, and pull setups in. Remote MCP server + web feed in one FastAPI app.1-