Timeplus MCP Server
An MCP server for Timeplus.
Features
Prompts
generate_sqlto 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 = 1to ensure they are safe. If you want to run DDL or DML queries, you can set the environment variableTIMEPLUS_READ_ONLYtofalse.
-
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:
{
"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\"}"
}
}
}
}
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-servicesdirectory rundocker compose up -dto 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
.envfile in the root of the repository.
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"}
-
Run
uv syncto install the dependencies. Then dosource .venv/bin/activate. -
For easy testing, you can run
mcp dev mcp_timeplus/mcp_server.pyto 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:
8443if HTTPS is enabled,8123if 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.
Metadata
Release files for iflow-mcp_jovezhong_mcp-timeplus 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_jovezhong_mcp_timeplus-0.1.6.tar.gz | 61.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_jovezhong_mcp_timeplus-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.9 kB
Release files / iflow_mcp_jovezhong_mcp_timeplus-0.1.6.tar.gz
| Download URL | iflow_mcp_jovezhong_mcp_timeplus-0.1.6.tar.gz |
|---|---|
| Size | 61.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d44ad7e84e264eda195d77f29c04ece11238a0bcda337cc968588c609a1a1e29
|
|
BLAKE2b-256 checksum How to use checksums |
e787a639521d81e57957e2632d100d3b3c4ee5d3302d1e2d7f6a9c3629b238a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_jovezhong_mcp_timeplus-0.1.6-py3-none-any.whl
| Download URL | iflow_mcp_jovezhong_mcp_timeplus-0.1.6-py3-none-any.whl |
|---|---|
| Size | 40.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c141ec8d612ca0eaf4c60b39c3f91270a3ecae06a59d5715df4643691c83bdd9
|
|
BLAKE2b-256 checksum How to use checksums |
c368efeeaab03561532dd33b00cd2506cd11bd7b857814ad2b44a32aacfa150e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|