Skip to main content
Glama

VibeKit Run SQL Query

vibekit_db_query
Read-onlyIdempotent

Run a read-only SQL query against an app's Postgres database and return up to 200 result rows. SELECT only — writes and DDL (INSERT/UPDATE/DELETE/ALTER/DROP/…) are rejected server-side; use vibekit_chat or vibekit_submit_task to have the agent make data or schema changes. Call vibekit_db_schema first to learn the tables. SQL string, max 5000 chars.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sqlYesSQL to execute (max 5000 chars). Reads and writes both allowed.
appIdYesApp ID (from vibekit_list_apps)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesWhether the call succeeded.
dataNoQuery result rows.
errorNoError message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Result envelope: ok=true with data on success, ok=false with error on failure.",
      +  "properties": {
      +    "data": {
      +      "description": "Query result rows."
      +    },
      +    "error": {
      +      "description": "Error message when ok is false (e.g. missing/invalid VIBEKIT_API_KEY, or an API error).",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "Whether the call succeeded.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A5/5.0
Behavior5/5

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

Adds context beyond annotations: max 200 rows, SQL max 5000 chars, server-side rejection of writes/DDL. Annotations already have readOnlyHint=true and idempotentHint=true, and description aligns perfectly.

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

Conciseness5/5

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

Three well-structured sentences. Front-loaded with core purpose, then immediately provides exceptions and guidance. Every sentence adds value with no fluff.

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

Completeness5/5

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

With an output schema present, description does not need to explain return values. Covers constraints, prerequisites (call vibekit_db_schema first), and alternatives. Fully complete for a SQL query tool.

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

Parameters5/5

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

Schema coverage is 100% (both parameters described). Description adds critical clarification: 'SELECT only' despite schema saying 'Reads and writes both allowed', correcting potential misinterpretation. This adds significant meaning beyond the schema.

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

Purpose5/5

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

Clearly states 'Run a read-only SQL query against an app's Postgres database and return up to 200 result rows.' Verb (run), resource (SQL query against Postgres database), and key constraints (read-only, max rows). Distinguishes from siblings by specifying that writes/DDL are handled by vibekit_chat or vibekit_submit_task.

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

Usage Guidelines5/5

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

Explicitly says 'SELECT only — writes and DDL are rejected server-side; use vibekit_chat or vibekit_submit_task for changes.' Also recommends calling vibekit_db_schema first to learn tables. Provides clear when-to-use and alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation4/5

Most tools have distinct purposes, but vibekit_chat and vibekit_submit_task both handle AI-driven code changes, leading to potential confusion. Descriptions help differentiate, but overlap exists.

Naming Consistency4/5

All tools use the 'vibekit_' prefix and lowercase with underscores. Most follow a verb_noun pattern, but a few (e.g., 'vibekit_account') are noun-only, causing minor inconsistency.

Tool Count3/5

36 tools is on the high side, covering many aspects of the platform. While mostly justified, the count feels slightly excessive and could be streamlined.

Completeness5/5

The tool set covers the full lifecycle of apps, databases, tasks, schedules, skills, QA, and environment variables. No obvious gaps for the stated domain.