client.mcp.endpoints
client.mcp.endpoints — the mcp.endpoints operations.
On AsyncKindgi every method is the same, awaited.
client.mcp.endpoints.list()
Section titled “client.mcp.endpoints.list()”list( *, limit: int | None = None, cursor: str | None = None, transport: Literal['stdio', 'http-sse', 'streamable-http'] | None = None, scope_kind: Literal['tenant', 'org', 'project'] | None = None, scope_id: str | None = None, inherit: bool | None = None, timeout: float | None = None,) -> MCPEndpointCollectionPageList MCP endpoints. GET /v1/mcp/endpoints
Cursor-paginated. Optional ?transport= narrows to a single variant (stdio | http-sse | streamable-http). ?scopeKind + ?scopeId + ?inherit narrow to a specific scope; inherit is LOAD-BEARING here (policy/config-scoped binding — controls the upward-hierarchy walk).
client.mcp.endpoints.register()
Section titled “client.mcp.endpoints.register()”register( *, idempotency_key: str | None = None, timeout: float | None = None, **fields: Any,) -> RegisterMCPEndpointResultRegister an MCP endpoint. POST /v1/mcp/endpoints
Body is a full MCPEndpoint plus the scope to register it in (scopeKind + scopeId); authorization checks that scope. Server validates the closed transport enum + the config.transport matches transport guardrail + per-variant required fields (command for stdio; url for http-sse / streamable-http), and refuses unknown fields. secretRef names a secret in the deployment's store — plaintext secrets never cross the wire. A deployment with KINDGI_TENANT_HOST_ACCESS=deployed (the default outside development) refuses a stdio endpoint, which would run a command on the server's host: 403 host-access-denied.
client.mcp.endpoints.get()
Section titled “client.mcp.endpoints.get()”get(*, timeout: float | None = None) -> MCPEndpointFetch an MCP endpoint. GET /v1/mcp/endpoints/{endpointId}
Returns the wire-safe MCPEndpoint (secrets never cross the wire — secretRef names a secret the runtime resolves inside the deployment).
client.mcp.endpoints.unregister()
Section titled “client.mcp.endpoints.unregister()”unregister( *, idempotency_key: str | None = None, timeout: float | None = None,) -> UnregisterMCPEndpointResultUnregister an MCP endpoint. POST /v1/mcp/endpoints/{endpointId}/unregister