关于 Timeplus MCP Server
Timeplus MCP Server 为 Timeplus 集群提供 SQL 查询及数据探索工具,面向需要检查数据库、Kafka 主题和 Iceberg 数据的用户。查询默认以只读模式运行,也可按配置允许 DDL 和 DML。
主要功能
- 01执行 Timeplus SQL 查询
- 02列出数据库与表
- 03列出 Kafka 主题并查看消息
- 04将 Kafka 消息写入 Timeplus 流
- 05连接 Apache Iceberg 数据库
- 06提供 SQL 生成提示词
适用场景
- 01查询 Timeplus 集群中的数据
- 02检查 Kafka 主题中的消息
- 03将 Kafka 消息流式保存到 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 Server
Timeplus 的 MCP 服务。
功能
提示词
generate_sql:为大模型提供更多关于如何通过 SQL 查询 Timeplus 的知识
工具
-
run_sql- 在你的 Timeplus 集群上执行 SQL 查询。
- 输入:
sql(string):要执行的 SQL 查询。 - 默认情况下,所有 Timeplus 查询都以
readonly = 1模式运行,以确保安全。如果要运行 DDL 或 DML 查询,可以将环境变量TIMEPLUS_READ_ONLY设置为false。
-
list_databases- 列出 Timeplus 集群上的所有数据库。
-
list_tables- 列出数据库中的所有表。
- 输入:
database(string):数据库名称。
-
list_kafka_topics- 列出 Kafka 集群中的所有主题
-
explore_kafka_topic- 显示 Kafka 主题中的一些消息
- 输入:
topic(string):主题名称。message_count(int):要显示的消息数,默认为 1。
-
create_kafka_stream- 在 Timeplus 中设置流式 ETL,以便在本地保存 Kafka 消息
- 输入:
topic(string):主题名称。
-
connect_to_apache_iceberg- 连接到基于 Apache Iceberg 的数据库。目前,此功能仅适用于 Timeplus Enterprise,计划很快在 Timeplus Proton 中提供。
- 输入:
iceberg_db(string):Iceberg 数据库名称。aws_account_id(int):AWS 账号 ID(12 位)。s3_bucket(string):S3 存储桶名称。aws_region(string):AWS 区域,默认为 "us-west-2"。is_s3_table_bucket(bool):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 以应用更改。
你也可以使用其他 MCP 客户端(例如 5ire)试用此 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" - 设置为
"false"可启用 DDL/DML
- 默认值:
TIMEPLUS_KAFKA_CONFIG:Kafka 配置的 JSON 字符串。请参阅 librdkafka 配置,或参考上面的示例。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。