run_sql
Execute read-only SQL SELECT queries against a sample database to retrieve data without modifying it.
Instructions
Run a read-only SQL SELECT against the sample database.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes |
Execute read-only SQL SELECT queries against a sample database to retrieve data without modifying it.
Run a read-only SQL SELECT against the sample database.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes |
Changes observed during successful MCP inspections.
v0.1.0Does 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. Stating 'read-only' is a meaningful safety signal, but the description does not mention result format, error behavior, query limits, or whether the database state is ever affected.
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 front-loads the action and the read-only constraint. Every word contributes meaning and there is 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 one-parameter tool, the description is minimally adequate for invocation, but with no output schema and no annotations it leaves the agent to infer the return shape and operational details. It could be stronger for a tool that executes arbitrary SQL.
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 no description for the single 'sql' parameter, but the tool description specifies it should be a SQL SELECT query. This adds critical semantic meaning beyond the bare string type, though it does not cover syntax details or constraints.
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 a specific action ('Run a read-only SQL SELECT') and a clear resource ('the sample database'). It does not explicitly differentiate from sibling tools like search_docs or list_tables, but the SQL-specific verb makes the purpose reasonably unmistakable.
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 when an agent needs to execute a SQL SELECT query against the sample database, but it provides no explicit guidance about when to prefer this over search_docs or list_tables, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.