| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- from collections.abc import Mapping
- from typing import TYPE_CHECKING, Any, Literal, TypeVar, Union, cast
- from attrs import define as _attrs_define
- from ..types import UNSET, Unset
- if TYPE_CHECKING:
- from ..models.mcp_local_config_environment import McpLocalConfigEnvironment
- T = TypeVar("T", bound="McpLocalConfig")
- @_attrs_define
- class McpLocalConfig:
- """
- Attributes:
- type_ (Literal['local']): Type of MCP server connection
- command (list[str]): Command and arguments to run the MCP server
- environment (Union[Unset, McpLocalConfigEnvironment]): Environment variables to set when running the MCP server
- enabled (Union[Unset, bool]): Enable or disable the MCP server on startup
- """
- type_: Literal["local"]
- command: list[str]
- environment: Union[Unset, "McpLocalConfigEnvironment"] = UNSET
- enabled: Union[Unset, bool] = UNSET
- def to_dict(self) -> dict[str, Any]:
- type_ = self.type_
- command = self.command
- environment: Union[Unset, dict[str, Any]] = UNSET
- if not isinstance(self.environment, Unset):
- environment = self.environment.to_dict()
- enabled = self.enabled
- field_dict: dict[str, Any] = {}
- field_dict.update(
- {
- "type": type_,
- "command": command,
- }
- )
- if environment is not UNSET:
- field_dict["environment"] = environment
- if enabled is not UNSET:
- field_dict["enabled"] = enabled
- return field_dict
- @classmethod
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
- from ..models.mcp_local_config_environment import McpLocalConfigEnvironment
- d = dict(src_dict)
- type_ = cast(Literal["local"], d.pop("type"))
- if type_ != "local":
- raise ValueError(f"type must match const 'local', got '{type_}'")
- command = cast(list[str], d.pop("command"))
- _environment = d.pop("environment", UNSET)
- environment: Union[Unset, McpLocalConfigEnvironment]
- if isinstance(_environment, Unset):
- environment = UNSET
- else:
- environment = McpLocalConfigEnvironment.from_dict(_environment)
- enabled = d.pop("enabled", UNSET)
- mcp_local_config = cls(
- type_=type_,
- command=command,
- environment=environment,
- enabled=enabled,
- )
- return mcp_local_config
|