Skip to main content
Glama

AbletonMCP

by chaudepark
config.py1.92 kB
"""Configuration models for Ableton MCP Server.""" from dataclasses import dataclass from typing import Optional @dataclass class ServerConfig: """Server configuration data model.""" host: str = "localhost" port: int = 9877 timeout: float = 10.0 max_retries: int = 3 retry_delay: float = 1.0 buffer_size: int = 8192 def __post_init__(self) -> None: """Validate configuration values.""" if not (1 <= self.port <= 65535): raise ValueError(f"Port must be between 1 and 65535, got {self.port}") if self.timeout <= 0: raise ValueError(f"Timeout must be positive, got {self.timeout}") if self.max_retries < 0: raise ValueError(f"Max retries must be non-negative, got {self.max_retries}") if self.retry_delay < 0: raise ValueError(f"Retry delay must be non-negative, got {self.retry_delay}") if self.buffer_size <= 0: raise ValueError(f"Buffer size must be positive, got {self.buffer_size}") @dataclass class LogConfig: """Logging configuration data model.""" level: str = "INFO" format: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" enable_file_logging: bool = False log_file_path: str | None = None max_log_file_size: int = 10 * 1024 * 1024 # 10MB backup_count: int = 5 @dataclass class MCPConfig: """MCP Server configuration data model.""" server_name: str = "AbletonMCP" description: str = "Ableton Live integration through the Model Context Protocol" version: str = "1.0.0" # Connection settings server: ServerConfig = None logging: LogConfig = None def __post_init__(self) -> None: if self.server is None: self.server = ServerConfig() if self.logging is None: self.logging = LogConfig() # Default configuration instance DEFAULT_CONFIG = MCPConfig()

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/chaudepark/ableton-mcp'

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