mcp-timeplus

by jovezhong
Verified

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.

Integrations

  • The MCP server is available as a package on PyPI, allowing users to install it using package managers.

타임플러스 MCP 서버

Timeplus의 MCP 서버.

특징

프롬프트

  • SQL을 통해 Timeplus를 쿼리하는 방법에 대한 더 많은 지식을 LLM에 제공하기 위한 generate_sql

도구

  • run_sql
    • Timeplus 클러스터에서 SQL 쿼리를 실행합니다.
    • 입력: sql (문자열): 실행할 SQL 쿼리.
    • 기본적으로 모든 Timeplus 쿼리는 안전을 위해 readonly = 1 로 실행됩니다. DDL 또는 DML 쿼리를 실행하려면 TIMEPLUS_READ_ONLY 환경 변수를 false 로 설정할 수 있습니다.
  • list_databases
    • Timeplus 클러스터에 있는 모든 데이터베이스를 나열합니다.
  • list_tables
    • 데이터베이스의 모든 테이블을 나열합니다.
    • 입력: database (문자열): 데이터베이스의 이름입니다.
  • list_kafka_topics
    • Kafka 클러스터의 모든 주제 나열
  • explore_kafka_topic
    • Kafka 토픽에서 일부 메시지 표시
    • 입력: topic (문자열): 주제의 이름입니다. message_count (정수): 표시할 메시지 수이며 기본값은 1입니다.
  • create_kafka_stream
    • Timeplus에서 스트리밍 ETL을 설정하여 Kafka 메시지를 로컬에 저장합니다.
    • 입력: topic (문자열): 주제의 이름입니다.
  • connect_to_apache_iceberg
    • Apache Iceberg 기반 데이터베이스에 연결합니다. 현재는 Timeplus Enterprise를 통해서만 사용할 수 있으며, 곧 Timeplus Proton에서도 사용할 수 있게 될 예정입니다.
    • 입력: iceberg_db (문자열): Iceberg 데이터베이스의 이름입니다. aws_account_id (정수): AWS 계정 ID(12자리). s3_bucket (문자열): S3 버킷 이름입니다. aws_region (문자열): AWS 지역이며 기본값은 "us-west-2"입니다. is_s3_table_bucket (부울): S3 버킷이 S3 테이블 버킷인지 여부이며 기본값은 False입니다.

구성

먼저, uv 실행 파일이 설치되어 있는지 확인하세요. 설치되어 있지 않다면 여기 의 지침에 따라 설치하세요.

  1. 다음 위치에 있는 Claude Desktop 구성 파일을 엽니다.
    • macOS의 경우: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json
  2. 다음을 추가합니다.

지엑스피1

환경 변수를 업데이트하여 사용자의 Timeplus 서비스를 가리키도록 합니다.

  1. 변경 사항을 적용하려면 Claude Desktop을 다시 시작하세요.

5ire 와 같은 다른 MCP 클라이언트와 함께 이 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 서버를 시작할 수 있습니다. "연결" 버튼을 클릭하여 UI를 MCP 서버에 연결한 후, "도구" 탭으로 전환하여 사용 가능한 도구를 실행하세요.
  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"
    • DDL/DML을 활성화하려면 "false" 로 설정하세요.
  • TIMEPLUS_KAFKA_CONFIG : Kafka 구성에 대한 JSON 문자열입니다. librdkafka 구성을 참조하거나 위 예제를 참조하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Apache Kafka/Pulsar와 같은 스트리밍 데이터용 데이터베이스인 Timeplus와 통합

  1. Features
    1. Prompts
    2. Tools
  2. Configuration
    1. Development
      1. Environment Variables
    ID: 9aleefsq9s