MCP¶
21 types. Import any of them from opencode.types.
McpAddConfig
module-attribute
¶
McpAddConfig: TypeAlias = Annotated[
Annotated[McpLocalConfig, Tag("local")]
| Annotated[McpRemoteConfig, Tag("remote")]
| Annotated[UnknownMcpAddConfig, Tag("__unknown__")],
Discriminator(
discriminator("type", "type", ["local", "remote"])
),
]
McpListResponse
¶
McpLocalConfig
¶
environment
class-attribute
instance-attribute
¶
disabled
class-attribute
instance-attribute
¶
disabled: bool | None = Field(
default=None, exclude_if=is_none
)
codemode
class-attribute
instance-attribute
¶
codemode: bool | None = Field(
default=None, exclude_if=is_none
)
timeout
class-attribute
instance-attribute
¶
timeout: McpLocalConfigTimeout | None = Field(
default=None, exclude_if=is_none
)
protocol
class-attribute
instance-attribute
¶
protocol: McpProtocol | None = Field(
default=None, exclude_if=is_none
)
McpLocalConfigTimeout
¶
McpOAuthConfig
¶
client_id
class-attribute
instance-attribute
¶
client_id: str | None = Field(
default=None, exclude_if=is_none
)
client_secret
class-attribute
instance-attribute
¶
client_secret: str | None = Field(
default=None, exclude_if=is_none
)
scope
class-attribute
instance-attribute
¶
scope: str | None = Field(default=None, exclude_if=is_none)
callback_port
class-attribute
instance-attribute
¶
callback_port: int | None = Field(
default=None, exclude_if=is_none
)
McpProtocol
module-attribute
¶
MCP protocol negotiation. "legacy" (default) opens with the initialize handshake and speaks protocol revisions up to 2025-11-25. "auto" probes for the 2026-07-28 revision and falls back to legacy when the server does not support it. "2026-07-28" requires that revision and fails otherwise.
McpRemoteConfig
¶
headers
class-attribute
instance-attribute
¶
oauth
class-attribute
instance-attribute
¶
oauth: McpOAuthConfig | Literal[False] | None = Field(
default=None, exclude_if=is_none
)
disabled
class-attribute
instance-attribute
¶
disabled: bool | None = Field(
default=None, exclude_if=is_none
)
codemode
class-attribute
instance-attribute
¶
codemode: bool | None = Field(
default=None, exclude_if=is_none
)
timeout
class-attribute
instance-attribute
¶
timeout: McpRemoteConfigTimeout | None = Field(
default=None, exclude_if=is_none
)
protocol
class-attribute
instance-attribute
¶
protocol: McpProtocol | None = Field(
default=None, exclude_if=is_none
)
McpRemoteConfigTimeout
¶
McpResource
¶
McpResourceCatalog
¶
McpResourceCatalogResponse
¶
McpResourceTemplate
¶
McpServer
¶
integration_id
class-attribute
instance-attribute
¶
integration_id: IntegrationID | None = Field(
default=None,
validation_alias="integrationID",
serialization_alias="integrationID",
exclude_if=is_none,
)
McpServerStatus
module-attribute
¶
McpServerStatus: TypeAlias = Annotated[
Annotated[McpStatusConnected, Tag("connected")]
| Annotated[McpStatusPending, Tag("pending")]
| Annotated[McpStatusDisabled, Tag("disabled")]
| Annotated[McpStatusFailed, Tag("failed")]
| Annotated[McpStatusNeedsAuth, Tag("needs_auth")]
| Annotated[UnknownMcpServerStatus, Tag("__unknown__")],
Discriminator(
discriminator(
"status",
"status",
[
"connected",
"pending",
"disabled",
"failed",
"needs_auth",
],
)
),
]