Skip to main content
Glama
GreptimeTeam

GreptimeDB MCP Server

Official
by GreptimeTeam
config.py3.91 kB
import argparse from dataclasses import dataclass import os @dataclass class Config: """ Configuration for the greptimedb mcp server. """ host: str """ GreptimeDB host """ port: int """ GreptimeDB MySQL protocol port """ user: str """ GreptimeDB username """ password: str """ GreptimeDB password """ database: str """ GreptimeDB database name """ time_zone: str """ GreptimeDB session time zone """ pool_size: int """ Connection pool size """ http_port: int """ GreptimeDB HTTP API port """ http_protocol: str """ HTTP protocol (http or https) """ mask_enabled: bool """ Enable data masking for sensitive columns """ mask_patterns: str """ Additional sensitive column patterns (comma-separated) """ @staticmethod def from_env_arguments() -> "Config": """ Parse command line arguments. """ parser = argparse.ArgumentParser(description="GreptimeDB MCP Server") parser.add_argument( "--host", type=str, help="GreptimeDB host", default=os.getenv("GREPTIMEDB_HOST", "localhost"), ) parser.add_argument( "--port", type=int, help="GreptimeDB MySQL protocol port", default=os.getenv("GREPTIMEDB_PORT", 4002), ) parser.add_argument( "--database", type=str, help="GreptimeDB connect database name", default=os.getenv("GREPTIMEDB_DATABASE", "public"), ) parser.add_argument( "--user", type=str, help="GreptimeDB username", default=os.getenv("GREPTIMEDB_USER", ""), ) parser.add_argument( "--password", type=str, help="GreptimeDB password", default=os.getenv("GREPTIMEDB_PASSWORD", ""), ) parser.add_argument( "--timezone", type=str, help="GreptimeDB session time zone", default=os.getenv("GREPTIMEDB_TIMEZONE", ""), ) parser.add_argument( "--pool-size", type=int, help="Connection pool size (default: 5)", default=int(os.getenv("GREPTIMEDB_POOL_SIZE", "5")), ) parser.add_argument( "--http-port", type=int, help="GreptimeDB HTTP API port (default: 4000)", default=int(os.getenv("GREPTIMEDB_HTTP_PORT", "4000")), ) parser.add_argument( "--http-protocol", type=str, choices=["http", "https"], help="HTTP protocol for API calls (default: http)", default=os.getenv("GREPTIMEDB_HTTP_PROTOCOL", "http"), ) parser.add_argument( "--mask-enabled", type=lambda x: x.lower() not in ("false", "0", "no"), help="Enable data masking for sensitive columns (default: true)", default=os.getenv("GREPTIMEDB_MASK_ENABLED", "true"), ) parser.add_argument( "--mask-patterns", type=str, help="Additional sensitive column patterns (comma-separated)", default=os.getenv("GREPTIMEDB_MASK_PATTERNS", ""), ) args = parser.parse_args() return Config( host=args.host, port=args.port, database=args.database, user=args.user, password=args.password, time_zone=args.timezone, pool_size=args.pool_size, http_port=args.http_port, http_protocol=args.http_protocol, mask_enabled=args.mask_enabled, mask_patterns=args.mask_patterns, )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GreptimeTeam/greptimedb-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server