Skip to main content
Glama
Aguantar

io.github.Aguantar/clickhouse-dataops-mcp

by Aguantar

clickhouse-dataops-mcp

mcp-name: io.github.Aguantar/clickhouse-dataops-mcp

A DataOps-focused MCP server for ClickHouse with query optimization, pipeline latency analysis, and data quality monitoring.

Features

Unlike generic ClickHouse MCP servers that only run queries, this server acts as a query optimization advisor:

  • ch_query — Execute SELECT with automatic partition pruning warnings

  • ch_explain_query — EXPLAIN-based analysis with optimization suggestions

  • ch_table_schema — Comprehensive table metadata (columns, keys, partitions, samples)

  • ch_pipeline_latency — CDC pipeline per-segment latency (p50/p95/p99)

  • ch_data_quality — Null/duplicate/gap detection with market coverage checks

  • ch_slow_queries — Slow query detection with root cause diagnosis

  • ch_disk_usage — Disk analysis with TTL and optimization recommendations

  • ch_list_tables — Table catalog with built-in descriptions

Related MCP server: mcp-clickhouse

Safety

All queries are read-only. DDL/DML operations are blocked at the SQL validation layer:

  • Blocked: DROP, TRUNCATE, DELETE, ALTER, INSERT, UPDATE, CREATE, etc.

  • Multi-statement queries blocked (; separator)

  • Comment-based bypass prevented (comments stripped before validation)

  • System tables restricted to allowlist

  • Query timeout: 30 seconds

  • Row limit enforcement

Installation

pip install clickhouse-dataops-mcp

Usage with Claude Code

Add to your .mcp.json:

{
  "mcpServers": {
    "clickhouse": {
      "command": "clickhouse-mcp-server",
      "env": {
        "CLICKHOUSE_HOST": "localhost",
        "CLICKHOUSE_PORT": "8123",
        "CLICKHOUSE_DATABASE": "cdc_pipeline"
      }
    }
  }
}

Environment Variables

Variable

Default

Description

CLICKHOUSE_HOST

localhost

ClickHouse HTTP host

CLICKHOUSE_PORT

8123

ClickHouse HTTP port

CLICKHOUSE_USER

default

ClickHouse username

CLICKHOUSE_PASSWORD

(empty)

ClickHouse password

CLICKHOUSE_DATABASE

cdc_pipeline

Default database

CLICKHOUSE_QUERY_TIMEOUT

30

Query timeout in seconds

License

MIT

Available Tools

8 tools
ch_data_qualityA

Run data quality checks: nulls, duplicates, gaps, and market coverage.

Checks for a specific date:

  • Null/empty values per column

  • Duplicate rows by primary key

  • Hourly data gaps (missing time windows)

  • Market coverage (are all 5 coins present?)

  • Data freshness

Args: table: Table to check (default: crypto_trades) database: Database name (default: cdc_pipeline) check_date: Date to check in YYYY-MM-DD format (default: today)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNocrypto_trades
databaseNocdc_pipeline
check_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Lists specific checks performed (nulls, duplicates, gaps, coverage, freshness), which adds behavioral context. However, lacks disclosure on side effects (read-only?), permissions, or rate limits. No annotations provided to compensate.

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?

Concise and well-structured: first lists high-level checks, then provides parameter details. Every sentence is informative without redundancy.

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?

Covers purpose and parameters well, but does not describe the output schema or how results are presented. Given output schema exists, this is a minor gap.

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 has 0% description coverage, but the description's 'Args:' section fully explains each parameter (table, database, check_date) with defaults and purpose, greatly enhancing clarity.

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 it runs data quality checks on a specific date, listing exact checks (nulls, duplicates, gaps, coverage). Distinguishes from sibling tools like ch_query or ch_disk_usage.

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

Usage Guidelines4/5

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

Implicitly clear when to use (for data quality checks), but lacks explicit when-not or alternative tools. Still, the specialized nature makes usage obvious.

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

ch_disk_usageA

Analyze disk usage by table and partition with recommendations.

Returns:

  • Total disk usage for the database

  • Per-table breakdown (rows, size, parts, percentage)

  • Per-partition breakdown (top 20 by size)

  • TTL information

  • Recommendations (excessive parts, missing TTL on large tables)

Args: database: Database to analyze (default: cdc_pipeline)

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNocdc_pipeline

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It lists specific outputs (total usage, per-table breakdown, etc.) and implies it is a read-only analysis (no side effects mentioned). However, it does not explicitly state that it does not modify data or require special permissions. The description is adequate but leaves 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.

Conciseness5/5

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

The description is very concise, with a clear separation between the action statement, return values, and parameters. Every sentence adds value, and the bullet list for returns is easy to parse. No unnecessary words.

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?

Given the tool's complexity (disk usage analysis with multiple outputs) and the presence of an output schema, the description covers the main points: total usage, per-table and per-partition breakdowns, TTL info, and recommendations. It does not explain edge cases or detailed interpretation of recommendations, but these may be handled by the output schema. Overall, it is sufficient for its purpose.

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?

The single parameter 'database' is fully described in the Args section, including its purpose and default value. This adds meaning beyond the input schema, which has no parameter descriptions (schema coverage 0%). The explanation is clear and complete.

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

Purpose4/5

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

The description clearly states the tool analyzes disk usage by table and partition with recommendations. It specifies a concrete verb ('analyze') and resource ('disk usage'), which distinguishes it from sibling tools like ch_data_quality or ch_query. However, it could be more explicit about the scope (e.g., 'of the ClickHouse database').

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

Usage Guidelines2/5

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 vs. alternatives (e.g., ch_list_tables or ch_slow_queries). It does not mention prerequisites, configuration, or contexts where other tools would be preferred.

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

ch_explain_queryA

Analyze a query's execution plan and suggest optimizations.

Runs EXPLAIN PLAN and EXPLAIN PIPELINE, then provides structured analysis:

  • Whether partition pruning is active

  • Whether sorting keys are utilized

  • Specific optimization suggestions (add time filters, use pre-aggregated tables, etc.)

This is the key differentiator from generic ClickHouse tools — it doesn't just execute queries, it advises on how to write better ones.

Args: sql: The SELECT query to analyze database: Target database (default: cdc_pipeline)

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes
databaseNocdc_pipeline

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It describes the non-destructive analysis behavior (running explains) and enumerates specific outputs (partition pruning, sorting keys, suggestions). It does not mention prerequisites, rate limits, or error handling, but the tool is inherently safe.

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

Conciseness4/5

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

The description has a logical structure: a concise opening, a bullet list of analysis features, a differentiating statement, and an Args section. While the bullet list adds clarity, it could be more streamlined. Overall, it is efficient and front-loaded.

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?

The description covers key outputs (partition pruning, sorting keys, optimization suggestions) for a tool of this complexity. The presence of an output schema reduces the need to explain return values. It omits failure scenarios but is otherwise complete for its intended use.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by explaining the 'sql' parameter as a SELECT query and 'database' with a default value and purpose ('cdc_pipeline'). This adds meaningful context beyond the schema's type and title.

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?

The description clearly states the tool analyzes a query's execution plan and suggests optimizations. It explicitly mentions running EXPLAIN PLAN and EXPLAIN PIPELINE, and differentiates from generic tools by providing advisory rather than execution.

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

Usage Guidelines4/5

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

The description explains what the tool does and contrasts with generic ClickHouse tools, implying use for optimization. However, it does not explicitly state when to use it versus siblings like ch_query or ch_slow_queries, nor does it provide when-not-to-use guidance.

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

ch_list_tablesA

List all tables with metadata and built-in descriptions.

Returns table name, engine type, partition/sorting keys, row count, disk size, and a human-readable description of each table's purpose. Use this as the starting point to understand what data is available.

Args: database: Database to list (default: cdc_pipeline)

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNocdc_pipeline

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the return fields (row count, disk size, descriptions) but does not mention any side effects, permissions, or performance considerations, which is a gap for a read-only list tool.

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?

The description is very concise: three sentences plus an Args line. No redundant information, and the purpose is front-loaded.

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?

The description covers the output fields well and provides context for usage. With an output schema present (not shown), the description completes the picture. However, it lacks mention of pagination or limits if there are many tables.

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?

The input schema has 0% description coverage, but the description provides the parameter name and default value ('database: Database to list (default: cdc_pipeline)'). This adds basic meaning beyond the schema, though it could include more details like valid database names or format.

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?

The description clearly states the tool lists all tables with metadata and built-in descriptions, and positions it as a starting point. This distinguishes it from sibling ch_table_schema which likely focuses on a single table's schema.

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

Usage Guidelines4/5

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

The description advises to use this as a starting point to understand available data, implying it should be used before querying specific tables. However, it lacks explicit exclusions or comparison with alternatives like ch_table_schema.

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

ch_pipeline_latencyA

Analyze CDC pipeline latency by segment.

Measures latency at each stage of the pipeline:

  • source_to_cdc: Upbit → Debezium/Kafka

  • cdc_to_flink: Kafka → Flink processing

  • flink_to_insert: Flink → ClickHouse write

  • end_to_end: total source_ts → inserted_at

Each segment reports p50, p95, p99, and max latency in milliseconds. Also includes data freshness (seconds behind real-time) and per-market breakdown.

Args: market: Filter by market (e.g., "KRW-BTC"). Empty = all markets period: Time window — "10m", "1h", "6h", or "24h" (default: "1h")

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNo
periodNo1h

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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 details the measured metrics (p50, p95, p99, max, freshness) and segments, but does not explicitly state that the tool is read-only. The behavioral impact is well-described, but a safety statement would improve transparency.

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

Conciseness4/5

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

The description is well-structured with a summary sentence followed by detailed lists. It is concise and front-loaded, with no wasted words, though it could be slightly more compact.

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?

The description covers the key output metrics and segments. Since an output schema exists, the return values are defined there. It lacks mention of error conditions or limits, but is adequate for a monitoring tool.

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

Parameters4/5

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

Schema coverage is 0%, but the description compensates with clear explanations for both parameters, including examples and defaults. It adds significant meaning beyond the schema's property names.

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?

The description clearly states 'Analyze CDC pipeline latency by segment', providing a specific verb and resource. It lists the segments and metrics, distinguishing this tool from siblings like ch_data_quality and ch_query, which serve different purposes.

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

Usage Guidelines4/5

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

The description implies usage for latency monitoring but does not explicitly state when not to use it or provide alternatives. However, the clear scope and sibling context make it evident when to select this tool.

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

ch_queryA

Execute a read-only SQL query against ClickHouse.

Runs SELECT queries with automatic safety validation (DDL/DML blocked), LIMIT enforcement, and partition pruning analysis. Returns results with a warning if the query doesn't leverage partitioning efficiently.

Args: sql: SELECT query to execute database: Target database (default: cdc_pipeline) max_rows: Maximum rows to return (default: 1000, max: 10000)

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes
databaseNocdc_pipeline
max_rowsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses automatic safety validation, LIMIT enforcement, partition pruning analysis, and a warning for inefficient queries. It also specifies default values for database and max_rows. Could mention error handling or performance implications.

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?

The description is concise and well-structured: a brief purpose statement, a paragraph of key features, and a clear Args section. Every sentence adds value without redundancy.

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?

Given the output schema exists, the description adequately covers query execution, validation, and limits. It could be more complete by summarizing the response format, but the main aspects are covered.

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

Parameters4/5

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

Parameter descriptions add value beyond the bare schema: 'SELECT query to execute' for sql, target database with default for database, and maximum rows with default and max for max_rows. This compensates for the 0% schema description coverage.

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?

The description clearly states the tool 'Execute a read-only SQL query against ClickHouse', specifying the verb (execute), resource (ClickHouse), and nature (read-only). It distinguishes itself from potential write operations by emphasizing 'read-only' and 'SELECT queries'.

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

Usage Guidelines4/5

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

The description explicitly limits usage to SELECT queries with automatic safety validation blocking DDL/DML, and mentions LIMIT enforcement. It does not explicitly compare with sibling tools like ch_explain_query or ch_table_schema, but provides clear context on when to use this tool for general querying.

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

ch_slow_queriesA

Find slow queries with root cause diagnosis.

Scans system.query_log for queries exceeding the duration threshold, then generates a diagnosis for each:

  • Full scan detection (high read_rows without partition pruning)

  • Memory-intensive query detection

  • Aggregation optimization suggestions (use pre-aggregated tables)

  • Error detection

Args: hours: Look back period in hours (default: 24) min_duration_ms: Minimum query duration to report (default: 1000ms) limit: Maximum number of slow queries to return (default: 20)

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo
min_duration_msNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description indicates it scans system.query_log (a read operation) and generates diagnoses, but does not explicitly confirm it is read-only or discuss potential side effects, authorization, or performance impact. Adequate but incomplete.

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

Conciseness4/5

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

Well-structured with a clear title, diagnostic bullet list, and Args section. Slightly verbose; could trim redundant phrasing while preserving info.

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?

Covers main functionality and diagnostics, but omits edge cases, error handling, and output details (though output schema exists). Adequate for the tool complexity.

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

Parameters4/5

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

Input schema has 0% description coverage, but the description's Args section adds meaning for all three parameters (hours, min_duration_ms, limit) with defaults and brief explanations. Lacks full detail on constraints or interactions.

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?

The description clearly states the tool finds slow queries with root cause diagnosis, listing specific diagnostic types (full scan, memory, aggregation, error detection). This distinguishes it from siblings like ch_query (general query) and ch_explain_query (plan analysis).

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

Usage Guidelines3/5

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

The description implies use for performance troubleshooting but does not explicitly state when to use it versus alternatives like ch_explain_query or ch_pipeline_latency. No exclusions or specific conditions are mentioned.

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

ch_table_schemaA

Get comprehensive table metadata: columns, engine, keys, partitions, and sample data.

Returns column types, partition/sorting/primary keys, TTL settings, row counts, disk usage, partition breakdown, and 5 sample rows. Essential for understanding table structure before writing queries.

Args: table: Table name database: Database name (default: cdc_pipeline)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYes
databaseNocdc_pipeline

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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 clearly lists what the tool returns (column types, partition keys, row counts, disk usage, sample rows), implying it is a read-only operation. It does not mention any side effects or authorization requirements, which would be beneficial but is not critical for this read-like tool.

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?

The description is concise with three sentences plus an Arg list. It front-loads the main purpose, then lists specifics, and ends with the parameters. Every sentence adds value, and the structure is easy to parse.

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?

Given that there is an output schema (indicated by context), the description sufficiently covers the tool's functionality and return values (e.g., column types, partition keys, sample rows). It includes enough detail for an agent to understand when and how to use it effectively.

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

Parameters4/5

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

The input schema has no descriptions (0% coverage), but the description adds an 'Args' section explaining 'table: Table name' and 'database: Database name (default: cdc_pipeline)'. This provides meaning beyond the bare schema definitions and clarifies the default for the optional parameter.

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?

The tool is explicitly described as getting comprehensive table metadata, listing specific items like columns, engine, keys, and sample data. It is distinct from sibling tools like ch_list_tables (list tables) and ch_query (run queries), which deal with table listing and data retrieval respectively.

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

Usage Guidelines4/5

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

The description states it is 'Essential for understanding table structure before writing queries,' providing clear context for use. It also notes the default database. However, it does not explicitly mention when not to use it or point to alternatives for other schema-related tasks.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.1
    • First observedch_data_quality
    • First observedch_disk_usage
    • First observedch_explain_query
    • First observedch_list_tables
    • First observedch_pipeline_latency
    • First observedch_query
    • First observedch_slow_queries
    • First observedch_table_schema

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a distinct purpose: data quality checks, disk usage, query analysis, table listing, pipeline latency, query execution, slow query diagnosis, and schema details. No two tools overlap in functionality; descriptions clearly differentiate them.

Naming Consistency4/5

All tools share the 'ch_' prefix. Most use a verb_noun pattern (e.g., ch_list_tables, ch_explain_query), but 'ch_query' is just a noun and 'ch_slow_queries' is adjective_noun, causing minor inconsistency. Overall pattern is clear.

Tool Count5/5

With 8 tools, the server covers a focused data operations scope without being overloaded. Each tool addresses a specific need, and the count feels well-scoped for managing and optimizing ClickHouse.

Completeness5/5

The tool set covers essential dataops tasks: exploring tables, checking schema, running queries, analyzing slow queries, explaining plans, monitoring pipeline latency, checking data quality, and disk usage. No obvious gaps for a read-optimized monitoring tool.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for ClickHouse with enhanced filtering for database and table discovery, supporting LIKE/NOT LIKE patterns and both ClickHouse and chDB tools.
    3
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server for exploratory data analysis across PostgreSQL, MySQL, and ClickHouse databases, providing safe, read-only access with comprehensive analysis capabilities.
    10
    6
    MIT

Latest Blog Posts

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/Aguantar/clickhouse-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server