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
- On macOS:
- 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 server- Default:
8443
if HTTPS is enabled,8123
if disabled - Usually doesn't need to be set unless using a non-standard port
- Default:
TIMEPLUS_SECURE
: Enable/disable HTTPS connection- Default:
"false"
- Set to
"true"
for secure connections
- Default:
TIMEPLUS_VERIFY
: Enable/disable SSL certificate verification- Default:
"true"
- Set to
"false"
to disable certificate verification (not recommended for production)
- Default:
TIMEPLUS_CONNECT_TIMEOUT
: Connection timeout in seconds- Default:
"30"
- Increase this value if you experience connection timeouts
- Default:
TIMEPLUS_SEND_RECEIVE_TIMEOUT
: Send/receive timeout in seconds- Default:
"300"
- Increase this value for long-running queries
- Default:
TIMEPLUS_DATABASE
: Default database to use- Default: None (uses server default)
- Set this to automatically connect to a specific database
TIMEPLUS_READ_ONLY
: Enable/disable read-only mode- Default:
"true"
- Set to
"false"
to enable DDL/DML
- Default:
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.
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 -347JavaScriptMIT License
- -securityAlicense-qualityProvides unified access to QuickBooks Time API functionality. This server consolidates multiple QuickBooks Time services into a single, efficient interface.Last updated -6PythonMIT 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 -Python
- 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 -2821JavaScriptMIT License