"""Configuration management for Toggl MCP Server."""
import os
from dotenv import load_dotenv
from typing import Optional
from pathlib import Path
# Load environment variables from .env file in the project root
env_path = Path(__file__).parent.parent.parent / ".env"
load_dotenv(dotenv_path=env_path)
class Config:
"""Configuration class that loads from environment variables."""
TOGGL_API_TOKEN: Optional[str] = os.getenv("TOGGL_API_TOKEN")
TOGGL_WORKSPACE_ID: Optional[str] = os.getenv("TOGGL_WORKSPACE_ID")
# Cache configuration
CACHE_DIR: str = "./cache"
CACHE_TTL_HOURS: int = 1
@classmethod
def validate(cls) -> None:
"""Validate that required environment variables are set."""
if not cls.TOGGL_API_TOKEN:
raise ValueError("TOGGL_API_TOKEN environment variable not set")
if not cls.TOGGL_WORKSPACE_ID:
raise ValueError("TOGGL_WORKSPACE_ID environment variable not set")
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/ikido/toggl-mcp-custom'
If you have feedback or need assistance with the MCP directory API, please join our Discord server