vibekit-mcp
Provides tools to deploy repositories directly from GitHub to VibeKit hosting and manage application deployment workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vibekit-mcpshow me the logs for my surf app"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vibekit-mcp
MCP server for VibeKit — control your hosted apps, AI agents, and deployments from Claude Desktop, Cursor, or any MCP client.
Quick Start
1. Install
npm install -g vibekit-mcp2. Get an API key
Go to app.vibekit.bot → Settings → API Keys, or via Telegram: @the_vibe_kit_bot → /apikey
3. Add to 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"
}
}
}
}4. Restart your MCP client and start building.
Related MCP server: Scout MCP Server
What You Can Do
Apps
Tool | Description |
| List all your hosted apps |
| Get app details (status, URL, memory, uptime) |
| Create a new app from a template |
| Deploy a GitHub repo |
| Redeploy with latest code |
| Roll back to a previous snapshot |
| List deployment snapshots |
| Get runtime logs |
| Restart an app |
| Stop an app |
| Start a stopped app |
| Permanently delete an app |
| Run a shell command inside a running container |
Environment Variables
Tool | Description |
| Get env vars (values revealed) |
| Set one or more env vars |
| Delete a specific env var |
AI Agent
Tool | Description |
| Send a message to an app's AI agent |
| Check if agent is idle or running |
| Stop a running agent request |
| Get conversation history |
| Get current model config |
| Change model ( |
| Reset agent (clear sessions, memory, restart, or cleanup disk) |
| Compact agent memory to free context |
Files
Tool | Description |
| List files in the workspace |
| Read a file's contents |
| Write or update a file |
| See uncommitted file changes |
Database
Tool | Description |
| Provision a Postgres database |
| Connection info and stats |
| Get tables and columns |
| Run a SQL query |
Custom Domains
Tool | Description |
| Add a custom domain |
| Remove a custom domain |
QA
Tool | Description |
| Run automated QA tests |
| Get latest QA results |
Cron Schedules (per app)
Tool | Description |
| List cron jobs for an app |
| Create a cron job |
| Delete a cron job |
Async Coding Tasks
Tool | Description |
| Submit an async coding task (GitHub-based) |
| Get task status and result |
| List recent tasks |
| Poll until task completes |
| Create a recurring coding task |
| List recurring schedules |
| Delete a schedule |
Account & Skills
Tool | Description |
| Plan, credits, and usage |
| Browse implementation skills |
| Fetch a skill's full content |
Example Prompts
"List my apps and show the logs for the one that's erroring"
"Chat with the agent on my 'dogs' app — ask it to add a dark mode toggle"
"Read the server.js file from my app and tell me what it does"
"Run a SQL query on my app's database: SELECT COUNT(*) FROM users"
"Redeploy my app, then run QA and show me the results"
"Roll back my app to the previous deployment"
"Set DATABASE_URL and STRIPE_SECRET as env vars on my app, then restart it"
"Check my account balance and show how many sessions I've used this month"Environment Variables
Variable | Description | Default |
| Your VibeKit API key (required) | — |
| API base URL |
|
Links
Available Tools
49 toolsvibekit_accountA
Get VibeKit account info — plan, credits balance, session usage, and limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. The verb 'Get' implies a read-only operation, and listing the returned data (plan, credits, session usage, limits) adds transparency. However, it does not explicitly state that the operation has no side effects, nor does it mention authentication requirements or potential errors, leaving some behavioral aspects undisclosed.
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 concise sentence, front-loaded with the tool's purpose (Get account info) followed by a brief list of the specific data returned. Every word contributes value, with no redundancy or padding.
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?
This is a simple zero-parameter tool with no output schema, and the description adequately conveys what the tool returns. It covers the key categories (plan, credits, session usage, limits). However, it could be slightly more complete by clarifying units or the meaning of 'session usage,' but given the low complexity, this is a minor gap.
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?
The tool accepts zero parameters, so the schema is fully covered (100% coverage). The description does not need to explain parameter semantics, and the baseline of 4 applies. It adds no extra parameter details, which is appropriate given the absence of parameters.
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 action ('Get') and the resource ('VibeKit account info'), and it lists specific details included: plan, credits balance, session usage, and limits. This makes the tool's purpose unambiguous and distinguishes it from sibling tools that focus on apps, deployments, or other specific operations.
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 provides clear context for when this tool is appropriate: when an agent needs to retrieve account-level information such as plan details, credits, or usage limits. It does not explicitly mention when not to use it or name alternative tools, but the scope is narrow enough that no close alternatives are apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_add_domainA
Add a custom domain to an app. After adding, update your DNS CNAME to point to vibekit.bot.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| domain | Yes | Custom domain to add, e.g. 'myapp.com' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds one useful behavioral detail (DNS must be updated manually), but it does not disclose whether the operation is safe/reversible, what errors may occur, or any other side effects. This is minimal disclosure, so 2.
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 two sentences, front-loads the primary purpose, and includes a necessary follow-up instruction. No redundant content, every sentence earns its place.
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?
The tool is simple with two well-documented parameters and no output schema. The description covers the main action and the DNS post-step, but lacks details about prerequisites (app must exist), conflict handling, or return values. Adequate but with clear gaps for a mutation tool with no annotations.
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 description coverage is 100% for both appId and domain, including an example for domain. The description adds no extra meaning about parameters, so the baseline of 3 is appropriate.
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 'Add' and the resource 'custom domain to an app', distinguishing it from sibling tools like vibekit_remove_domain. It also provides a specific follow-up action (DNS CNAME), making the 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 when to use by the clear action and adds a post-requirement (DNS update), but it does not explicitly exclude alternatives or mention when not to use. Sibling names like vibekit_remove_domain provide implicit contrast. This is clear context without explicit exclusions, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_agent_compactA
Compact the agent's memory to free up context window space. Useful for long-running agents.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only mentions the benefit of freeing context space but does not explain side effects such as whether information is lost, whether the operation is reversible, or any permission requirements. This is a significant gap for a memory-modifying action.
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 extremely concise: two short sentences. The first states the action and purpose, the second provides a usage hint. Every word earns its place with no redundancy or filler.
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?
For a simple tool with one parameter and no output schema, the description gives the core purpose and a usage cue. However, it lacks information about consequences of the operation, which is important for an agent to understand before invoking it. It is minimally adequate but not fully complete.
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?
The input schema covers 100% of parameters (single appId with description). The description itself adds no additional parameter semantics. Per the rubric, high schema coverage gives a baseline of 3, and the description does not enhance it further.
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 'compact' and the resource 'agent's memory', with the purpose 'free up context window space'. This is specific and distinguishes it from sibling agent tools like get_status, stop, or reset, which have different operations.
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 provides a clear usage context: 'Useful for long-running agents.' This implies when to use, but does not explicitly mention when not to use or alternative tools. Still, it gives enough guidance for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_agent_configA
Get the AI agent configuration for an app. Returns the current model.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It indicates a read-only operation via 'Get' and specifies the return type, but it does not explicitly confirm no side effects, require auth, or handle errors. For a simple retrieval tool, this is adequate but not rich.
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 extremely concise: two sentences that state the action and the key return value. There is no fluff or redundant information, and the most important detail (returns current model) is front-loaded.
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?
The tool is simple with one parameter and no output schema, and the description provides the essential return information ('Returns the current model'). It does not explicitly mention the appId parameter, but the schema covers that. It could have referenced sibling tools for context, but overall it is sufficiently complete for its complexity.
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?
The schema covers 100% of the parameter (appId) with a description 'App ID or subdomain slug'. The tool description adds no additional parameter semantics beyond the schema, which is acceptable given the high schema coverage.
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 tool retrieves AI agent configuration for an app and specifies the return value (current model). The verb 'Get' plus resource 'AI agent configuration' is specific and distinct from sibling tools like vibekit_agent_set_model (sets model) and vibekit_agent_status (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?
The description implies usage when you need the current model or agent configuration, but it does not explicitly mention when not to use it or reference alternatives. There is no exclusionary guidance or comparison to sibling tools like vibekit_agent_status or vibekit_agent_set_model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_agent_historyB
Get the chat history with an app's AI agent.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| limit | No | Maximum number of messages to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description must disclose behavioral traits. It simply states the action without covering important context like return format, pagination, ordering, or whether system messages are included. The limit parameter hints at pagination but the description doesn't clarify.
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?
One-sentence description is concise and front-loaded. Every word contributes to purpose, with no filler.
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?
For a simple read operation with fully documented parameters, the description is adequate but lacks context about what constitutes the chat history (e.g., message types, ordering) and what the response contains. Given no output schema, more detail would help, but it's not severely incomplete.
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 covers 100% of parameters, so baseline is 3. The description adds no parameter-specific meaning; appId and limit are well-documented in the schema, with a default for limit. No additional semantics are needed.
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 tool retrieves chat history for an app's AI agent. The verb 'get' and resource 'chat history' are specific, and it distinguishes from sibling tools like vibekit_chat (which likely sends messages) and deploy_history.
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 usage guidelines are provided. There is no guidance on when to use this versus other agent-related tools, prerequisites (e.g., app must exist), or whether it complements vibekit_chat. The description is too terse to offer any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_agent_resetA
Reset an app's agent. Choose an action: 'clear-sessions' (wipe conversation history), 'clear-memory' (wipe memory files), 'restart-agent' (restart the gateway process), 'cleanup-disk' (free disk space).
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| action | Yes | Reset action to perform |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses the effects of each action (e.g., 'wipe conversation history', 'wipe memory files'), which is good. However, it does not mention irreversibility, potential downtime, or whether cleaning disk affects other apps. It could better warn about destructive consequences.
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 two sentences with no fluff. It front-loads the core purpose ('Reset an app's agent') and then efficiently enumerates the actions. Every phrase earns its place.
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?
Despite no output schema, the description provides enough context for selecting an action and understanding its effect. It does not specify return values or confirm what happens after the action, but given the tool's simple two-parameter interface, the description is largely complete.
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?
The input schema already describes both parameters at 100% coverage, but the description adds semantic meaning to the action enum values, explaining that 'clear-sessions' wipes conversation history, 'restart-agent' restarts the gateway process, etc. This goes beyond the schema's bare enum labels.
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 uses the specific verb 'Reset' with resource 'app's agent', and enumerates four distinct actions with their effects. This clearly differentiates it from sibling tools like vibekit_restart_app (which restarts the app, not the agent) and vibekit_agent_compact (which compacts memory rather than resetting).
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 usage when you need to clear agent session history, memory files, restart the gateway process, or free disk space. It does not explicitly state when to avoid using this tool or mention alternatives, but the action list provides clear context for when each sub-action is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_agent_set_modelC
Change the AI model used by an app's agent.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| model | Yes | Model to use. Options: 'claude-opus-4-6', 'claude-sonnet-4-20250514', 'claude-haiku-3.5' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only says 'change' without explaining side effects (e.g., whether the agent restarts, whether changes are persistent or reversible, or if there are prerequisites). This lack of detail is a significant gap for a mutation tool.
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 redundancy. It is concise and to the point, appropriate for a simple tool.
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 no annotations, no output schema, and a mutation action, the description is too sparse. It fails to convey return values, immediate effects, or operational context, making it incomplete for an agent to confidently invoke.
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%; both appId and model have clear descriptions in the schema. The description adds little beyond the schema, merely framing the parameters as an 'app's agent.' Baseline 3 is appropriate.
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 action ('Change') and the resource ('AI model used by an app's agent'), making the tool's purpose unambiguous. It distinguishes from sibling tools like agent_config or agent_status, though it doesn't explicitly name alternatives.
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 guidance is provided on when to use this tool versus other agent-related tools (e.g., agent_config, agent_reset). The description only states what it does, leaving the 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.
vibekit_agent_statusA
Get the current status of an app's AI agent (idle, running, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. The verb 'Get' clearly implies a read-only operation, and the parenthetical '(idle, running, etc.)' gives some insight into the possible return values. However, it does not disclose error behavior, authentication needs, or what 'etc.' might include, leaving some ambiguity.
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 concise sentence, front-loaded with the action ('Get'), and includes relevant example values. There is zero wasted text; every word contributes to understanding.
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?
This is a low-complexity tool with one clearly documented parameter and no output schema. The description covers the tool's purpose and hints at return values. It is nearly complete for a simple status check, though it could explicitly list all possible statuses or mention that the status is for the agent specifically (as opposed to app status).
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?
The input schema has 100% coverage with appId described as 'App ID or subdomain slug'. The description adds no additional meaning beyond the schema; it only refers to 'an app's AI agent'. Baseline score of 3 is appropriate since the schema fully documents the parameter.
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 tool gets the current status of an app's AI agent, with specific verb (Get), resource (current status), and examples (idle, running, etc.). It is unambiguous and naturally distinguished from sibling tools like vibekit_agent_stop or vibekit_agent_history.
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?
Usage is implied through the description: it is a read-only status checker. However, there is no explicit guidance on when to use this vs. alternatives (e.g., when to check status vs. stop/restart), nor any exclusions or prerequisites. The context of sibling tools suggests it is the go-to status check, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_agent_stopC
Stop a currently running agent request.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action without explaining side effects, idempotency, error behavior (e.g., what happens if no request is running), or whether stopping is reversible. This is a significant gap for a mutating tool.
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, concise sentence that communicates the essential action. It is front-loaded and free of clutter, although it could earn a higher score with slightly more detail without becoming verbose.
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 the lack of annotations, no output schema, and only one parameter, the description is too sparse. It omits critical context such as when stopping is appropriate, whether it requires specific conditions, and what the outcome is. This makes it insufficient for reliable agent invocation compared to well-documented tools.
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?
The schema provides 100% coverage for the single parameter appId with a clear description ('App ID or subdomain slug'). The tool description adds no additional parameter context, so the baseline score of 3 is appropriate.
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 uses a specific verb ('Stop') and resource ('currently running agent request'), clearly indicating the tool's function. It distinguishes from siblings because no other agent tool mentions stopping, though it does not explicitly contrast with 'reset' or 'compact'.
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 guidance is provided on when to use this tool versus alternatives. It does not mention conditions for stopping an agent request, prerequisites, or relationships to sibling tools like vibekit_agent_reset or vibekit_agent_compact.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_app_envB
Get environment variables for a hosted app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only states the basic operation. It does not mention whether the operation is read-only, whether authentication is required, how secrets are handled, or any limitations such as pagination or scope.
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 that conveys the essential information with no wasted words. It is perfectly concise.
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?
For a simple getter with one documented parameter, the description is minimally adequate. However, it does not explain the return format, whether environment variables are returned as a map, or any notes about sensitive data. Given no output schema, slightly more context would improve completeness.
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?
The input schema already documents the only parameter appId as 'App ID or subdomain slug' with 100% coverage. The description does not add further meaning to the parameter, so the baseline score of 3 is appropriate.
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 uses a specific verb 'Get' and identifies the resource as 'environment variables' for a 'hosted app', making the tool's purpose immediately clear. It is distinct from sibling tools like set_env and delete_env, which perform different operations.
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 guidance is provided on when to use this tool versus alternatives such as set_env or delete_env. The description only states what the tool does, leaving the agent to infer context from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_app_logsA
Get application logs for debugging and monitoring.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| lines | No | Number of log lines to retrieve (default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb 'Get' implies a read-only, non-destructive operation, but no additional behavioral details are provided (e.g., log retention, ordering, or potential side effects). Moderate transparency.
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, concise sentence that conveys the essential purpose without any unnecessary words or repetition. It is well-structured and front-loaded.
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?
For a simple log retrieval tool with two well-documented parameters and no output schema, the description adequately covers the core functionality and use case. It does not describe return format, but this is not critical given the tool's simplicity.
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 description coverage is 100%, so the input schema fully documents both parameters. The description adds no parameter-specific details beyond what the schema already provides, meriting the baseline score.
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 tool's function with a specific verb ('Get') and resource ('application logs'). It effectively distinguishes from sibling tools by focusing on log retrieval for debugging and monitoring.
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 phrase 'for debugging and monitoring' provides clear context on when the tool should be used, though it does not explicitly mention alternatives or exclusions. This is sufficient given the tool's simple and distinct purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_app_schedulesA
List cron schedules configured for an app's agent.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates a read-only listing operation, but provides no additional context such as authentication requirements, response structure, or possible filters. It is not misleading but is minimal.
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?
One clear, front-loaded sentence with no wasted words. It conveys the action and scope immediately.
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?
For a simple single-parameter list tool with full schema coverage and no output schema, the description is sufficiently complete. It defines the scope (app's agent) and distinguishes from similar tools, though it could mention the relationship to schedule creation/deletion tools.
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 description coverage is 100% (appId is described as 'App ID or subdomain slug'). The description adds only the phrase 'app's agent', which loosely relates to appId but does not elaborate on parameter semantics beyond what the schema already states.
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 uses a specific verb ('List') and resource ('cron schedules configured for an app's agent'), clarifying exactly what the tool does and distinguishing it from broader list tools like 'vibekit_list_schedules' by scoping to an app's agent.
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 provides no guidance on when to use this tool versus alternatives. It does not mention that it is app-specific or contrast it with related tools like 'vibekit_list_schedules' or 'vibekit_create_app_schedule'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_chatA
Send a message to an app's AI agent. The agent can read, write, and modify the app's code, run commands, and deploy changes.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| message | Yes | Message to send to the AI agent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full burden of transparency. It explicitly discloses that the agent can 'read, write, and modify the app's code, run commands, and deploy changes,' which is critical behavioral information for a tool that might trigger significant side effects. It does not detail permissions, reversibility, or execution model, but the core autonomous behavior is clearly exposed.
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 that immediately states the action ('Send a message') and then adds the important capability warning. Every word earns its place; there is no redundancy or filler.
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?
The description covers the broad behavior and the powerful agent capabilities, but no output schema exists and the description does not mention what the agent returns, whether the call is synchronous, or how to handle/asynchronously consume the result. It is adequate for understanding the purpose but leaves gaps about the conversational flow and response handling.
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?
The input schema already provides full descriptions for both parameters (appId, message), and the schema coverage is 100%. The description adds no extra parameter-level semantics beyond the general purpose, matching the baseline expectation when the schema is self-sufficient.
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 uses a specific verb and resource: 'Send a message to an app's AI agent.' It clearly distinguishes chat from sibling tools like vibekit_agent_status or vibekit_exec by focusing on conversational interaction. The added context about the agent's capabilities (read/write/code/deploy) further clarifies what the tool does.
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 when to use this tool: when you want to interact conversationally with an app's AI agent. However, it does not explicitly state when not to use it or name alternatives such as vibekit_submit_task, vibekit_exec, or the agent control tools. This is an implied but not explicit usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_create_appA
Create a new hosted app from a template.
| Name | Required | Description | Default |
|---|---|---|---|
| template | Yes | Template to use (e.g., 'nextjs', 'react', 'express', 'static') | |
| subdomain | Yes | Subdomain — app will be at {subdomain}.vibekit.bot |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without revealing what happens after creation, whether the app is immediately available, any costs, or reversibility. This is a significant gap for a creation tool that likely has side effects.
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 sentence with no filler. It is front-loaded with the verb and resource, making it immediately scannable and appropriate in length.
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?
For a two-parameter tool with complete schema coverage, the description is adequately complete. It lacks an explicit statement about the return value or post-creation behavior, but the interface is simple and the schema covers the necessary invocation details, so this is a minor gap.
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?
The schema covers 100% of parameters with clear descriptions, so the baseline is 3. The description adds a hint by mentioning 'template' but does not go beyond the schema's explanations for either parameter, offering no additional semantic value.
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 uses a specific verb ('create') and a clear resource ('new hosted app') with a qualifier ('from a template'). This makes the tool's purpose immediately obvious and distinguishes it from sibling tools like deploy, redeploy, or delete_app, which involve different lifecycle stages.
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 usage for initial app creation via the phrase 'new hosted app', but it provides no explicit guidance on when to use this versus alternatives, nor any exclusions or prerequisites. It is not misleading, but the guidance is purely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_create_app_scheduleB
Create a cron schedule for an app's agent (e.g. daily report, nightly cleanup).
| Name | Required | Description | Default |
|---|---|---|---|
| cron | Yes | Cron expression, e.g. '0 9 * * 1' for every Monday 9am UTC | |
| name | Yes | Friendly name for the schedule | |
| task | Yes | What the agent should do on each run | |
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that a schedule is created, but does not disclose potential side effects such as overwriting existing schedules, permission requirements, or validation behavior. This is under-specified for a mutation tool.
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 sentence that is front-loaded with the verb and resource, and includes useful examples. It is concise and efficient, though slightly sparse on behavioral details, which keeps it from a perfect score.
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 no output schema and no annotations, the description lacks behavioral context such as what happens on success or failure. However, the schema clearly documents all parameters, and the tool is a simple create operation, so the description is minimally 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?
The input schema has 100% coverage with clear descriptions for all four required parameters. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 uses a specific verb 'Create' and identifies the resource as a 'cron schedule for an app's agent', with concrete examples like 'daily report, nightly cleanup'. It clearly scopes the tool to app-level schedules, distinguishing it from sibling tools like vibekit_create_schedule.
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 gives context on when to use the tool via examples, but it does not explicitly state when not to use it or mention alternatives such as vibekit_create_schedule. Usage is implied rather than precisely guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_create_scheduleA
Create a recurring coding task schedule (GitHub-based, not app-agent based).
| Name | Required | Description | Default |
|---|---|---|---|
| cron | Yes | Cron expression, e.g. '0 9 * * 1' | |
| name | No | Friendly name for this schedule | |
| repo | Yes | GitHub repo in format 'owner/repo' | |
| task | Yes | What to do on each run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds the key behavioral distinction (GitHub-based vs app-agent based), which is valuable. However, it does not mention any side effects, permissions, or how the schedule is executed, leaving gaps in expected behavior for a mutation tool.
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 filler. It immediately states the action and resource, then adds the critical differentiator. Every word earns its place.
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?
The description covers the core purpose and key differentiator but leaves out details like what happens after creation, how to manage the schedule, or any prerequisites. Given the tool has four parameters and no output schema, the description is adequate but not comprehensive.
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?
The input schema provides 100% coverage of all four parameters, so the baseline is 3. The description adds minimal additional meaning beyond the schema, only implying that the 'task' is a coding task. It does not clarify cron syntax or repo requirements beyond what the schema already states.
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 tool's function: creating a recurring coding task schedule. It explicitly distinguishes this from app-agent-based schedules, which differentiates it from the sibling tool vibekit_create_app_schedule. The verb 'Create' and resource 'recurring coding task schedule' are specific and 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 phrase 'GitHub-based, not app-agent based' provides clear context on when to use this tool versus alternatives. It implies that if the user wants a schedule running via GitHub, choose this tool; if not, use the app-agent variant. However, it does not explicitly name the alternative tool or provide exclusion criteria, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_database_queryA
Run a SQL query against an app's database. Read-only queries are always safe; write queries modify data.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | SQL query to execute, e.g. 'SELECT * FROM users LIMIT 10' | |
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the safety disclosure. It does say read-only queries are 'always safe' and write queries 'modify data,' which is useful. But it omits details like whether write queries are reversible, require special permissions, or are logged. The 'always safe' claim could also be misleading for heavy read queries, though it likely refers to data mutation only.
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 two concise sentences, front-loaded with the core action, and every word adds value. It avoids repetition of schema details and is easy to scan.
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?
The description covers the action and the main safety distinction but omits return value format, row limits, timeouts, or any other behavioral expectations for an open-ended SQL tool. Since there is no output schema, the description could have provided more context about what the agent will receive in response, leaving some gaps.
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?
The input schema already provides 100% coverage with descriptions for both appId and sql, including an example query. The tool description adds no additional parameter-level meaning beyond the schema, so the baseline 3 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 a specific verb and resource: 'Run a SQL query against an app's database.' It distinguishes this from sibling tools like vibekit_database_schema or vibekit_database_status by focusing on arbitrary query execution.
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 gives context that read-only queries are safe and write queries modify data, implying when caution is needed. However, it does not explicitly name alternatives or state when to prefer this tool over other database-related tools, so the guidance is implicit rather than definitive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_database_schemaA
Get the database schema (tables and columns) for an app's database.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It simply says 'Get' without stating whether the operation is read-only, whether authentication or a previously enabled database is required, or what the response format includes. This is a significant transparency gap.
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 that wastes no words. Every part contributes directly to understanding the tool's purpose, with no filler or repetition.
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?
The tool is simple with one well-documented parameter and no output schema, so the description partially fills the gap by mentioning 'tables and columns.' However, it does not clarify the structure of the response (e.g., list of objects) or any prerequisites/dependencies (e.g., database must be enabled), leaving moderate room for ambiguity.
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?
The schema covers 100% of the parameter documentation with a clear description ('App ID or subdomain slug'), so the baseline is 3. The tool description does not add any additional parameter meaning beyond that, but none is needed given the high schema coverage.
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 uses the specific verb 'Get' alongside a clear resource: 'database schema (tables and columns) for an app's database.' This precisely states what the tool does and differentiates it from database_query (which queries data) and database_status (which checks 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?
The description implies when to use the tool (when you need to know an app's table/column structure) but does not explicitly state exclusions or alternatives. For instance, it doesn't mention that database_query is for querying data or that enable_database must be called first. However, the purpose is clear enough to infer the primary use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_database_statusC
Get database status and connection info for an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It implies a read operation ('Get'), but it does not mention what the output contains, whether sensitive connection info (like credentials) is returned, whether it requires specific permissions, or whether it might be slow. The description adds minimal behavioral context beyond the basic read intent.
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, concise sentence that is front-loaded with the main action and resource. There is no redundancy, fluff, or irrelevant detail. Every word contributes to the stated purpose.
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?
The tool has a simple input schema but no output schema and no annotations. The description is too minimal to give the agent full confidence: it does not explain what the returned status/connection info looks like, nor does it clarify how this differs from related database tools. For a tool with no other structured context, the description should have been more detailed.
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?
The input schema has full coverage for the single parameter 'appId' with a description ('App ID or subdomain slug'). The tool description adds no additional meaning beyond what the schema already provides, but since schema coverage is 100%, the baseline of 3 is appropriate.
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 what the tool does: it gets database status and connection info for an app. It uses a specific verb ('Get') and resource ('database status and connection info'), making its basic purpose clear. However, it does not explicitly differentiate this from sibling tools like vibekit_database_schema or vibekit_database_query, so it lacks strong sibling differentiation.
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 provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites (e.g., database must be enabled) or contrast with related database tools (schema, query) or app-level tools (get_app). There is no context about typical use cases, so an agent receives no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_delete_appA
Permanently delete a hosted app and all its data.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Permanently' discloses irreversibility, and 'all its data' discloses the destructive scope. It lacks details on authentication, rate limits, or effects on associated resources (e.g., domains/schedules), but the main behavioral traits are covered.
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?
One short sentence, front-loaded with the key action and scope. No filler or redundant content; every word contributes.
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?
For a single-parameter destructive operation with no output schema, the description covers the essential purpose, irreversibility, and data scope. It does not mention return values or clarifications about associated resources, but the simplicity of the tool makes this 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?
The sole parameter appId has full schema coverage with description 'App ID or subdomain slug' (100% coverage). The tool description adds no additional parameter semantics beyond the schema, so baseline 3 is appropriate.
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 uses a specific verb ('delete') and resource ('hosted app'), with 'all its data' clarifying scope. This clearly distinguishes it from sibling tools like stop/start/get app, and the permanence adds precision.
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 usage for complete, irreversible app removal but does not explicitly state when to use it over alternatives (e.g., stop_app for pausing, remove_domain for domain changes). Usage context is clear from the destructive nature but relies on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_delete_app_scheduleA
Delete a cron schedule from an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| jobId | Yes | Schedule job ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only states the action without mentioning that deletion is permanent, any required permissions, or potential side effects. 'Delete' implies destructive behavior, but no additional context is provided.
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, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is well-suited for a simple delete operation.
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?
For a simple two-parameter delete operation with fully described schema, the one-sentence description is largely complete. However, it lacks behavioral details like irreversibility, which would be valuable given no annotations or output schema.
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 both appId and jobId described in the schema. The description does not add any additional meaning beyond the schema, so the baseline of 3 is appropriate.
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 action ('Delete') and the resource ('cron schedule from an app'). It distinguishes itself from sibling tools like vibekit_delete_schedule by specifying the app context, making the 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?
No explicit usage guidance or alternatives are mentioned. However, the tool name and description imply it is for deleting app-specific schedules, providing implied context. It does not explicitly state when to use it vs. other schedule-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_delete_envA
Delete a specific environment variable from a hosted app.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Environment variable name to delete | |
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the deletion action without disclosing whether the operation is irreversible, whether it impacts the running app, or if special permissions are required. The destructive nature is implied by the verb 'delete' but no additional context is given.
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, efficient sentence that front-loads the verb 'Delete' and includes all essential information without any waste. Every word earns its place.
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?
For a simple two-parameter delete tool with full schema coverage, the description is minimally adequate. However, it lacks any context about post-deletion effects (e.g., triggering a redeploy, irreversibility) or error conditions, which would be helpful given there is no output schema and no annotations.
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 description coverage is 100%: both 'key' and 'appId' have clear descriptions in the schema. The tool description adds no extra parameter information, but the schema already sufficiently documents the required inputs, so the baseline of 3 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 the action (delete), the resource (environment variable), and the scope (from a hosted app). It distinguishes this tool from siblings like vibekit_set_env (which sets) and vibekit_app_env (which likely lists env vars), making the 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 usage when you need to remove an environment variable, but it gives no explicit guidance on when to use this tool over alternatives like vibekit_set_env or vibekit_app_env. No 'when not to use' or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_delete_scheduleA
Delete an account-level recurring schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| scheduleId | Yes | Schedule ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only says 'Delete', which implies destructiveness, but does not disclose whether deletion is permanent, requires specific permissions, or what happens if the schedule does not exist. This is a significant transparency gap for a mutation tool.
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 sentence that is front-loaded with the action and resource. It contains no fluff or redundant information, and every word contributes meaning. This is an appropriate length for such a simple tool.
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?
The tool is simple (1 parameter, no output schema, no annotations). The description adequately states the purpose, but lacks information about return values, side effects, or error behavior. Since no output schema exists, the description could have mentioned what the caller should expect on success or failure. However, it is enough for a basic delete operation.
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?
The input schema has one parameter with a clear description ('Schedule ID to delete'), achieving 100% coverage. The tool description does not add any additional meaning beyond what the schema already provides, so it matches the baseline of 3.
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 uses a specific verb ('Delete') and identifies the exact resource ('account-level recurring schedule'). The 'account-level' qualifier distinguishes it from sibling tools like vibekit_delete_app_schedule, making the purpose clear and 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 provides clear context by specifying 'account-level', which implies it is not for app-level schedules. However, it does not explicitly name alternatives or state when not to use this tool. This is slightly better than mere implication because the account-level scope is directly stated, but lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_deployC
Deploy a GitHub repo to VibeKit hosting.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | GitHub repo in format 'owner/repo' | |
| subdomain | Yes | Subdomain — app will be at {subdomain}.vibekit.bot |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Deploy', which implies a mutation, but does not mention whether it replaces an existing deployment, triggers a build, requires authentication, or is asynchronous. The lack of such details makes it hard for an agent to anticipate side effects.
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 filler words. Every word contributes meaning, making it an excellent example of concise writing.
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?
The tool has no output schema and no annotations, so the description should explain what happens after deployment and what the agent can expect in return. It fails to mention any response or post-deployment behavior, leaving the context incomplete for an agent.
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?
The input schema fully describes both parameters: repo format and subdomain placement. The description adds no additional parameter information, so the schema does the heavy lifting, resulting in the baseline 3 for high schema coverage.
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 tool's action ('Deploy a GitHub repo to VibeKit hosting') with a specific verb and resource. It distinguishes from siblings like vibekit_redeploy (which is a re-deploy) and vibekit_rollback (which is a rollback), though it doesn't explicitly name an alternative.
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 usage context or guidance is provided. The description does not mention when to use this tool versus vibekit_redeploy or other deploy-related tools, nor does it state any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_deploy_historyA
List deployment history for an app so you can roll back to a previous snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It conveys that the operation is a read-only list ('List') and connects to snapshots, but it does not disclose any further behavioral traits such as pagination, permissions, or whether it returns complete history. This is adequate but not rich.
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 concise sentence that front-loads the verb and resource, and adds a purpose clause without any wasted words.
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?
For a simple listing tool with one parameter and no output schema, the description provides sufficient context: it lists deployment history tied to rollback. It could mention ordering or pagination, but it is complete enough for the tool's simplicity.
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 description coverage is 100%, with appId already described as 'App ID or subdomain slug'. The description adds no additional parameter semantics, so the baseline of 3 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 uses the specific verb 'List' with the resource 'deployment history for an app', clearly distinguishing it from rollback (which performs the action) and deploy tools. It also states the purpose, 'so you can roll back to a previous snapshot', which clarifies why this history is needed.
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 phrase 'so you can roll back' provides clear context for when this tool is useful, implying it should be used before a rollback operation. However, it does not explicitly name alternatives like vibekit_rollback or state exclusions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_enable_databaseA
Enable a managed Postgres database for an app. Free tier users need the database add-on.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a prerequisite (free tier needs add-on) but does not specify the outcome, side effects, or whether the operation is immediate, asynchronous, or potentially destructive. It only gives minimal behavioral context.
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 concise sentence, front-loaded with the action. The free-tier note is relevant and earns its place without unnecessary filler.
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?
This is a simple one-parameter tool without an output schema. The description covers the core purpose and a key prerequisite, which is sufficient for typical use. However, it could be more complete by hinting at what happens after enabling (e.g., database status becomes available) or noting idempotency.
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?
The input schema already describes appId as 'App ID or subdomain slug' with 100% coverage. The description adds nothing beyond 'for an app,' which is redundant with schema, so it does not enhance parameter understanding.
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 states the specific action: 'Enable a managed Postgres database for an app.' This clearly uses a verb ('Enable') plus resource ('managed Postgres database') and target ('app'), distinguishing it from siblings like database_status, database_schema, and database_query which are about viewing or querying.
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 the tool is used to enable a database, and provides a prerequisite about free tier needing an add-on. However, it does not explicitly mention when to use it versus alternative tools (e.g., database_status for checking) or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_execA
Run a shell command inside an app's container. The app must be running. Useful for inspecting state, running migrations, or debugging.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| command | Yes | Shell command to run, e.g. 'ls -la' or 'node -e "console.log(process.env)"' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions a prerequisite (app must be running) but fails to disclose that arbitrary shell commands can lead to destructive changes, require proper permissions, or affect the running app. No mention of output format or side effects. For a shell exec tool, this lack of warning is a significant gap.
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 two sentences, front-loaded with the action, and contains no filler. Every word contributes to understanding the tool's purpose and usage. It is optimally concise.
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?
The description covers the main use cases and prerequisite, but with no output schema, it does not explain what the tool returns (e.g., stdout, stderr, exit code). It also omits error conditions or limitations. For a simple exec tool, this is a moderate gap, making the description functional but not fully complete.
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?
Both parameters in the schema have detailed descriptions, and the schema coverage is 100%. The description adds no extra parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 tool's action: 'Run a shell command inside an app's container.' This is specific and distinct from sibling tools like vibekit_app_logs or vibekit_restart_app. The verb 'Run' and resource 'shell command inside an app's container' leave no ambiguity about what the tool does.
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?
It provides clear usage context: 'The app must be running' and 'Useful for inspecting state, running migrations, or debugging.' While it doesn't explicitly state when not to use it or name alternatives, the guidance is sufficient to distinguish it from other tools like file operations or logs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_file_changesA
Get a diff of recent file changes in an app's workspace (uncommitted changes).
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly communicates that the operation is read-only (a diff), scoped to 'recent' and 'uncommitted' changes, and tied to the app's workspace. While it does not specify diff format or exact recency window, the core behavior is transparent enough for a low-risk inspection tool.
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, compact sentence with no wasted words. It immediately identifies the action ('Get a diff') and includes the essential scoping qualifiers ('recent file changes', 'uncommitted changes') without redundancy.
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?
For a simple one-parameter read-only diff tool, the description is sufficiently complete. It explains what the tool returns, the scope of data (recent and uncommitted), and the target workspace. The lack of an output schema is partially mitigated by the word 'diff', which implies the response format, and no nested objects or enums add complexity.
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?
The schema covers the single parameter appId with 100% description coverage ('App ID or subdomain slug'), so the description does not need to re-explain it. The description's mention of 'app's workspace' aligns with the parameter but adds no additional semantic detail beyond the schema.
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 uses a specific verb ('Get a diff') and identifies a clear resource ('recent file changes in an app's workspace'), further qualified as 'uncommitted changes'. This distinguishes it from sibling file tools like list_files or read_file, which focus on file contents or listings rather than modifications.
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 qualifier 'uncommitted changes' implies the tool is for reviewing pending modifications before committing or deploying, which provides contextual guidance. However, it does not explicitly state when to choose this tool over alternatives like list_files or read_file, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_get_appA
Get details about a specific hosted app including status, URL, plan, and usage.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It clearly signals a read-only operation ('Get details') and discloses the return fields (status, URL, plan, usage). It does not mention error cases or authentication, but for a simple GET-style tool the core behavior is transparent.
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 filler or redundant information. It efficiently communicates the tool's purpose and scope.
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?
For a low-complexity tool with one parameter and no output schema, the description adequately covers the returned information by listing key fields. It could mention read-only behavior explicitly, but the name and verb strongly imply it, leaving no significant gaps.
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?
The input schema already describes appId as 'App ID or subdomain slug' with 100% coverage, so the description adds little beyond referencing 'a specific hosted app'. No additional syntax, constraints, or examples are provided, which is acceptable given the schema's completeness.
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 uses a specific verb 'Get details' and names the resource ('a specific hosted app'), enumerating concrete output fields such as status, URL, plan, and usage. This clearly distinguishes it from sibling tools like vibekit_list_apps.
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 phrase 'specific hosted app' establishes clear context for when to use this tool (single-app lookups) rather than listing all apps. However, it does not explicitly name alternative tools or exclusionary conditions, so it lacks full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_get_skillA
Fetch the full content of a specific skill. Use vibekit_list_skills to discover available skill IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Skill ID (e.g. 'nextjs', 'trpc', 'auth') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states the tool fetches full content, but does not mention return format, error handling, permissions, or read-only nature explicitly. Still, the simple nature of a get operation and the absence of side effects make it minimally adequate.
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?
Two succinct sentences with no redundant information. The first sentence states the action, the second provides situational guidance, making it highly efficient.
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?
For a simple one-parameter getter with a documented schema, the description is sufficient. It explains what it fetches and how to find IDs. The only minor gap is no explicit mention of response format, but that is largely implied.
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 description coverage is 100%, with the 'id' parameter well-described with examples. The description adds no additional parameter semantics, but the baseline is 3 because the schema handles it.
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 tool's function with a specific verb ('Fetch') and resource ('full content of a specific skill'), and differentiates it from the sibling tool by referencing vibekit_list_skills for discovery.
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 explicitly instructs to use vibekit_list_skills to discover skill IDs, establishing a clear workflow and distinguishing when to use each tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_get_taskA
Get the status and result of a previously submitted task.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task ID from vibekit_submit_task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It simply says 'Get' without confirming non-destructive behavior, whether it can be polled repeatedly, or how it behaves for tasks still in progress. The absence of such disclosure is a notable gap for a tool with no annotations.
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 concise sentence that front-loads the action and resource. Every word is essential, and there is no redundant 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 only one parameter and no output schema, the description is fairly complete for basic invocation. However, it does not clarify whether this is a non-blocking poll or how to interpret 'status and result' for in-progress tasks, which is important given the presence of sibling wait_for_task.
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?
The input schema has 100% coverage with 'taskId' described as 'Task ID from vibekit_submit_task'. The description itself adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 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 uses a specific verb ('Get') and resource ('status and result of a previously submitted task'), clearly differentiates from sibling tools like vibekit_submit_task, vibekit_list_tasks, and vibekit_wait_for_task, and communicates exactly what the tool returns.
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 phrase 'previously submitted task' implies this is used after vibekit_submit_task, providing some usage context. However, it does not explicitly mention when to use this tool over alternatives like vibekit_wait_for_task or vibekit_list_tasks, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_list_appsA
List all hosted apps in your VibeKit account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the tool lists apps, implying a read-only operation, but does not explicitly confirm safety, auth requirements, or output format.
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?
A single sentence with no redundant wording. It front-loads the verb and resource.
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?
For a simple list operation with no parameters and no output schema, the description sufficiently conveys what the tool does. It does not need to explain return values since 'list all hosted apps' implies a collection.
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?
There are zero parameters, so the description does not need to elaborate on schema fields. The baseline of 4 applies; the description correctly explains the operation.
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 uses the specific verb 'list' with the resource 'hosted apps' and scope 'your VibeKit account.' It clearly distinguishes from sibling tools like vibekit_get_app (single app) and vibekit_create_app (create).
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 vs alternatives, but the action and resource are clear, implying use when an overview of all apps is needed. There is no mention of alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_list_filesA
List files in an app's workspace directory.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Directory path to list (default: root) | |
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the full behavioral burden. It only states the action 'list' without disclosing details such as whether the listing is recursive, how directories are represented, or what errors may arise (e.g., invalid appId). The read-only nature is implied but not explicitly stated, and output format is not mentioned.
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?
At just nine words, the description is highly concise and front-loaded. It states the action and target in a single sentence with zero waste, making it easy for an agent to parse quickly.
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 the absence of an output schema, the description should note what the returned list contains (e.g., file names, paths, whether directories are included). It does not, leaving the agent to infer the response shape. For a simple list tool, this is adequate but with clear gaps.
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?
The input schema fully documents both parameters (appId as 'App ID or subdomain slug' and path as 'Directory path to list (default: root)'), providing 100% coverage. The description itself adds no additional parameter semantics, but it does not need to because the schema is complete. This is the baseline for high schema coverage.
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 uses the verb 'List' and identifies the specific resource: 'files in an app's workspace directory.' This clearly distinguishes it from sibling tools like vibekit_read_file (which reads a single file) and vibekit_list_apps (which lists apps). The purpose is 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 for inspecting an app's workspace files, but it does not provide explicit guidance on when to choose this over alternatives like vibekit_read_file or vibekit_file_changes. No exclusions or alternative references are given, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_list_schedulesA
List all account-level recurring task schedules.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It conveys a read-only list operation and scopes to account-level schedules, but it does not mention pagination, return structure, or authentication requirements. For a zero-parameter tool, the basic behavior is disclosed, though with gaps.
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, six-word sentence that states the action and scope directly. It is front-loaded with a verb and contains no unnecessary words.
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 the simplicity of the tool (0 params, no output schema, no annotations), this one-sentence description provides the core purpose and scope. It could optionally elaborate on what a 'recurring task schedule' contains or the response format, but it is sufficient for basic understanding.
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?
The tool has zero parameters and an empty schema, so the baseline is 4. There are no parameter semantics for the description to add.
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 uses a specific verb ('List') and clearly identifies the resource ('account-level recurring task schedules'), distinguishing it from sibling tools that operate on app-level schedules (vibekit_app_schedules) or create/delete schedules. It unambiguously states what the tool does.
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 provides clear context: it lists account-level schedules, implying the tool is for account-wide recurring tasks rather than app-specific ones. However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_list_skillsA
List available implementation skills. Skills contain code patterns and best practices for specific domains.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag (e.g. 'react', 'database', 'security') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context about what skills are ('code patterns and best practices'), which helps set expectations. However, with no annotations, it doesn't explicitly state that this is a safe read-only operation or describe the response format, leaving room for ambiguity.
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 two short sentences, front-loaded with the core action. Every word earns its place, providing both clarity and context without unnecessary detail.
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 the simple scope (1 optional param, no annotations, no output schema), the description is mostly complete. It conveys the essential purpose and what skills are, though it doesn't explicitly describe the return value (e.g., a list of skill names), which is typically implied by 'List'.
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?
The input schema fully documents the single 'tag' parameter with an explanation and examples, so the description doesn't need to add parameter details. The description adds no extra parameter semantics beyond the schema.
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 tool's function: 'List available implementation skills.' It uses a specific verb and resource, which distinguishes it from sibling tools like vibekit_get_skill that likely retrieve a single skill.
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 usage by naming the action 'List', but it provides no explicit guidance on when to use this tool versus alternatives like vibekit_get_skill. No exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_list_tasksB
List recent tasks submitted to VibeKit.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max tasks to return (default: 10) | |
| status | No | Filter by status. Note: completed tasks have status 'complete' (not 'completed') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden on behavioral disclosure. It only says 'List recent tasks' without mentioning read-only nature, pagination, ordering, or whether it returns full task details or summaries. This is insufficient for the agent to predict behavior.
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 sentence with no redundant wording, making it highly concise. It is front-loaded and easy to parse, though perhaps too sparse to convey full functionality.
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 no output schema and no annotations, the description is incomplete. It does not explain what fields are returned, how 'recent' is defined, or whether all tasks are included. This leaves the agent with ambiguities about the tool's behavior and output.
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?
The input schema already provides rich descriptions for both parameters, including the enum values and a note about 'complete' vs 'completed'. The description adds no additional parameter context, so the baseline of 3 for full schema coverage is appropriate.
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 tool lists tasks, using the specific verb 'list' and the resource 'tasks', and adds 'recent' to indicate scope. This distinguishes it from sibling tools like vibekit_get_task (single task) and vibekit_submit_task (create task).
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 provides no guidance on when to use this tool versus alternatives such as vibekit_get_task or vibekit_wait_for_task. It does not mention any exclusions or preferred contexts, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_qa_statusA
Get the latest QA test results for an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility for behavioral disclosure. It indicates a non-mutating operation via the verb 'get', but does not disclose potential error conditions, staleness of results, or authentication requirements. This is minimal but not misleading.
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, focused sentence with no redundant information. It communicates the essential action and target resource efficiently.
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 the simple one-parameter structure, the description is adequate for basic usage, but it lacks contextual details about how results relate to the QA lifecycle (e.g., running tests via vibekit_run_qa) and what the response contains. No output schema exists, so some return-value guidance would improve completeness.
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?
The input schema already fully documents the single parameter (appId) with a description. The tool description does not add any additional parameter semantics, so the schema's 100% coverage establishes the baseline.
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 tool retrieves the latest QA test results for a given app, using the specific verb 'get' and a distinct resource. This differentiates it from sibling tools like vibekit_run_qa (which executes tests) and other app management tools.
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 this is a read-only status check, but it does not explicitly state when to use it versus alternatives such as vibekit_run_qa or how it relates to other status tools (e.g., vibekit_agent_status). No exclusions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_read_fileA
Read the contents of a file in an app's workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path relative to workspace root, e.g. 'src/index.ts' | |
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The verb 'read' implies a non-destructive operation, but the description does not disclose return format, error conditions, or any path depth restrictions. For a simple read operation, this is adequate but not enriched.
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, clear sentence that states the exact purpose with no redundant words or repetition of schema details.
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?
The tool is low in complexity with full schema coverage and no output schema. The description sufficiently conveys the read operation, but it does not explicitly state what is returned (e.g., file content as a string). This is implied and acceptable given the simplicity.
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 description coverage is 100%: both 'path' and 'appId' have clear descriptions. The tool description adds no additional parameter semantics, which is acceptable since the schema already documents the parameters thoroughly.
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 uses the specific verb 'read' and clearly identifies the resource as 'a file in an app's workspace'. This distinguishes it from siblings like vibekit_list_files (which lists files) and vibekit_write_file (which writes/modifies files).
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 clearly implies use when you need to inspect file contents, but it does not explicitly contrast with alternative tools or state when not to use it. With sibling names like list_files and write_file, the context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_redeployA
Redeploy an existing hosted app to pick up the latest code changes.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states intent but does not disclose whether the operation is destructive, whether it triggers a build, if it is asynchronous, or whether it can fail due to app state. For a mutation action, this is a significant gap.
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 sentence of 12 words, front-loaded with the verb and purpose. Every word earns its place, with no redundancy.
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?
For a simple tool with one parameter and no output schema, the description conveys the core action but omits expectations about return values, asynchronous behavior, or potential side effects. Given the mutation nature, it is minimally adequate but not complete.
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?
The schema provides 100% coverage for the single parameter 'appId' with a clear description ('App ID or subdomain slug'). The tool description adds no extra semantics beyond the schema, so the baseline score of 3 is appropriate.
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 uses a specific verb ('redeploy') and resource ('existing hosted app'), clearly distinguishing it from deploying a new app or restarting. It also states the purpose: to pick up the latest code changes.
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 provides clear context for when to use: when you want to redeploy an existing app to adopt new code changes. It implies this is not for initial deployments, but it does not explicitly name alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_remove_domainA
Remove a custom domain from an app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states the action ('Remove a custom domain from an app') without noting whether the removal is permanent, whether it affects live traffic, or if any prerequisites exist. This is minimal disclosure for a destructive action.
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, concise sentence that immediately communicates the tool's purpose. There is no wasted content, and the key information is front-loaded.
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?
For a tool with a single, well-documented parameter and no output schema, the description is minimally adequate. However, it lacks any mention of side effects, return values, or behavioral consequences (e.g., whether removal disconnects the domain immediately). Given the simplicity, a middle score is appropriate.
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?
The only parameter (appId) is fully described in the schema as 'App ID or subdomain slug', which provides complete semantic coverage. The tool description adds no additional meaning or context for the parameter, so it does not exceed the schema baseline.
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 tool removes a custom domain from an app, using a specific verb ('Remove') and resource ('custom domain'). This distinguishes it from the sibling vibekit_add_domain, which performs the inverse operation.
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 provides no explicit guidance on when to use this tool versus alternatives like vibekit_add_domain. Usage is implied by the tool name and the presence of an inverse sibling, but no explicit when/when-not criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_restart_appA
Restart a hosted app (zero-downtime reload).
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It does reveal the key trait of being a zero-downtime reload, which is valuable, but it omits other potential effects like session termination, cache invalidation, or permission requirements.
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, efficient sentence that front-loads the verb and resource. It contains no filler and is appropriately sized for a one-parameter tool.
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?
For a simple restart operation with one parameter and no output schema, the description adequately states the core action and a key behavioral characteristic. It could be more complete by noting when to prefer restart over redeploy, but the current level is sufficient given the tool's low complexity.
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?
The input schema already provides a clear description for appId ('App ID or subdomain slug') with 100% coverage. The tool description adds no additional parameter-level context, so it does not enhance what the schema already offers.
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 uses the specific verb 'Restart' and identifies the resource as 'a hosted app', making the tool's purpose immediately clear. The parenthetical 'zero-downtime reload' adds a distinguishing characteristic that separates it from siblings like stop_app, start_app, and redeploy.
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 usage guidance is provided, such as when to use this tool versus redeploy or start_app. The 'zero-downtime reload' phrase implies a lightweight operation, but without direct comparison or exclusionary language, the guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_rollbackA
Roll back an app to a previous deployment snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug | |
| deployId | Yes | Deployment ID to roll back to. Use vibekit_deploy_history to list available deployments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without explaining side effects, such as whether the rollback causes downtime, whether the current deployment is preserved, or whether any data or configuration is affected. For a rollback operation, more transparency is needed.
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 concise sentence that immediately communicates the tool's purpose. It is front-loaded and contains no filler or redundant 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?
The tool is a mutation-like operation with no annotations and no output schema. The description adequately covers what the tool does and how to find the deployId, but it lacks important contextual details about rollback behavior (e.g., reversibility, app state, whether it forces a restart). Given the moderate complexity, the description is minimally viable but has notable gaps.
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?
The input schema already provides descriptions for both parameters, and the deployId parameter description includes a helpful cross-reference to vibekit_deploy_history. This adds value beyond the raw schema fields by explaining how to obtain a valid deployment ID, so the semantic guidance is strong.
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 uses a specific verb ('roll back') and resource ('app') and clearly distinguishes the tool from siblings like deploy, redeploy, and deploy_history. It clearly communicates reverting to a previous deployment snapshot, which is distinct from other operations.
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 the appropriate context: when you want to revert an app to a previous deployment. It also gives explicit guidance to use vibekit_deploy_history to list available deployments, which helps the agent gather the required deployId. No explicit exclusions or alternative tool comparisons are provided, but the core usage is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_run_qaA
Run automated QA tests on a hosted app. Takes a screenshot and tests key flows.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool takes a screenshot and tests key flows, which is specific behavior. However, it does not mention side effects, prerequisites (e.g., app must be deployed), or whether the operation is non-destructive, leaving gaps for a test run.
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 two sentences, front-loaded with the main purpose and followed by a concise behavioral detail. Every word earns its place; no fluff or redundancy.
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?
Without an output schema, the description should explain what the tool returns or how the results are presented. It does not mention whether the QA test yields a pass/fail, a report, or a status code, leaving a significant gap for an automated test tool.
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?
The schema provides 100% coverage for the single parameter 'appId' with an 'App ID or subdomain slug' description. The tool description adds no further parameter semantics, so the baseline of 3 is appropriate.
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 tool runs automated QA tests on a hosted app, with a specific verb ('Run') and resource ('automated QA tests'). It further specifies what it does ('Takes a screenshot and tests key flows'), which distinguishes it from sibling tools like vibekit_qa_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?
The description implies usage context by mentioning 'hosted app', suggesting it's used to verify app functionality. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_set_envA
Set one or more environment variables for a hosted app. Changes take effect on next restart.
| Name | Required | Description | Default |
|---|---|---|---|
| vars | Yes | Key-value pairs to set, e.g. { "API_KEY": "abc", "DEBUG": "true" } | |
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses one behavioral trait (changes take effect on next restart), but does not explain whether existing variables are overwritten, whether the operation is additive, or any permission requirements. This leaves significant ambiguity for a mutation tool.
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?
Two concise sentences with no filler. The purpose is front-loaded and the restart note is valuable information that earns its place.
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?
The tool is simple with two well-described parameters, but the absence of annotations and minimal behavioral disclosure (no mention of merge vs replace) makes it less complete than ideal. The restart note helps, but an agent may still be uncertain about side effects.
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 description coverage is 100% and both parameters have clear descriptions (appId 'App ID or subdomain slug', vars 'Key-value pairs to set...' with example). The description text adds no additional parameter meaning, so baseline 3 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 'Set one or more environment variables for a hosted app', which specifies a specific verb, resource, and scope. It naturally distinguishes from sibling tools like vibekit_app_env (view) and vibekit_delete_env (delete).
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 the use case (setting env vars) but does not explicitly state when to use vs alternatives. The note about changes taking effect on next restart provides a timing consideration, but there is no mention of when not to use or reference to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_start_appB
Start a stopped hosted app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention whether starting is asynchronous, requires specific permissions, or has any side effects (e.g., billing, downtime). Only the action is stated, with no additional context.
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 concise single sentence with zero redundant content. It is front-loaded and easy to parse, though it is minimal. The brevity is a strength for conciseness, but it could be expanded with valuable 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?
For a lifecycle operation with no annotations and no output schema, the description is insufficient. It does not indicate what the agent should expect after starting (e.g., response format, completion status, or whether the action is immediate). The minimal description leaves important gaps.
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?
The single parameter appId is fully described in the schema with 'App ID or subdomain slug', providing 100% coverage. The tool description adds no additional semantic detail, but the schema already offers sufficient meaning, so baseline 3 is appropriate.
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 a specific action ('Start') on a specific resource ('a stopped hosted app'), distinguishing it from sibling tools like vibekit_stop_app and vibekit_restart_app. The word 'stopped' clarifies the target state.
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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, nor does it contrast with deploy, restart, or redeploy. The description simply states the action without contextual use-case information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_stop_appC
Stop a hosted app.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID or subdomain slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It merely states 'Stop a hosted app.' with no information about side effects, reversibility, impact on running processes, or whether stopping is safe or destructive. This is a significant gap for a mutation tool.
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 short sentence, which is concise and front-loaded. However, it is under-specified, lacking any additional context that would justify its brevity. It is more informative than a tautology like 'Process' but still minimal.
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 the absence of annotations and output schema, the description should provide more context about the tool's behavior, side effects, or return values. It does not, leaving the agent with insufficient information for a stop operation.
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?
The input schema fully describes the only parameter 'appId' with 'App ID or subdomain slug', achieving 100% schema coverage. The description adds no additional parameter semantics, so the baseline of 3 is appropriate.
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 'Stop a hosted app.' clearly identifies the action (stop) and the resource (hosted app). It distinguishes from sibling tools like vibekit_start_app and vibekit_restart_app by explicitly stating the stopping action, though it doesn't explicitly reference alternatives.
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 guidance is provided on when to use this tool versus alternatives such as restart, delete, or stop agent tools. The description gives no context about appropriate scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_submit_taskA
Submit an async coding task to VibeKit. The AI will write code, commit to GitHub, and optionally deploy. Returns a task ID to poll for results.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | GitHub repo in format 'owner/repo' | |
| task | Yes | What you want built or changed. Be specific. | |
| branch | No | Git branch to work on (default: main) | |
| deploy | No | Auto-deploy when done (default: true) | |
| callbackUrl | No | Webhook URL to receive completion notification |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the task is async, involves writing code, committing to GitHub, and optional deployment, and returns a task ID. It does not mention potential side effects of deployment defaulting to true, but the main behavioral traits are clear.
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 concise, front-loaded with the primary purpose, and adds relevant context in the second sentence. Every sentence earns its place without redundancy or fluff.
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 no output schema, the description sufficiently explains the return value (task ID for polling). It covers the main workflow and behaviors. It does not address edge cases like omitted repo or failure handling, but these are adequately handled by the schema.
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%, so the baseline is 3. The description does not add meaningful parameter semantics beyond the schema; it only implicitly clarifies that 'task' refers to a coding task. The schema descriptions already cover repos, branches, deploy, and callback URL.
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 tool submits an async coding task to VibeKit, with specific behavior of writing code, committing to GitHub, and optionally deploying. This distinguishes it from sibling tools like vibekit_get_task and vibekit_wait_for_task, which are for polling results.
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 provides clear context: use this to submit an async task, then poll using the returned task ID. It implies the workflow without explicitly naming alternatives, but the distinction from polling tools is evident. No exclusions are mentioned, so it earns a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_wait_for_taskA
Wait for a task to complete, polling every 5 seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task ID to wait for | |
| timeoutSeconds | No | Max seconds to wait (default: 300) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavior: polling every 5 seconds. However, it does not explain what happens on timeout, whether it returns the task result or just a status, or if it throws an error. With no annotations, the description carries the burden, but it provides only partial behavioral detail.
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, focused sentence that clearly states the action and the polling interval. It contains no unnecessary words or repetition, making it highly concise and well-structured.
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?
The tool has no output schema and no annotations, yet the description does not mention what the tool returns or how it handles timeouts. For a wait operation, the absence of return-value information is a significant gap, leaving the agent uncertain about the outcome of a successful or timed-out wait.
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?
The input schema fully describes both parameters (taskId and timeoutSeconds) with clear descriptions, giving 100% schema coverage. The tool description adds no extra parameter semantics beyond what the schema already provides, so the baseline of 3 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 the tool's function: to wait for a task to complete, with a specific polling interval. This distinguishes it from sibling tools like get_task or list_tasks, which are about retrieving task information rather than blocking for completion.
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 the tool is used when you need to wait for a task, but it does not explicitly mention when to use it versus alternatives, such as checking status with get_task. There is no 'use this when' or 'instead of' guidance, so it's only implicitly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibekit_write_fileA
Write or update a file in an app's workspace. Use this to edit code directly.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path relative to workspace root, e.g. 'src/index.ts' | |
| appId | Yes | App ID or subdomain slug | |
| content | Yes | Full file content to write |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the core mutation ('Write or update a file') but does not disclose other behavioral traits such as whether it overwrites the entire file, creates missing directories, requires specific permissions, or whether changes trigger a deploy. This leaves significant gaps for a mutation tool.
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 two short sentences that lead with the action and purpose. Every word contributes value, with no filler or redundancy. It is appropriately sized for the tool's simplicity.
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?
The tool is simple with well-described schema parameters, but there is no output schema or annotations. The description fails to mention key contextual details like whether the file overwrite is atomic, whether the app needs to exist, or how changes take effect (e.g., immediate vs. after deploy). This leaves moderate gaps for an agent.
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?
The input schema provides 100% description coverage for all three parameters, so the baseline is 3. The description adds no additional parameter-level meaning beyond what the schema already clarifies (e.g., 'Full file content to write'), so it neither improves nor hurts.
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 action ('Write or update a file'), the resource ('in an app's workspace'), and the intended use ('to edit code directly'). It distinguishes itself from siblings like read_file and list_files by emphasizing the write/update nature.
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 phrase 'Use this to edit code directly' provides clear context for when to use this tool, implying you should use it for editing code files, not just reading or listing them. It does not name explicit alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The schedule tools are nearly indistinguishable (list_schedules vs app_schedules, create_schedule vs create_app_schedule, delete_schedule vs delete_app_schedule). Additionally, vibekit_agent_reset bundles four distinct actions into one tool, and several other tools have overlapping purposes (deploy vs create_app, exec vs chat), creating significant ambiguity.
The naming convention is inconsistent: some tools use verb_noun (list_apps, create_app) while others use noun_verb (app_logs, agent_status, database_query). Several tools are bare verbs (deploy, redeploy, rollback) without a clear resource, making the API unpredictable.
With 49 tools, the surface is far too large for coherent navigation. It spans multiple subdomains (apps, agents, files, database, schedules, tasks, QA, skills), overwhelming the agent and diluting the clarity of each tool's role.
The toolset is remarkably complete for the VibeKit domain, covering app lifecycle, environment, domain management, agent interaction, file editing, database operations, schedules, tasks, QA, and skills. Minor gaps exist (no update schedule, no cancel task, no delete database) but the overall domain is thoroughly covered.
Maintenance
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
Build, deploy, and operate hosted web apps on VibeKit (vibekit.bot) from any MCP client.
List, read, edit, and deploy your GenMB AI-generated apps from any MCP client.
Let AI agents query data and act across all your business apps via MCP.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables programmatic control of Cursor's cloud-based AI agents for automated code generation and repository management via standardized MCP tools.256MIT

Scout MCP Serverofficial
AlicenseAqualityDmaintenanceEnables AI agents to interact with Scout Live platform capabilities through standardized MCP primitives, including tools for app management, deployment, and logging.612MIT- AlicenseAqualityAmaintenanceMCP server for VibeKit — build, deploy, and manage hosted apps and chat with each app's persistent server-side AI agent from Claude Desktop, Cursor, or any MCP client. Every app gets its own agent and a live URL; bring your own Claude/OpenAI key or pay-as-you-go.36481MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to read and modify Mendix application models through MCP tools for creating modules, entities, pages, microflows, deploying, and querying runtime data.1
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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-apps/vibekit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server