config.py•1.63 kB
"""
Конфигурация MCP-сервера для n8n.
Configuration for n8n MCP server.
"""
import os
from typing import Optional
from dotenv import load_dotenv
# Загружаем переменные окружения из .env файла
load_dotenv()
class Config:
"""Конфигурация приложения."""
def __init__(self):
"""Инициализация конфигурации из переменных окружения."""
self.n8n_base_url: str = os.getenv("N8N_BASE_URL", "https://n8n.fineink.pl")
self.n8n_api_key: str = os.getenv("N8N_API_KEY", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MThkZjQ1NS00NDk0LTQ4ZjItODJiNy0zNmIwMTkyNWI2OTkiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzU5MTg5MTU2fQ.Rx_OCxZthb2Gdv5fkh6OnTCjY8efPaKvV2WHypEkXUo")
self.log_level: str = os.getenv("LOG_LEVEL", "INFO")
self.server_name: str = os.getenv("SERVER_NAME", "n8n-mcp-server")
self.server_version: str = os.getenv("SERVER_VERSION", "1.0.0")
def validate(self):
"""Валидация обязательных параметров."""
if not self.n8n_api_key:
raise ValueError("N8N_API_KEY environment variable is required")
def get_n8n_headers(self) -> dict:
"""Получение заголовков для аутентификации в n8n API."""
self.validate()
return {
"X-N8N-API-KEY": self.n8n_api_key,
"Content-Type": "application/json"
}
# Глобальный экземпляр конфигурации
config = Config()