Skip to content

feat: add cbt plugin for ClickHouse Build Tool access#23

Open
reldothescribe wants to merge 1 commit intoethpandaops:masterfrom
reldothescribe:feat/cbt-plugin
Open

feat: add cbt plugin for ClickHouse Build Tool access#23
reldothescribe wants to merge 1 commit intoethpandaops:masterfrom
reldothescribe:feat/cbt-plugin

Conversation

@reldothescribe
Copy link

This PR adds a CBT (ClickHouse Build Tool) plugin to the MCP server.

Features

  • List CBT instances
  • List models with optional filtering by type and database
  • Get model details including dependencies, interval config, and schedules
  • Query transformation status (intervals processed, gaps, etc.)
  • Get deep links to CBT UI for models

Files Added/Modified

  • plugins/cbt/config.go - Configuration for CBT instances
  • plugins/cbt/plugin.go - Main plugin implementation
  • plugins/cbt/examples.go - Examples loader
  • plugins/cbt/examples.yaml - Example queries
  • plugins/cbt/python/cbt.py - Python module for sandbox
  • pkg/proxy/handlers/cbt.go - Proxy handler for CBT API
  • pkg/proxy/server.go - Added CBT routes and datasource methods
  • pkg/proxy/server_config.go - Added CBT configuration
  • pkg/server/builder.go - Registered CBT plugin
  • sandbox/Dockerfile - Added CBT Python module
  • sandbox/ethpandaops/ethpandaops/init.py - Added CBT module support

Usage

from ethpandaops import cbt
models = cbt.list_models()
model = cbt.get_model('analytics', 'block_propagation')
status = cbt.get_transformation_status('analytics', 'block_propagation')
url = cbt.get_model_ui_url('analytics', 'block_propagation')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant