We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pandeussilvae/mcp-odoo-panda'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""
MCP (Model Context Protocol) configuration module.
This module provides configuration management for MCP servers.
"""
import os
import yaml
from typing import Dict, Any, List, Optional
from dataclasses import dataclass
@dataclass
class MCPConfig:
"""Configuration for MCP server."""
odoo_url: str
database: str
uid: str
password: str
protocol: str
connection_type: str
requests_per_minute: int
rate_limit_max_wait_seconds: int
pool_size: int
timeout: int
session_timeout_minutes: int
sse_queue_maxsize: Optional[int] = None
allowed_origins: Optional[List[str]] = None
logging: Optional[Dict[str, Any]] = None
def load_config(config_path: str) -> MCPConfig:
"""
Load configuration from a YAML file.
Args:
config_path: Path to the configuration file
Returns:
MCPConfig object with loaded configuration
Raises:
FileNotFoundError: If the configuration file doesn't exist
yaml.YAMLError: If the configuration file is invalid
"""
if not os.path.exists(config_path):
raise FileNotFoundError(f"Configuration file not found: {config_path}")
with open(config_path, 'r') as f:
config_data = yaml.safe_load(f)
return MCPConfig(
odoo_url=config_data['odoo_url'],
database=config_data['database'],
uid=config_data['uid'],
password=config_data['password'],
protocol=config_data['protocol'],
connection_type=config_data['connection_type'],
requests_per_minute=config_data['requests_per_minute'],
rate_limit_max_wait_seconds=config_data['rate_limit_max_wait_seconds'],
pool_size=config_data['pool_size'],
timeout=config_data['timeout'],
session_timeout_minutes=config_data['session_timeout_minutes'],
sse_queue_maxsize=config_data.get('sse_queue_maxsize'),
allowed_origins=config_data.get('allowed_origins'),
logging=config_data.get('logging')
)