Timeplus

Interaja com a plataforma de dados em tempo real Timeplus para consultar e gerenciar fluxos de dados.

Documentação

Servidor MCP Timeplus

PyPI - Version

Um servidor MCP para Timeplus.

mcp-timeplus MCP server

Recursos

Prompts

  • generate_sql para dar mais conhecimento ao LLM sobre como consultar Timeplus via SQL

Ferramentas

  • run_sql
    • Executa consultas SQL no seu cluster Timeplus.
      • Entrada: sql (string): A consulta SQL a ser executada.
      • Por padrão, todas as consultas Timeplus são executadas com readonly = 1 para garantir que sejam seguras. Se você quiser executar consultas DDL ou DML, pode definir a variável de ambiente TIMEPLUS_READ_ONLY como false.
  • list_databases
    • Lista todos os bancos de dados no seu cluster Timeplus.
  • list_tables
    • Lista todas as tabelas em um banco de dados.
      • Entrada: database (string): O nome do banco de dados.
  • list_kafka_topics
    • Lista todos os tópicos em um cluster Kafka
  • explore_kafka_topic
    • Mostra algumas mensagens no tópico Kafka
      • Entrada: topic (string): O nome do tópico. message_count (int): O número de mensagens a mostrar, padrão é 1.
  • create_kafka_stream
    • Configura um ETL de streaming no Timeplus para salvar as mensagens Kafka localmente
      • Entrada: topic (string): O nome do tópico.
  • connect_to_apache_iceberg
    • Conecta a um banco de dados baseado em Apache Iceberg. Atualmente, isso só está disponível via Timeplus Enterprise e está planejado para disponibilizá-lo para Timeplus Proton em breve.
      • Entrada: iceberg_db (string): O nome do banco de dados Iceberg. aws_account_id (int): O ID da conta AWS (12 dígitos). s3_bucket (string): O nome do bucket S3. aws_region (string): A região AWS, padrão é "us-west-2". is_s3_table_bucket (bool): Se o bucket S3 é um bucket de tabela S3, padrão é False.

Configuração

Primeiro, certifique-se de ter o executável uv instalado. Se não, você pode instalá-lo seguindo as instruções aqui.

  1. Abra o arquivo de configuração do Claude Desktop localizado em:
    • No macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
      • No Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Adicione o seguinte:
{
  "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\"}"
      }
    }
  }
}

Atualize as variáveis de ambiente para apontar para o seu próprio serviço Timeplus.

  1. Reinicie o Claude Desktop para aplicar as alterações.

Você também pode testar este servidor MCP com outros clientes MCP, como 5ire.

Desenvolvimento

  1. No diretório test-services, execute docker compose up -d para iniciar um servidor Timeplus Proton. Você também pode baixá-lo via curl https://install.timeplus.com/oss | sh e depois iniciar com ./proton server.
  2. Adicione as seguintes variáveis a um arquivo .env na raiz do repositório.
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. Execute uv sync para instalar as dependências. Depois, faça source .venv/bin/activate.
  2. Para testes fáceis, você pode executar mcp dev mcp_timeplus/mcp_server.py para iniciar o servidor MCP. Clique no botão "Connect" para conectar a interface ao servidor MCP e depois mude para a aba "Tools" para executar as ferramentas disponíveis.
  3. Para construir a imagem Docker, execute docker build -t mcp_timeplus ..

Variáveis de Ambiente

As seguintes variáveis de ambiente são usadas para configurar a conexão Timeplus:

Variáveis Obrigatórias

  • TIMEPLUS_HOST: O hostname do seu servidor Timeplus
  • TIMEPLUS_USER: O nome de usuário para autenticação
  • TIMEPLUS_PASSWORD: A senha para autenticação

Variáveis Opcionais

  • TIMEPLUS_PORT: O número da porta do seu servidor Timeplus
    • Padrão: 8443 se HTTPS estiver habilitado, 8123 se desabilitado
      • Geralmente não precisa ser definido, a menos que esteja usando uma porta não padrão
  • TIMEPLUS_SECURE: Habilita/desabilita a conexão HTTPS
    • Padrão: "false"
      • Defina como "true" para conexões seguras
  • TIMEPLUS_VERIFY: Habilita/desabilita a verificação de certificado SSL
    • Padrão: "true"
      • Defina como "false" para desabilitar a verificação de certificado (não recomendado para produção)
  • TIMEPLUS_CONNECT_TIMEOUT: Tempo limite de conexão em segundos
    • Padrão: "30"
      • Aumente este valor se você tiver tempos limite de conexão
  • TIMEPLUS_SEND_RECEIVE_TIMEOUT: Tempo limite de envio/recebimento em segundos
  • TIMEPLUS_DATABASE: Banco de dados padrão a ser usado
    • Padrão: Nenhum (usa o padrão do servidor)
      • Defina isso para conectar automaticamente a um banco de dados específico
  • TIMEPLUS_READ_ONLY: Habilita/desabilita o modo somente leitura
  • TIMEPLUS_KAFKA_CONFIG: Uma string JSON para a configuração do Kafka. Consulte a configuração do librdkafka ou use o exemplo acima como referência.