Pydantic Models

Smarter API MCPClient Manifest Constants.

Smarter API Manifest - MCPClient.metadata.

class smarter.apps.mcpclient.manifest.models.mcpclient.metadata.SAMMCPClientMetadata(*, name: str, description: str | None, version: str | None, tags: List[str] | None = <factory>, annotations: List[dict[str, str | int | float | bool | ~datetime.date | ~datetime.datetime | ~decimal.Decimal | ~uuid.UUID | bytes | list | dict]] | None=<factory>)[source]

Bases: AbstractSAMMetadataBase

Smarter API MCPClient Manifest - Metadata class.

class_identifier: ClassVar[str] = 'MCPClient.metadata'
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

Smarter API Manifest - MCPClient.spec.

class smarter.apps.mcpclient.manifest.models.mcpclient.spec.SAMMCPClientSpec(*, config: SAMMCPClientSpecConfig)[source]

Bases: AbstractSAMSpecBase

Smarter API MCPClient Manifest MCPClient.spec.

class_identifier: ClassVar[str] = 'MCPClient.spec'
config: SAMMCPClientSpecConfig
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

class smarter.apps.mcpclient.manifest.models.mcpclient.spec.SAMMCPClientSpecConfig(*, transport: MCPTransport, endpoint_url: str | None = '', command: str | None = '', config: dict | None = <factory>, auth_type: MCPAuthType = MCPAuthType.NONE, credentials: str, allowed_tools: list[str] | None = <factory>, allowed_resources: list[str] | None = <factory>, is_active: bool = True, priority: Annotated[int, ~annotated_types.Ge(ge=0)] = 100)[source]

Bases: AbstractSAMSpecBase

Smarter API MCPClient Manifest MCPClient.spec.config.

allowed_resources: list[str] | None
allowed_tools: list[str] | None
auth_type: MCPAuthType
class_identifier: ClassVar[str] = 'MCPClient.spec.configuration'
command: str | None
config: dict | None
credentials: str
endpoint_url: str | None
is_active: bool
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

priority: int
transport: MCPTransport
validate_credentials_required_for_auth()[source]
Return type:

SAMMCPClientSpecConfig

validate_transport_target()[source]
Return type:

SAMMCPClientSpecConfig

Smarter API Manifest - MCPClient.status.

class smarter.apps.mcpclient.manifest.models.mcpclient.status.SAMMCPClientStatus(*, recordLocator: str, created: datetime, modified: datetime, accountNumber: str, username: str)[source]

Bases: AbstractSAMStatusBase

Smarter API MCPClient Manifest - Status class.

accountNumber: str
class_identifier: ClassVar[str] = 'MCPClient.status'
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

username: str

Smarter API MCPClient Manifest.

class smarter.apps.mcpclient.manifest.models.mcpclient.model.SAMMCPClient(*, apiVersion: str, kind: str, metadata: SAMMCPClientMetadata, spec: SAMMCPClientSpec, status: SAMMCPClientStatus | None = None)[source]

Bases: AbstractSAMBase

Smarter API Manifest - MCPClient.

class_identifier: ClassVar[str] = 'MCPClient'
metadata: SAMMCPClientMetadata
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

spec: SAMMCPClientSpec
status: SAMMCPClientStatus | None