MCP connectors¶
octomate.config.mcp.base ¶
The shapes every MCP tentacle's config shares: the server and the name its tools are listed under, with either one operator credential or a person's own linked account behind it.
McpConfig
pydantic-model
¶
Bases: BaseModel
What every MCP tentacle is configured with: the server, and the name its tools are listed under.
Fields:
Source code in octomate/config/mcp/base.py
BareMcpConfig
pydantic-model
¶
Bases: McpConfig
A vendor's MCP server spoken to with one operator credential for every caller: the deployment's identity, not the person's.
Fields:
Source code in octomate/config/mcp/base.py
DiscoveredOAuthMcpConfig
pydantic-model
¶
Bases: McpConfig
OAuth settings discovered from the resource server, using DCR or CIMD.
Config:
extra:forbid
Fields:
Source code in octomate/config/mcp/base.py
DeviceFlowConfig
pydantic-model
¶
Bases: BaseModel
A provider's device authorization flow: its endpoints and client auth.
Fields:
-
type(Literal['device']) -
device_authorization_endpoint(HttpsUrl) -
token_endpoint(HttpsUrl) -
token_endpoint_auth_method(Literal['none', 'client_secret_basic', 'client_secret_post'])
Source code in octomate/config/mcp/base.py
token_endpoint_auth_method
pydantic-field
¶
AuthorizationCodeFlowConfig
pydantic-model
¶
Bases: BaseModel
A provider's authorization-code flow: its endpoints and client auth.
Fields:
-
type(Literal['authorization_code']) -
authorization_endpoint(HttpsUrl) -
token_endpoint(HttpsUrl) -
token_endpoint_auth_method(Literal['none', 'client_secret_basic', 'client_secret_post'])
Source code in octomate/config/mcp/base.py
token_endpoint_auth_method
pydantic-field
¶
OAuthMcpConfig
pydantic-model
¶
Bases: McpConfig
A configured OAuth application whose grants belong to individual users.
Fields:
-
enabled(bool) -
type(Literal['oauth']) -
url(HttpsUrl) -
client_id(str) -
client_secret(SecretStr | None) -
scopes(list[str]) -
scope_separator(Literal[' ', ',']) -
invalid_credentials_errors(list[str]) -
flows(list[Annotated[DeviceFlowConfig | AuthorizationCodeFlowConfig, Field(discriminator='type')]])
Validators:
Source code in octomate/config/mcp/base.py
scopes
pydantic-field
¶
Access requested when connecting. Widening it requires reauthorization.
scope_separator
pydantic-field
¶
Delimiter used in the provider's token response scopes.
invalid_credentials_errors
pydantic-field
¶
OAuth error codes that require reconnecting instead of retrying a refresh.
flows
pydantic-field
¶
flows: list[
Annotated[
DeviceFlowConfig | AuthorizationCodeFlowConfig,
Field(discriminator="type"),
]
]
Available authorization flows; the first is the default.
validate_client_authentication
pydantic-validator
¶
Source code in octomate/config/mcp/base.py
octomate.config.mcp.pool ¶
Idle eviction for pooled MCP clients.
McpPoolConfig
pydantic-model
¶
Bases: BaseModel
Idle eviction for pooled MCP clients.
Fields:
-
idle_timeout(float)
Source code in octomate/config/mcp/pool.py
idle_timeout
pydantic-field
¶
Seconds since the latest acquisition before a cached MCP client is closed. Each acquisition renews the cleanup timer.