Source code for ralph.config.mcp_models

"""Pydantic models for `mcp.toml`."""

from __future__ import annotations

from pydantic import ConfigDict, Field

from ralph.pydantic_compat import RalphBaseModel

from ._media_config import MediaConfig
from ._web_search_backend_spec import WebSearchBackendSpec
from .mcp_server_spec import McpServerSpec
from .web_search_config import WebSearchConfig
from .web_service_configs import WebVisitConfig


[docs] class McpConfig(RalphBaseModel): """Top-level `mcp.toml` document.""" model_config = ConfigDict(frozen=True) mcp_servers: dict[str, McpServerSpec] = Field(default_factory=dict) web_search: WebSearchConfig = Field(default_factory=WebSearchConfig) web_visit: WebVisitConfig = Field(default_factory=WebVisitConfig) media: MediaConfig = Field(default_factory=MediaConfig)
__all__ = [ "McpConfig", "McpServerSpec", "MediaConfig", "WebSearchBackendSpec", "WebSearchConfig", "WebVisitConfig", ]