mcpField
T
Timeplus MCP Server

Timeplus MCP Server

本地服务
github.com/jovezhong数据库1266 周前更新

关于 Timeplus MCP Server

Timeplus MCP Server 为 Timeplus 集群提供 SQL 查询及数据探索工具,面向需要检查数据库、Kafka 主题和 Iceberg 数据的用户。查询默认以只读模式运行,也可按配置允许 DDL 和 DML。

主要功能

  1. 01执行 Timeplus SQL 查询
  2. 02列出数据库与表
  3. 03列出 Kafka 主题并查看消息
  4. 04将 Kafka 消息写入 Timeplus 流
  5. 05连接 Apache Iceberg 数据库
  6. 06提供 SQL 生成提示词

适用场景

  1. 01查询 Timeplus 集群中的数据
  2. 02检查 Kafka 主题中的消息
  3. 03将 Kafka 消息流式保存到 Timeplus
  4. 04连接 Iceberg 数据库进行数据访问

MCP 相关

该 MCP 服务向客户端提供 SQL 查询、数据库与表枚举、Kafka 主题操作及 Iceberg 连接工具,并包含 SQL 生成提示词。查询默认只读,可通过 TIMEPLUS_READ_ONLY 配置启用 DDL 或 DML。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"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": "<TIMEPLUS_SECURE>",
"TIMEPLUS_VERIFY": "<TIMEPLUS_VERIFY>",
"TIMEPLUS_CONNECT_TIMEOUT": "<TIMEPLUS_CONNECT_TIMEOUT>",
"TIMEPLUS_SEND_RECEIVE_TIMEOUT": "<TIMEPLUS_SEND_RECEIVE_TIMEOUT>",
"TIMEPLUS_READ_ONLY": "<TIMEPLUS_READ_ONLY>",
"TIMEPLUS_KAFKA_CONFIG": "<TIMEPLUS_KAFKA_CONFIG>"
}
}
}
}
启动命令uvx mcp-timeplus
需要配置的环境变量
TIMEPLUS_HOST
TIMEPLUS_PORT
TIMEPLUS_USER
TIMEPLUS_PASSWORD密钥
TIMEPLUS_SECURE
TIMEPLUS_VERIFY
TIMEPLUS_CONNECT_TIMEOUT
TIMEPLUS_SEND_RECEIVE_TIMEOUT
TIMEPLUS_READ_ONLY
TIMEPLUS_KAFKA_CONFIG

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-timeplus

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Timeplus MCP Server

PyPI - Version

Timeplus 的 MCP 服务。

mcp-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 可执行文件。如果尚未安装,请按照此处的说明进行安装。

  1. 打开位于以下路径的 Claude Desktop 配置文件:

    • 在 macOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
    • 在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
  2. 添加以下内容:

{
  "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 服务。

  1. 重启 Claude Desktop 以应用更改。

你也可以使用其他 MCP 客户端(例如 5ire)试用此 MCP 服务。

开发

  1. 在 test-services 目录中运行 docker compose up -d,启动 Timeplus Proton 服务。你也可以通过 curl https://install.timeplus.com/oss | sh 下载,然后运行 ./proton server 启动。

  2. 在仓库根目录的 .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"}
  1. 运行 uv sync 安装依赖。然后运行 source .venv/bin/activate。

  2. 为方便测试,可以运行 mcp dev mcp_timeplus/mcp_server.py 启动 MCP 服务。点击“Connect”按钮,将 UI 连接到 MCP 服务,然后切换到“Tools”选项卡运行可用工具。

  3. 要构建 Docker 镜像,请运行 docker build -t mcp_timeplus .。

环境变量

以下环境变量用于配置 Timeplus 连接:

必需变量
  • TIMEPLUS_HOST:Timeplus 服务的主机名
  • TIMEPLUS_USER:用于身份验证的用户名
  • TIMEPLUS_PASSWORD:用于身份验证的密码
可选变量
  • TIMEPLUS_PORT:Timeplus 服务的端口号
    • 默认值:启用 HTTPS 时为 8443,禁用时为 8123
    • 通常无需设置,除非使用非标准端口
  • 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 配置,或参考上面的示例。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。