MCP Servers
OpenChoreo provides Model Context Protocol (MCP) servers that enable AI assistants to interact with your OpenChoreo platform.
Overviewβ
OpenChoreo provides two MCP servers:
- Control Plane MCP Server - Provides tools for managing OpenChoreo resources (namespaces, projects, components, builds, deployments, infrastructure)
- Observability Plane MCP Server - Provides tools for accessing observability data (logs, metrics, traces, alerts, incidents)
Each MCP server is independently accessible and requires separate configuration.
Using Both MCP Servers Togetherβ
For the best experience, configure both the Control Plane and Observability Plane MCP servers together. Observability tools accept resource names (namespace, project, component, environment) as parameters β use the Control Plane MCP server to list and discover these names, then pass them directly to Observability tools.
Example workflow:
- Use Control Plane MCP (
list_namespaces,list_projects,list_components,list_environments) to discover resource names - Use those names with Observability Plane MCP tools (
query_component_logs,query_traces,query_http_metrics,query_alerts) to fetch observability data
Available Toolsβ
Control Plane MCP Serverβ
The Control Plane MCP server is organized into seven toolsets.
Note: The cluster-prefixed tools have been deprecated since v1.1 and, as of v1.2.0, are hidden from tools/list by default (see Deprecated cluster-prefixed tools).
Some read-only tools (marked with β ) appear in both the default developer toolsets and the PE toolset. This allows platform engineers to use the PE toolset alongside Namespace and Project toolsets without needing to enable all developer toolsets.
Deprecated cluster-prefixed toolsβ
The *_cluster_* tools (cluster-scoped component types, traits, workflows, and planes) are deprecated. Each one has been collapsed into its namespace-scoped counterpart, which now accepts a scope: "namespace" | "cluster" argument (defaults to "namespace"). For example, get_cluster_component_type is replaced by get_component_type called with scope: "cluster".
Rollout timeline:
| Release | tools/list behavior | Callable? |
|---|---|---|
| v1.1.x | Aliases listed by default, each marked deprecated in its description. | Yes |
| current (v1.2.0) | Aliases hidden by default; set ?includeDeprecatedTools=true to opt back in. | Yes |
| v1.3.0 | Aliases removed; the includeDeprecatedTools flag is also removed. | No |
Every invocation of a deprecated alias returns a deprecation warning pointing to the replacement, so clients that ignore tools/list metadata still get a migration signal at call time.
If your integration depends on the legacy *_cluster_* names, migrate to the canonical tool with scope: "cluster" β as of v1.2.0, discovery-driven clients that read tools/list no longer see the aliases unless you append ?includeDeprecatedTools=true to the MCP server URL (see Per-Session Tool Filtering).
Namespace Toolset
list_namespacesβ List all namespaces (top-level containers for organizing projects, components, and resources)create_namespaceβ Create a new namespacelist_secret_referencesβ‘ β List all secret references (credentials and sensitive configuration) for a namespaceget_secret_referenceβ‘ β Get a single secret reference's full spec (template, data sources, refresh interval, target plane). For sync status, queryget_resource_eventsagainst the rendered ExternalSecret on the data plane
β‘ Also registered on the PE toolset. Authoring secret references (create_, update_, delete_secret_reference) is PE-only β see the PE toolset below.
Project Toolset
list_projectsβ List all projects in a namespace (logical groupings of related components sharing deployment pipelines)create_projectβ Create a new project in a namespaceupdate_projectβ Partially update a project (display_name,description,deployment_pipeline); only provided fields changedelete_projectβ Delete a project; cascades via finalizer to remove all components, workloads, releases, and bindings owned by the project
Component Toolset
Component Management
create_componentβ Create a new component in a projectlist_componentsβ List all components in a project (deployable units with independent build and deployment lifecycles)get_componentβ Get detailed component info including configuration, deployment status, and buildspatch_componentβ Partially update a component's configuration (display_name, description, autoDeploy, parameters, traits, workflow); pass an empty array for traits to clear all traitsdelete_componentβ Delete a component; cascades via finalizer to its workloads, releases, and release bindingsget_component_schemaβ Get the JSON schema for a component's configuration options
Workload Management
list_workloadsβ List workloads for a component (names, images, endpoint names)get_workloadβ Get detailed workload info; returns the full Spec (round-trip-safe withupdate_workload)create_workloadβ Create a new workload for a component (runtime spec: containers, resources, env vars)update_workloadβ Update an existing workload's specification (container config, env vars, port mappings, resource limits)delete_workloadβ Delete a workload; for reversible removal of just the deployment, useupdate_release_bindingwithrelease_state: Undeployget_workload_schemaβ Get the JSON schema for the workload specification
Platform Standards β Read-Only, Namespace-Scoped
list_component_typesβ β List available component types in a namespace (WebApplication, Service, ScheduledTask, etc.)get_component_typeβ β Get the full definition of a component type including its complete specget_component_type_schemaβ β Get the parameter schema for a component typelist_traitsβ β List available traits in a namespace (autoscaling, ingress, service mesh, etc.)get_traitβ β Get the full definition of a trait including its complete specget_trait_schemaβ β Get the parameter schema for a trait
Platform Standards β Read-Only, Cluster-Scoped (deprecated β use the namespace-scoped tool with scope: "cluster"; see Deprecated cluster-prefixed tools)
list_cluster_component_typesβ β List cluster-scoped component types shared across namespacesget_cluster_component_typeβ β Get the full definition of a cluster-scoped component typeget_cluster_component_type_schemaβ β Get the schema for a cluster-scoped component typelist_cluster_traitsβ β List cluster-scoped traits shared across namespacesget_cluster_traitβ β Get the full definition of a cluster-scoped traitget_cluster_trait_schemaβ β Get the schema for a cluster-scoped trait
Resource Toolset
The Resource toolset mirrors the Component toolset for managed infrastructure: developers create Resources that reference platform-engineer-published ResourceTypes, and workloads consume the declared outputs via dependencies.resources[]. ResourceType writes, ResourceRelease management, and ResourceReleaseBinding CRUD live in the PE and Deployment toolsets respectively.
Resource Management
list_resourcesβ List all Resources in a project (managed-infrastructure dependencies like databases, queues, caches, object stores)get_resourceβ Get a Resource's full spec including parameters, referenced (Cluster)ResourceType, latest cut release, and conditionscreate_resourceβ Create a new Resource referencing a ResourceType or ClusterResourceType; the controller cuts the first ResourceRelease automaticallyupdate_resourceβ Update a Resource's parameters (full replacement).spec.ownerandspec.typeare immutabledelete_resourceβ Delete a Resource; the two-phase finalizer blocks until all ResourceReleaseBindings are removed, then GCs owned ResourceReleases
Platform Standards β Read-Only, Namespace-Scoped
list_resource_typesβ β List available ResourceTypes in a namespace (Postgres, Valkey, NATS, S3 buckets, Crossplane claims, etc.). Passscope: "cluster"for ClusterResourceTypesget_resource_typeβ β Get the full definition of a ResourceType including parameter schema, environmentConfigs schema, outputs, and rendered resources. Passscope: "cluster"for a ClusterResourceTypeget_resource_type_schemaβ β Get the parameter schema for a ResourceType. Passscope: "cluster"for a ClusterResourceType
Deployment Toolset
Components
create_release_bindingβ Create a new release binding to deploy a component to a specific environmentlist_release_bindingsβ List release bindings associating releases with environments for a componentget_release_bindingβ Get detailed info for a specific release binding including state, overrides, and endpointsupdate_release_bindingβ Update a release binding's configuration (release, release_state, overrides, traits, workload settings); setrelease_state: Activeto deploy orUndeployto remove from the data plane while keeping the bindingdelete_release_bindingβ Delete a release binding entirely; for reversible removal that keeps the binding, useupdate_release_bindingwithrelease_state: Undeployinsteaddelete_component_releaseβ Delete a component release (immutable; useful for pruning old releases)
Resources
create_resource_release_bindingβ Create a new ResourceReleaseBinding to deploy a Resource to a specific environmentlist_resource_release_bindingsβ List ResourceReleaseBindings in a namespace; optionally filter by project, resource, or environmentget_resource_release_bindingβ Get detailed info for a ResourceReleaseBinding including the pinned ResourceRelease, retention policy, environment overrides, and resolved outputsupdate_resource_release_bindingβ Update a ResourceReleaseBinding's configuration (resource_release,retain_policy,resource_type_environment_configs); promotion is performed by settingresource_releaseto a new ResourceRelease namedelete_resource_release_bindingβ Delete a ResourceReleaseBinding; if effectiveretainPolicyisRetain, the finalizer holds and the data-plane state persists until the policy is flipped toDeletedelete_resource_releaseβ Delete a ResourceRelease snapshot (immutable; useful for pruning old releases)
Pipelines & Environments
list_deployment_pipelinesβ List all deployment pipelines defining environment promotion order in a namespaceget_deployment_pipelineβ Get detailed deployment pipeline info including stages, promotion order, and environmentslist_environmentsβ β List all environments (deployment targets like dev, staging, production) in a namespace
Build Toolset
trigger_workflow_runβ Trigger a workflow run for a component using the component's configured workflow and parameterscreate_workflow_runβ Create a new workflow run by specifying a workflow name and optional parameterslist_workflow_runsβ List workflow run executions in a namespace; optionally filter by project and componentget_workflow_runβ Get detailed info for a workflow run including status, tasks, and timestampsget_workflow_run_statusβ Get the live status of a workflow run (phase, task progress)get_workflow_run_logsβ Stream live logs for a workflow run (live-only β does not return archived logs for completed runs); optionaltaskfilterget_workflow_run_eventsβ Get Kubernetes events for a workflow run (scheduling, pod-startup failures); optionaltaskfilterlist_workflowsβ β List all workflow templates in a namespace (CI/CD pipelines executed on the workflow plane)get_workflowβ β Get the full definition of a workflow including its complete specget_workflow_schemaβ β Get the parameter schema for a workflow template
Deprecated β use the namespace-scoped tool with scope: "cluster" instead; see Deprecated cluster-prefixed tools:
list_cluster_workflowsβ List cluster-scoped workflow definitions shared across namespacesget_cluster_workflowβ Get the full definition of a cluster-scoped workflowget_cluster_workflow_schemaβ Get the schema for a cluster-scoped workflow
Platform Engineering (PE) Toolset
The PE toolset is enabled by default. These tools are intended for platform administrators who manage infrastructure, environments, platform standards, and deployment pipelines. If you need to disable the PE toolset, see Configuring MCP Toolsets.
Environment Management
list_environmentsβ β List all environments in a namespacecreate_environmentβ Create a new environment in a namespaceupdate_environmentβ Update an existing environment (display name, description, production flag)delete_environmentβ Delete an environment from a namespace
Deployment Pipeline Management
create_deployment_pipelineβ Create a new deployment pipeline defining environment promotion orderupdate_deployment_pipelineβ Update promotion paths and approval requirementsdelete_deployment_pipelineβ Delete a deployment pipeline from a namespace
Component Releases
list_component_releasesβ List all releases (immutable snapshots at a specific build) for a componentcreate_component_releaseβ Create a new release from the latest build of a componentget_component_releaseβ Get detailed release info including build information, image tags, and deployment statusget_component_release_schemaβ Get the JSON schema for a component release's configuration options
Resource Releases
list_resource_releasesβ List all ResourceReleases (immutable snapshots ofResource.spec+(Cluster)ResourceType.spec) for a Resourcecreate_resource_releaseβ Manually cut a ResourceRelease from the current Resource and ResourceType state. Typically not needed in steady stateβthe Resource controller cuts releases automatically on hash changeget_resource_releaseβ Get the full snapshot including the frozen (Cluster)ResourceType spec and the Resource parameters captured at release time
Infrastructure β Namespace-Scoped Planes
list_dataplanesβ List all data planes (clusters where workloads execute) in a namespaceget_dataplaneβ Get detailed data plane info including cluster details, capacity, and healthlist_workflowplanesβ List all workflow planes (dedicated build infrastructure) in a namespaceget_workflowplaneβ Get detailed workflow plane info including cluster details and health statuslist_observability_planesβ List all observability planes providing monitoring, logging, and tracing in a namespaceget_observability_planeβ Get detailed observability plane info including observer URL and health status
Infrastructure β Cluster-Scoped Planes (deprecated β use the namespace-scoped tool with scope: "cluster"; see Deprecated cluster-prefixed tools)
list_cluster_dataplanesβ List all cluster-scoped data planesget_cluster_dataplaneβ Get detailed info for a cluster-scoped data planelist_cluster_workflowplanesβ List all cluster-scoped workflow planesget_cluster_workflowplaneβ Get detailed info for a cluster-scoped workflow planelist_cluster_observability_planesβ List all cluster-scoped observability planesget_cluster_observability_planeβ Get detailed info for a cluster-scoped observability plane
Platform Standards β Read, Namespace-Scoped
list_component_typesβ β List available component types in a namespaceget_component_typeβ Get the full definition of a component type including its complete specget_component_type_schemaβ β Get the parameter schema for a component typelist_traitsβ β List available traits in a namespaceget_traitβ Get the full definition of a trait including its complete specget_trait_schemaβ β Get the parameter schema for a traitlist_resource_typesβ β List available ResourceTypes in a namespace. Passscope: "cluster"for ClusterResourceTypesget_resource_typeβ β Get the full definition of a ResourceType including outputs and resource manifests. Passscope: "cluster"for a ClusterResourceTypeget_resource_type_schemaβ β Get the parameter schema for a ResourceType. Passscope: "cluster"for a ClusterResourceTypelist_workflowsβ β List all workflow templates in a namespaceget_workflowβ Get the full definition of a workflow including its complete specget_workflow_schemaβ β Get the parameter schema for a workflow template
Platform Standards β Creation Schemas
get_component_type_creation_schemaβ Get the spec schema for creating a component typeget_cluster_component_type_creation_schema(deprecated β useget_component_type_creation_schemawithscope: "cluster") β Get the spec schema for creating a cluster-scoped component typeget_trait_creation_schemaβ Get the spec schema for creating a traitget_cluster_trait_creation_schema(deprecated β useget_trait_creation_schemawithscope: "cluster") β Get the spec schema for creating a cluster-scoped traitget_resource_type_creation_schemaβ Get the spec schema for creating a ResourceType. Passscope: "cluster"for a ClusterResourceTypeget_workflow_creation_schemaβ Get the spec schema for creating a workflowget_cluster_workflow_creation_schema(deprecated β useget_workflow_creation_schemawithscope: "cluster") β Get the spec schema for creating a cluster-scoped workflow
Platform Standards β Write, Namespace-Scoped
create_component_typeβ Create a new component type in a namespaceupdate_component_typeβ Update an existing component type (full replacement)delete_component_typeβ Delete a component type from a namespacecreate_traitβ Create a new trait in a namespaceupdate_traitβ Update an existing trait (full replacement)delete_traitβ Delete a trait from a namespacecreate_resource_typeβ Create a new ResourceType. Passscope: "cluster"to create a ClusterResourceTypeupdate_resource_typeβ Update an existing ResourceType (full replacement). Passscope: "cluster"for a ClusterResourceTypedelete_resource_typeβ Delete a ResourceType. Passscope: "cluster"to delete a ClusterResourceTypecreate_workflowβ Create a new workflow in a namespaceupdate_workflowβ Update an existing workflow (full replacement)delete_workflowβ Delete a workflow from a namespace
Platform Standards β Read, Cluster-Scoped (deprecated β use the namespace-scoped tool with scope: "cluster"; see Deprecated cluster-prefixed tools)
list_cluster_component_typesβ β List cluster-scoped component typesget_cluster_component_typeβ β Get the full definition of a cluster-scoped component typeget_cluster_component_type_schemaβ β Get the schema for a cluster-scoped component typelist_cluster_traitsβ β List cluster-scoped traitsget_cluster_traitβ β Get the full definition of a cluster-scoped traitget_cluster_trait_schemaβ β Get the schema for a cluster-scoped traitlist_cluster_workflowsβ β List cluster-scoped workflow definitionsget_cluster_workflowβ β Get the full definition of a cluster-scoped workflowget_cluster_workflow_schemaβ β Get the schema for a cluster-scoped workflow
Platform Standards β Write, Cluster-Scoped (deprecated β use the namespace-scoped tool with scope: "cluster"; see Deprecated cluster-prefixed tools)
create_cluster_component_typeβ Create a new cluster-scoped component typeupdate_cluster_component_typeβ Update an existing cluster-scoped component type (full replacement)delete_cluster_component_typeβ Delete a cluster-scoped component typecreate_cluster_traitβ Create a new cluster-scoped traitupdate_cluster_traitβ Update an existing cluster-scoped trait (full replacement)delete_cluster_traitβ Delete a cluster-scoped traitcreate_cluster_workflowβ Create a new cluster-scoped workflowupdate_cluster_workflowβ Update an existing cluster-scoped workflow (full replacement)delete_cluster_workflowβ Delete a cluster-scoped workflow
Authorization β Roles
list_authz_rolesβ List authz roles in a namespaceget_authz_roleβ Get the full definition of an authz roleget_authz_role_creation_schemaβ Get the spec schema for creating an authz rolecreate_authz_roleβ Create a new authz roleupdate_authz_roleβ Update an existing authz role (full replacement)delete_authz_roleβ Delete an authz role
Authorization β Role Bindings
list_authz_role_bindingsβ List authz role bindings in a namespaceget_authz_role_bindingβ Get the full definition of an authz role bindingget_authz_role_binding_creation_schemaβ Get the spec schema for creating an authz role bindingcreate_authz_role_bindingβ Create a new authz role bindingupdate_authz_role_bindingβ Update an existing authz role binding (full replacement)delete_authz_role_bindingβ Delete an authz role binding
Secret References
list_secret_referencesβ‘ β List all secret references (credentials and sensitive configuration) for a namespaceget_secret_referenceβ‘ β Get a single secret reference's full spec (template, data sources, refresh interval, target plane). For sync status, queryget_resource_eventsagainst the rendered ExternalSecret on the data planecreate_secret_referenceβ Create a new secret reference; spec must includetemplate(Kubernetes Secret type) anddata[](mapping of secret keys to external store references)update_secret_referenceβ Update an existing secret reference; annotations are merged, spec is replaced wholesale when provideddelete_secret_referenceβ Delete a secret reference (the underlying Kubernetes Secret is removed by the controller)
β‘ Also registered on the Namespace toolset so developers can list and inspect secret references without enabling PE.
Diagnostics
get_resource_treeβ Get the rendered resource tree for a release bindingget_resource_eventsβ Get Kubernetes events for a specific resource in a deployment (scheduling, startup issues)get_resource_logsβ Get container logs from a specific pod in a deployment (application errors, runtime issues)evaluate_authzβ Evaluate one or more authz requests and return allow/deny plus the matching binding chain on a denylist_authz_actionsβ List the catalog of authz action names and the lowest applicable scope for each
Observability Plane MCP Serverβ
The Observability Plane MCP server provides tools covering logs, traces, metrics, alerts, and incidents:
query_component_logsβ Query runtime application logs for components (services, APIs, workers, scheduled tasks); filter by project, component, environment, time range, log levels, and search phrasesquery_workflow_logsβ Query CI/CD workflow run logs capturing build, test, and deployment pipeline execution details; filter by workflow run name and task namequery_http_metricsβ Query HTTP request and latency metrics; returns time-series data for request counts (total, successful, unsuccessful) and latency percentiles (p50, p90, p99)query_resource_metricsβ Query CPU and memory resource usage metrics; returns time-series data for usage, requests, and limits β useful for capacity planning and detecting memory leaksquery_tracesβ Query distributed traces; returns a list of traces with summary information including trace ID, span count, root span details, and durationquery_trace_spansβ Query all spans within a specific distributed trace by trace ID; returns span details with timing, parent span, and service informationget_span_detailsβ Get full details for a specific span including attributes, resource attributes, parent span ID, and timing detailsquery_alertsβ Query fired alerts in OpenChoreo; supports filtering by project, component, environment, and time range β useful for investigating recent alerts and their detailsquery_incidentsβ Query incidents in OpenChoreo; supports filtering by project, component, environment, and time range β useful for tracking incident lifecycle and response status; all incidents have an accompanying alert but not the other way around
Configuring MCP Toolsetsβ
The Control Plane MCP server exposes seven toolsets: namespace, project, component, resource, deployment, build, and pe. All seven are enabled by default. You can control which toolsets are active by passing a JSON array to openchoreoApi.config.mcp.toolsets via helm upgrade.
Syntax:
helm upgrade openchoreo-control-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-control-plane \
--version 1.2.0-m.1 \
--namespace openchoreo-control-plane \
--reuse-values \
--set-json 'openchoreoApi.config.mcp.toolsets=["<toolset1>","<toolset2>",...]'
Common Configurationsβ
Developer toolsets:
helm upgrade openchoreo-control-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-control-plane \
--version 1.2.0-m.1 \
--namespace openchoreo-control-plane \
--reuse-values \
--set-json 'openchoreoApi.config.mcp.toolsets=["namespace","project","component","resource","deployment","build"]'
Platform Engineer toolset:
helm upgrade openchoreo-control-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-control-plane \
--version 1.2.0-m.1 \
--namespace openchoreo-control-plane \
--reuse-values \
--set-json 'openchoreoApi.config.mcp.toolsets=["namespace","project","pe"]'
The namespace and project toolsets are useful companions for the PE toolset β they let platform engineers discover resources without enabling all developer toolsets.
Per-Session Tool Filteringβ
By default, the Control Plane MCP server filters tools/list and tools/call results by the authenticated user's permissions. Tools the user lacks permission for are hidden, and unauthorized calls are rejected. MCP clients can additionally narrow what a session sees, opt out of authorization-based filtering, or opt back into the deprecated cluster-prefixed aliases, by passing optional query parameters when establishing the session.
| Query Parameter | Required | Default | Description |
|---|---|---|---|
toolsets | false | All configured toolsets | Comma-separated list of toolsets to expose via tools/list for the session (e.g. namespace,component,pe). Unknown toolset names are silently ignored. |
filterByAuthz | false | true | When true, hides tools the user cannot call and rejects unauthorized invocations. Set to false to disable MCP-layer authorization filtering. |
includeDeprecatedTools | false | false (was true before v1.2.0) | Controls whether tools/list includes the deprecated cluster-prefixed aliases. The aliases remain callable regardless of this flag β it only controls listing. The flag and aliases are both removed in v1.3.0. |
Example (as of v1.2.0 the deprecated aliases are hidden by default; append includeDeprecatedTools=true to opt back in):
http://api.openchoreo.localhost:8080/mcp?toolsets=namespace,component,pe&filterByAuthz=false&includeDeprecatedTools=true
These query parameters are HTTP-only and read once when the session is established. The toolsets parameter only filters tools/list results; it does not gate tools/call. The control plane API enforces authorization independently of filterByAuthz, so disabling MCP-layer filtering does not grant additional access. It just exposes tools the user cannot successfully invoke.
A scope-collapsed tool (one that accepts a scope argument) requires a distinct permission per scope β one for scope: "namespace" and one for scope: "cluster". It appears in tools/list as long as the user holds the permission for at least one scope; a tools/call invocation is then authorized against the permission for the scope actually requested. So a user with only namespace-level permissions still sees the tool, but a call with scope: "cluster" is rejected unless they also hold the cluster-level permission.
Finding MCP Server URLsβ
MCP server URLs follow a simple pattern based on the respective service's hostname:
- Control Plane MCP Server:
<control-plane-api-hostname>/mcp - Observability Plane MCP Server:
<observer-service-hostname>/mcp
Example: Local k3d Setupβ
If you followed the local setup guide, your MCP server URLs will be:
Single Cluster Installation:
- Control Plane MCP Server:
http://api.openchoreo.localhost:8080/mcp - Observability Plane MCP Server:
http://observer.openchoreo.localhost:11080/mcp
Multi-Cluster Installation:
- Control Plane MCP Server:
http://api.openchoreo.localhost:8080/mcp - Observability Plane MCP Server:
http://observer.observability.openchoreo.localhost:11087/mcp
The k3d local setup examples show different ports and hostnames:
- Control plane services use port 8080
- Observability plane uses port 11080 (single cluster) or 11087 (multi-cluster)
- Multi-cluster deployments use distinct subdomain patterns for namespace isolation
Default OAuth Applicationsβ
OpenChoreo ships with pre-created OAuth applications in the default ThunderID identity provider for quick-start configuration:
| Application | Client ID | Grant Type | Use Case |
|---|---|---|---|
| Browser-Based (Public) | user_mcp_client | Authorization Code + PKCE | Interactive use with AI agents that support browser-based OAuth (Claude Code, Cursor) |
| Service (Confidential) | service_mcp_client | Client Credentials | Programmatic access, any AI agent via bearer token |
These default applications eliminate the need to manually create OAuth apps for common setups.
Next Stepsβ
To configure your AI assistant to connect to OpenChoreo MCP servers, follow the AI Configuration Guide to set up authentication and connect your AI agent.