Timeplus MCP Server について
Timeplus MCP Serverは、Timeplusクラスター向けにSQL実行とデータ探索のツールを提供します。データベース、Kafkaトピック、Icebergデータを扱うユーザー向けで、クエリは既定で読み取り専用です。設定によりDDLとDMLも許可できます。
主な機能
- 01TimeplusでSQLクエリを実行
- 02データベースとテーブルを一覧表示
- 03Kafkaトピックの一覧とメッセージ確認
- 04KafkaメッセージをTimeplusストリームに保存
- 05Apache Icebergデータベースに接続
- 06SQL生成用プロンプトを提供
活用シーン
- 01Timeplusクラスター内のデータをクエリ
- 02Kafkaトピック内のメッセージを確認
- 03KafkaメッセージをTimeplusにストリーミング
- 04データアクセスのためIcebergデータベースに接続
MCP 対応
MCPクライアントに、SQL実行、データベースとテーブルの一覧表示、Kafkaトピック操作、Iceberg接続のツールとSQL生成用プロンプトを提供します。クエリは既定で読み取り専用で、TIMEPLUS_READ_ONLYの設定によりDDLとDMLを有効にできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx mcp-timeplusTIMEPLUS_HOSTTIMEPLUS_PORTTIMEPLUS_USERTIMEPLUS_PASSWORDシークレットTIMEPLUS_SECURETIMEPLUS_VERIFYTIMEPLUS_CONNECT_TIMEOUTTIMEPLUS_SEND_RECEIVE_TIMEOUTTIMEPLUS_READ_ONLYTIMEPLUS_KAFKA_CONFIGローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Timeplus MCP サーバー
Timeplus 用の MCP サーバーです。
機能
プロンプト
generate_sql:Timeplus に SQL でクエリを実行する方法について、LLM に詳しい情報を提供します。
ツール
-
run_sql- Timeplus クラスターで SQL クエリを実行します。
- 入力:
sql(文字列):実行する SQL クエリです。 - 安全性を確保するため、Timeplus のクエリはすべてデフォルトで
readonly = 1に設定して実行されます。DDL または DML クエリを実行する場合は、環境変数TIMEPLUS_READ_ONLYをfalseに設定できます。
-
list_databases- Timeplus クラスターのすべてのデータベースを一覧表示します。
-
list_tables- データベース内のすべてのテーブルを一覧表示します。
- 入力:
database(文字列):データベース名です。
-
list_kafka_topics- Kafka クラスターのすべてのトピックを一覧表示します。
-
explore_kafka_topic- Kafka トピックのメッセージをいくつか表示します。
- 入力:
topic(文字列):トピック名です。message_count(整数):表示するメッセージ数です。デフォルトは 1 です。
-
create_kafka_stream- Kafka メッセージをローカルに保存するためのストリーミング ETL を Timeplus で設定します。
- 入力:
topic(文字列):トピック名です。
-
connect_to_apache_iceberg- Apache Iceberg に基づくデータベースに接続します。現在、この機能は Timeplus Enterprise でのみ利用可能で、Timeplus Proton でも利用できるようにする予定です。
- 入力:
iceberg_db(文字列):Iceberg データベース名です。aws_account_id(整数):AWS アカウント ID(12 桁)です。s3_bucket(文字列):S3 バケット名です。aws_region(文字列):AWS リージョンです。デフォルトは "us-west-2" です。is_s3_table_bucket(ブール値):S3 バケットが S3 テーブルバケットかどうかを指定します。デフォルトは False です。
設定
まず、uv 実行ファイルがインストールされていることを確認してください。インストールされていない場合は、こちらの手順に従ってインストールできます。
-
次の場所にある Claude Desktop の設定ファイルを開きます。
- macOS の場合:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows の場合:
%APPDATA%/Claude/claude_desktop_config.json
- macOS の場合:
-
次の内容を追加します。
{
"mcpServers": {
"mcp-timeplus": {
"command": "uvx",
"args": ["mcp-timeplus"],
"env": {
"TIMEPLUS_HOST": "<timeplus-host>",
"TIMEPLUS_PORT": "<timeplus-port>",
"TIMEPLUS_USER": "<timeplus-user>",
"TIMEPLUS_PASSWORD": "<timeplus-password>",
"TIMEPLUS_SECURE": "false",
"TIMEPLUS_VERIFY": "true",
"TIMEPLUS_CONNECT_TIMEOUT": "30",
"TIMEPLUS_SEND_RECEIVE_TIMEOUT": "30",
"TIMEPLUS_READ_ONLY": "false",
"TIMEPLUS_KAFKA_CONFIG": "{\"bootstrap.servers\":\"a.aivencloud.com:28864\", \"sasl.mechanism\":\"SCRAM-SHA-256\",\"sasl.username\":\"avnadmin\", \"sasl.password\":\"thePassword\",\"security.protocol\":\"SASL_SSL\",\"enable.ssl.certificate.verification\":\"false\"}"
}
}
}
}
環境変数を、ご自身の Timeplus サービスを指すように更新してください。
- Claude Desktop を再起動して変更を適用します。
5ire など、ほかの MCP クライアントでもこの MCP サーバーを試すことができます。
開発
-
test-servicesディレクトリでdocker compose up -dを実行し、Timeplus Proton サーバーを起動します。curl https://install.timeplus.com/oss | shでダウンロードしてから、./proton serverで起動することもできます。 -
リポジトリのルートにある
.envファイルに、次の変数を追加します。
TIMEPLUS_HOST=localhost
TIMEPLUS_PORT=8123
TIMEPLUS_USER=default
TIMEPLUS_PASSWORD=
TIMEPLUS_SECURE=false
TIMEPLUS_VERIFY=true
TIMEPLUS_CONNECT_TIMEOUT=30
TIMEPLUS_SEND_RECEIVE_TIMEOUT=30
TIMEPLUS_READ_ONLY=false
TIMEPLUS_KAFKA_CONFIG={"bootstrap.servers":"a.aivencloud.com:28864", "sasl.mechanism":"SCRAM-SHA-256","sasl.username":"avnadmin", "sasl.password":"thePassword","security.protocol":"SASL_SSL","enable.ssl.certificate.verification":"false"}
-
uv syncを実行して依存関係をインストールします。次に、source .venv/bin/activateを実行します。 -
簡単にテストするには、
mcp dev mcp_timeplus/mcp_server.pyを実行して MCP サーバーを起動します。「Connect」ボタンをクリックして UI を MCP サーバーに接続し、「Tools」タブに切り替えて利用可能なツールを実行します。 -
Docker イメージをビルドするには、
docker build -t mcp_timeplus .を実行します。
環境変数
次の環境変数を使用して、Timeplus 接続を設定します。
必須変数
TIMEPLUS_HOST:Timeplus サーバーのホスト名TIMEPLUS_USER:認証に使用するユーザー名TIMEPLUS_PASSWORD:認証に使用するパスワード
オプション変数
TIMEPLUS_PORT:Timeplus サーバーのポート番号- デフォルト:HTTPS が有効な場合は
8443、無効な場合は8123 - 標準以外のポートを使用しない限り、通常は設定する必要はありません
- デフォルト:HTTPS が有効な場合は
TIMEPLUS_SECURE:HTTPS 接続を有効または無効にします- デフォルト:
"false" - セキュアな接続を使用するには
"true"に設定します
- デフォルト:
TIMEPLUS_VERIFY:SSL 証明書の検証を有効または無効にします- デフォルト:
"true" - 証明書の検証を無効にするには
"false"に設定します(本番環境では推奨されません)
- デフォルト:
TIMEPLUS_CONNECT_TIMEOUT:接続タイムアウト(秒)- デフォルト:
"30" - 接続タイムアウトが発生する場合は、この値を増やしてください
- デフォルト:
TIMEPLUS_SEND_RECEIVE_TIMEOUT:送受信タイムアウト(秒)- デフォルト:
"300" - クエリの実行に時間がかかる場合は、この値を増やしてください
- デフォルト:
TIMEPLUS_DATABASE:使用するデフォルトのデータベース- デフォルト:なし(サーバーのデフォルトを使用)
- 特定のデータベースに自動接続するには、この値を設定します
TIMEPLUS_READ_ONLY:読み取り専用モードを有効または無効にします- デフォルト:
"true" - DDL/DML を有効にするには
"false"に設定します
- デフォルト:
TIMEPLUS_KAFKA_CONFIG:Kafka 設定の JSON 文字列です。librdkafka の設定を参照するか、上記の例を参考にしてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。