This server allows users to interact with a Timeplus cluster and Kafka streams via SQL queries and database operations. Key capabilities include:
Execute SQL Queries: Run SQL queries on the Timeplus cluster
List Databases: Retrieve all databases available on the Timeplus cluster
List Tables: Enumerate tables in a specified database
List Kafka Topics: Display topics in a connected Kafka cluster
Explore Kafka Topic: View messages from a Kafka topic
Create Kafka Stream: Set up streaming ETL in Timeplus to save Kafka messages locally
Connect to Apache Iceberg: Establish connection to Apache Iceberg database (Timeplus Enterprise only)
The MCP server is available as a package on PyPI, allowing users to install it using package managers.
Timeplus MCP Server
An MCP server for Timeplus.
Features
Prompts
generate_sql
to give LLM more knowledge about how to query Timeplus via SQL
Tools
run_sql
Execute SQL queries on your Timeplus cluster.
Input:
sql
(string): The SQL query to execute.By default, all Timeplus queries are run with
readonly = 1
to ensure they are safe. If you want to run DDL or DML queries, you can set the environment variableTIMEPLUS_READ_ONLY
tofalse
.
list_databases
List all databases on your Timeplus cluster.
list_tables
List all tables in a database.
Input:
database
(string): The name of the database.
list_kafka_topics
List all topics in a Kafka cluster
explore_kafka_topic
Show some messages in the Kafka topic
Input:
topic
(string): The name of the topic.message_count
(int): The number of messages to show, default to 1.
create_kafka_stream
Setup a streaming ETL in Timeplus to save the Kafka messages locally
Input:
topic
(string): The name of the topic.
connect_to_apache_iceberg
Connect to a database based on Apache Iceberg. Currently this is only available via Timeplus Enterprise and it's planned to make it available for Timeplus Proton soon.
Input:
iceberg_db
(string): The name of the Iceberg database.aws_account_id
(int): The AWS account ID (12 digits).s3_bucket
(string): The S3 bucket name.aws_region
(string): The AWS region, default to "us-west-2".is_s3_table_bucket
(bool): Whether the S3 bucket is a S3 table bucket, default to False.
Configuration
First, ensure you have the uv
executable installed. If not, you can install it by following the instructions here.
Open the Claude Desktop configuration file located at:
On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
On Windows:
%APPDATA%/Claude/claude_desktop_config.json
Add the following:
Update the environment variables to point to your own Timeplus service.
Restart Claude Desktop to apply the changes.
You can also try this MCP server with other MCP clients, such as 5ire.
Development
In
test-services
directory rundocker compose up -d
to start a Timeplus Proton server. You can also download it viacurl https://install.timeplus.com/oss | sh
, then start with./proton server
.Add the following variables to a
.env
file in the root of the repository.
Run
uv sync
to install the dependencies. Then dosource .venv/bin/activate
.For easy testing, you can run
mcp dev mcp_timeplus/mcp_server.py
to start the MCP server. Click the "Connect" button to connect the UI with the MCP server, then switch to the "Tools" tab to run the available tools.To build the Docker image, run
docker build -t mcp_timeplus .
.
Environment Variables
The following environment variables are used to configure the Timeplus connection:
Required Variables
TIMEPLUS_HOST
: The hostname of your Timeplus serverTIMEPLUS_USER
: The username for authenticationTIMEPLUS_PASSWORD
: The password for authentication
Optional Variables
TIMEPLUS_PORT
: The port number of your Timeplus serverDefault:
8443
if HTTPS is enabled,8123
if disabledUsually doesn't need to be set unless using a non-standard port
TIMEPLUS_SECURE
: Enable/disable HTTPS connectionDefault:
"false"
Set to
"true"
for secure connections
TIMEPLUS_VERIFY
: Enable/disable SSL certificate verificationDefault:
"true"
Set to
"false"
to disable certificate verification (not recommended for production)
TIMEPLUS_CONNECT_TIMEOUT
: Connection timeout in secondsDefault:
"30"
Increase this value if you experience connection timeouts
TIMEPLUS_SEND_RECEIVE_TIMEOUT
: Send/receive timeout in secondsDefault:
"300"
Increase this value for long-running queries
TIMEPLUS_DATABASE
: Default database to useDefault: None (uses server default)
Set this to automatically connect to a specific database
TIMEPLUS_READ_ONLY
: Enable/disable read-only modeDefault:
"true"
Set to
"false"
to enable DDL/DML
TIMEPLUS_KAFKA_CONFIG
: A JSON string for the Kafka configuration. Please refer to librdkafka configuration or take the above example as a reference.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Integration with Timeplus, a database for streaming data, such as Apache Kafka/Pulsar
Related Resources
Related MCP Servers
- -securityAlicense-qualityIntegrates with The Movie Database (TMDB) API to provide movie information, search capabilities, and recommendations.Last updated -350MIT License
- -securityAlicense-qualityProvides unified access to QuickBooks Time API functionality. This server consolidates multiple QuickBooks Time services into a single, efficient interface.Last updated -8MIT License
- -securityFlicense-qualityAn MCP server that enables interactions with InfluxDB's open-source time-series database API, allowing data querying, management, and operations through natural language.Last updated -
- AsecurityAlicenseAqualityProvides comprehensive integration with the Clockify time tracking API, enabling automated time entry management, project organization, task tracking, and reporting through a standardized interface.Last updated -2912MIT License