Skip to main content
Glama
constants.py2.21 kB
"""Constants used across igloo-mcp modules. All constants can be overridden via environment variables with the prefix IGLOO_MCP_. For example, CATALOG_CONCURRENCY can be set via IGLOO_MCP_CATALOG_CONCURRENCY. """ import os def _get_int_env(key: str, default: int) -> int: """Get integer value from environment variable with default.""" value = os.environ.get(key) if value is None: return default try: return int(value) except ValueError: return default # Catalog building concurrency limits CATALOG_CONCURRENCY: int = _get_int_env("IGLOO_MCP_CATALOG_CONCURRENCY", 16) MAX_DDL_CONCURRENCY: int = _get_int_env("IGLOO_MCP_MAX_DDL_CONCURRENCY", 8) # Query execution limits MIN_QUERY_TIMEOUT_SECONDS: int = _get_int_env("IGLOO_MCP_MIN_QUERY_TIMEOUT_SECONDS", 1) # Default max timeout: 3600 seconds (1 hour) - configurable via IGLOO_MCP_MAX_QUERY_TIMEOUT_SECONDS MAX_QUERY_TIMEOUT_SECONDS: int = _get_int_env("IGLOO_MCP_MAX_QUERY_TIMEOUT_SECONDS", 3600) MIN_REASON_LENGTH: int = _get_int_env("IGLOO_MCP_MIN_REASON_LENGTH", 5) MAX_REASON_LENGTH: int = _get_int_env("IGLOO_MCP_MAX_REASON_LENGTH", 200) MAX_SQL_STATEMENT_LENGTH: int = _get_int_env("IGLOO_MCP_MAX_SQL_STATEMENT_LENGTH", 1_000_000) # Result size limits RESULT_SIZE_LIMIT_MB: int = _get_int_env("IGLOO_MCP_RESULT_SIZE_LIMIT_MB", 1) RESULT_KEEP_FIRST_ROWS: int = _get_int_env("IGLOO_MCP_RESULT_KEEP_FIRST_ROWS", 500) RESULT_KEEP_LAST_ROWS: int = _get_int_env("IGLOO_MCP_RESULT_KEEP_LAST_ROWS", 50) RESULT_TRUNCATION_THRESHOLD: int = _get_int_env("IGLOO_MCP_RESULT_TRUNCATION_THRESHOLD", 1000) STATEMENT_PREVIEW_LENGTH: int = _get_int_env("IGLOO_MCP_STATEMENT_PREVIEW_LENGTH", 500) # Allowed session parameters (whitelist for security) ALLOWED_SESSION_PARAMETERS: set[str] = { "QUERY_TAG", "STATEMENT_TIMEOUT_IN_SECONDS", "AUTOCOMMIT", "ABORT_DETACHED_QUERY", "BINARY_INPUT_FORMAT", "BINARY_OUTPUT_FORMAT", "DATE_INPUT_FORMAT", "DATE_OUTPUT_FORMAT", "TIMESTAMP_INPUT_FORMAT", "TIMESTAMP_OUTPUT_FORMAT", "TIMESTAMP_LTZ_OUTPUT_FORMAT", "TIMESTAMP_NTZ_OUTPUT_FORMAT", "TIMESTAMP_TZ_OUTPUT_FORMAT", "TIME_INPUT_FORMAT", "TIME_OUTPUT_FORMAT", }

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/Evan-Kim2028/igloo-mcp'

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