roboto.ai.mcp
Submodules
Package Contents
AdminRegisterMcpServerRequest
Bases: pydantic.BaseModel
Admin request to register an MCP server. Supports both DCR and manual modes.
Admins can scope the server to specific orgs via org_ids, or leave it empty for global visibility.
Parameters
data AnyAttributes
AdminRegisterMcpServerRequest.allowed_tools
Tool allowlist: map of tool name to enabled flag. None = configure later (auto-populates on first discovery).
AdminRegisterMcpServerRequest.authorization_endpoint
OAuth2 authorization endpoint URL.
AdminRegisterMcpServerRequest.client_id
OAuth2 client ID from the provider’s developer settings.
AdminRegisterMcpServerRequest.client_secret
OAuth2 client secret from the provider’s developer settings.
AdminRegisterMcpServerRequest.display_name
User-friendly display name (e.g., ‘GitHub’). Alphanumerics, hyphens, and underscores only.
AdminRegisterMcpServerRequest.extra_auth_params
Extra query parameters appended to the OAuth authorization URL. For example, Atlassian requires {“audience”: “api.atlassian.com”, “prompt”: “consent”}.
AdminRegisterMcpServerRequest.oauth_issuer_url
OAuth2 authorization server base URL (e.g., ‘https://github.com’).
AdminRegisterMcpServerRequest.org_ids
Org IDs this server is scoped to. Empty = global (visible to all orgs).
AdminRegisterMcpServerRequest.registration_mode
AdminRegisterMcpServerRequest.revocation_endpoint
OAuth2 token revocation endpoint URL, if supported.
AdminRegisterMcpServerRequest.scopes
OAuth2 scopes to request during authorization.
AdminRegisterMcpServerRequest.token_endpoint
OAuth2 token endpoint URL.
CopyMcpServerAllowedToolsRequest
Bases: pydantic.BaseModel
Admin request to copy the tool allowlist from another server.
Parameters
data AnyAttributes
CopyMcpServerAllowedToolsRequest.source_server_id
Server ID to copy the allowed_tools dict from.
McpServerOrgContextRecord
Bases: pydantic.BaseModel
Per-org context for an MCP server.
Org admins set this plaintext to provide the AI with org-specific instructions about how the server should be used (e.g., which repos, project names, conventions).
Parameters
data AnyAttributes
McpServerOrgContextRecord.created
McpServerOrgContextRecord.created_by
McpServerOrgContextRecord.modified
McpServerOrgContextRecord.modified_by
McpServerOrgCredentialRecord
Bases: pydantic.BaseModel
An org-wide bearer token for an MCP server.
AI chat calls the server with this token for org members who have no working OAuth connection of their own to it, and for service users (non-human callers, such as agents launched by triggers). The record names the org secret that holds the token and never contains the token itself.
Parameters
data AnyAttributes
McpServerOrgCredentialRecord.created
Timestamp when an org admin first set an org token for this server.
McpServerOrgCredentialRecord.created_by
User who first set an org token for this server.
McpServerOrgCredentialRecord.modified
Timestamp when an org admin last chose the secret. Changing the secret’s value does not update it.
McpServerOrgCredentialRecord.secret_name
Name of the org secret holding the token. Calls to the server send its value as Authorization: Bearer <token>.
McpServerRecord
Bases: pydantic.BaseModel
A registered external MCP server. May be global or scoped to specific orgs.
Parameters
data AnyAttributes
McpServerRecord.allowed_tools
Map of tool name to enabled flag. None = not yet configured (auto-populates on first discovery). Keys are all known tools from the server; True = allowed, False = blocked.
McpServerRecord.display_name
User-friendly display name (e.g., ‘GitHub’, ‘GitLab’).
McpServerRecord.extra_auth_params
Extra query parameters appended to the OAuth authorization URL (e.g. audience for Atlassian).
McpServerRecord.modified
Timestamp when this server record was last modified.
McpServerRecord.oauth_issuer_url
OAuth2 authorization server URL for this MCP server.
McpServerRecord.org_ids
Org IDs this server is scoped to. Empty = global (visible to all orgs).
McpServerRecord.registration_mode
How this server was registered: ‘dcr’ or ‘manual’.
McpServerStatus
Bases: roboto.compat.StrEnum
Status of a registered MCP server.
Attributes
McpServerStatus.PENDING_SETUP
Server registration is in progress (e.g., awaiting Dynamic Client Registration).
McpTokenRecord
Bases: pydantic.BaseModel
Per-user, per-org OAuth token metadata for an MCP server.
Token values (access_token, refresh_token) are never exposed — this record contains only status metadata for display in the UI.
Parameters
data AnyAttributes
McpTokenRecord.expires_at
When the access token expires, if known.
McpTokenRecord.modified
Timestamp when this token was last refreshed or modified.
McpTokenStatus
Bases: roboto.compat.StrEnum
Status of a user’s OAuth token for an MCP server.
Attributes
McpToolInfo
Bases: pydantic.BaseModel
Describes a tool discovered from a remote MCP server.
Parameters
data AnyAttributes
McpToolInfo.input_schema
JSON Schema describing the tool’s input parameters.
OAuthCallbackRequest
RegisterMcpServerRequest
Bases: pydantic.BaseModel
Request to register an MCP server. Used by org admins.
In DCR mode, OAuth metadata is auto-discovered and client credentials are obtained via Dynamic Client Registration.
In Manual mode, the caller provides all OAuth credentials upfront.
Parameters
data AnyAttributes
RegisterMcpServerRequest.allowed_tools
Tool allowlist: map of tool name to enabled flag. None = configure later (auto-populates on first discovery).
RegisterMcpServerRequest.authorization_endpoint
OAuth2 authorization endpoint URL.
RegisterMcpServerRequest.client_id
OAuth2 client ID from the provider’s developer settings.
RegisterMcpServerRequest.client_secret
OAuth2 client secret from the provider’s developer settings.
RegisterMcpServerRequest.display_name
User-friendly display name (e.g., ‘GitHub’). Alphanumerics, hyphens, and underscores only.
RegisterMcpServerRequest.extra_auth_params
Extra query parameters appended to the OAuth authorization URL. For example, Atlassian requires {“audience”: “api.atlassian.com”, “prompt”: “consent”}.
RegisterMcpServerRequest.oauth_issuer_url
OAuth2 authorization server URL. Required for DCR if different from server_url. Required for Manual mode.
RegisterMcpServerRequest.registration_mode
RegisterMcpServerRequest.revocation_endpoint
OAuth2 token revocation endpoint URL, if supported.
RegisterMcpServerRequest.scopes
OAuth2 scopes to request during authorization.
RegistrationMode
Bases: str, enum.Enum
str(object=‘’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to ‘utf-8’. errors defaults to ‘strict’.
SetMcpServerOrgContextRequest
Bases: pydantic.BaseModel
Request to set per-org context for an MCP server.
The context is plaintext that gets injected into the AI system prompt so the AI knows how the org uses this server. Bounded to keep prompt size predictable and to limit the blast radius of injection from org-controlled text. Set to empty string to clear.
Parameters
data AnyAttributes
SetMcpServerOrgContextRequest.context
Plaintext context (max 4000 chars). Empty string clears it.
SetMcpServerOrgCredentialRequest
Bases: pydantic.BaseModel
Request body for PUT /v1/mcp/servers/{server_id}/org-credential.
Sets the org-wide token the caller’s org uses for the server, replacing any already set. Org admins only.
Parameters
data AnyStartOAuthFlowResponse
UpdateMcpServerAllowedToolsRequest
Bases: pydantic.BaseModel
Admin request to set the tool allowlist for an MCP server.
Keys are tool names, values indicate whether the tool is enabled (True) or blocked (False). Set to None to clear the allowlist (reverts to auto-populate on first discovery).
Parameters
data AnyAttributes
UpdateMcpServerAllowedToolsRequest.allowed_tools
UpdateMcpServerOrgsRequest
Bases: pydantic.BaseModel
Admin request to update the org scoping for an MCP server.
The provided org_ids fully replace the current set. An empty list makes the server global (visible to all orgs). Tokens for removed orgs are cascade-deleted.
Parameters
data AnyAttributes
UpdateMcpServerOrgsRequest.org_ids
New set of org IDs. Empty = global (visible to all orgs).
UpdateMcpServerRequest
Bases: pydantic.BaseModel
Request to update an MCP server registration.
Parameters
data Any