Skip to main content
Glama
config.py2.02 kB
""" Configuration management for Payload CMS MCP Server. """ import os from typing import Optional from pydantic import BaseModel, Field from pydantic_settings import BaseSettings class PayloadConfig(BaseModel): """Configuration for Payload CMS connection.""" base_url: str = Field( default="http://localhost:3000/api", description="Base URL for Payload CMS API" ) auth_token: Optional[str] = Field( default=None, description="JWT token for authentication" ) timeout: int = Field( default=30, description="Request timeout in seconds" ) verify_ssl: bool = Field( default=False, description="Whether to verify SSL certificates" ) bypass_proxy: bool = Field( default=True, description="Whether to bypass proxy for localhost connections" ) class ServerConfig(BaseSettings): """Server configuration for MCP server.""" log_level: str = Field( default="INFO", description="Logging level" ) payload: PayloadConfig = Field( default_factory=PayloadConfig, description="Payload CMS configuration" ) class Config: env_prefix = "PAYLOAD_MCP_" env_nested_delimiter = "__" @classmethod def from_env(cls) -> "ServerConfig": """Create configuration from environment variables.""" return cls( log_level=os.getenv("PAYLOAD_MCP_LOG_LEVEL", "INFO"), payload=PayloadConfig( base_url=os.getenv("PAYLOAD_MCP_PAYLOAD__BASE_URL", "http://localhost:3000/api"), auth_token=os.getenv("PAYLOAD_MCP_PAYLOAD__AUTH_TOKEN"), timeout=int(os.getenv("PAYLOAD_MCP_PAYLOAD__TIMEOUT", "30")), verify_ssl=os.getenv("PAYLOAD_MCP_PAYLOAD__VERIFY_SSL", "false").lower() == "true", bypass_proxy=os.getenv("PAYLOAD_MCP_PAYLOAD__BYPASS_PROXY", "true").lower() == "true" ) )

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/ohnicholas93/payload-mcp-server'

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