Skip to main content
Glama
dockndevai

mcp-clickhouse

Run a read-only query

query
Read-onlyIdempotent

Run read-only SELECT, SHOW, or DESCRIBE statements to retrieve rows from ClickHouse; non-read statements are refused (use execute). Results capped.

Instructions

Run a SELECT/SHOW/DESCRIBE query and return rows. Non-read statements are refused here — use execute (read-write mode) for those. Results are capped at CLICKHOUSE_MAX_ROWS.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sqlYesA single read-only SQL statement

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.2
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds meaningful non-annotation behavior: refusal semantics for writes and the result cap (CLICKHOUSE_MAX_ROWS), which tells the agent output may be truncated. Minor gaps remain (error shape, whether the cap is configurable).

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?

Two tight sentences; the capability and the routing rule come first, the result-cap caveat last. Every clause carries information.

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

Completeness4/5

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

With no output schema, the description does tell the agent that rows are returned and that output is capped, which is the key expectation-setting detail. It could say a bit more about truncation behavior or error responses, but it is sufficient for correct invocation.

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

Parameters3/5

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

Schema coverage is 100% and there is a single `sql` parameter already documented as a read-only statement. The description's mention of SELECT/SHOW/DESCRIBE reinforces but does not go beyond the schema; baseline 3 applies.

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?

States a specific verb (run) plus resource (query) and enumerates the accepted statement classes (SELECT/SHOW/DESCRIBE), so the agent knows exactly what this tool executes. It also names the sibling `execute` as the write-path counterpart, making it easy to distinguish from alternates.

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 states the when-not condition (non-read statements are refused) and the alternative to use instead (`execute` in read-write mode). Nothing about tool selection is left to inference.

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