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)
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) to fetch observability data
Available Toolsβ
Control Plane MCP Serverβ
The Control Plane MCP server provides 45 tools organized into the following toolsets:
Namespace Tools (3)
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 namespace
Project Tools (2)
list_projectsβ List all projects in a namespace (logical groupings of related components sharing deployment pipelines)create_projectβ Create a new project in a namespace
Component Tools (35)
Component Management
list_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 buildscreate_componentβ Create a new component in a projectpatch_componentβ Partially update a component's configuration (autoDeploy, parameters, workflow, etc.)get_component_workloadsβ Get real-time workload info (running pods, status, resource usage) across all environmentsget_component_workloadβ Get detailed info for a specific component workload including container configuration, endpoints, and connectionscreate_workloadβ Create or update a workload for a component (runtime spec: containers, resources, env vars)
Component Types & Traits
list_component_typesβ List all available namespace-scoped component types (WebApplication, Service, ScheduledTask, etc.)get_component_type_schemaβ Get the JSON schema for a namespace-scoped component typelist_cluster_component_typesβ List all cluster-scoped component types shared across namespacesget_cluster_component_typeβ Get detailed info for a cluster-scoped component typeget_cluster_component_type_schemaβ Get the JSON schema for a cluster-scoped component typelist_traitsβ List all available namespace-scoped traits (autoscaling, ingress, service mesh, etc.)get_trait_schemaβ Get the JSON schema for a namespace-scoped traitlist_cluster_traitsβ List all cluster-scoped traits shared across namespacesget_cluster_traitβ Get detailed info for a cluster-scoped traitget_cluster_trait_schemaβ Get the JSON schema for a cluster-scoped trait
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 optionsget_component_schemaβ Get the JSON schema for a component's configuration optionsget_environment_releaseβ Get the Release spec and status for a component deployed in a specific environment
Release Bindings & Deployment
list_release_bindingsβ List release bindings associating releases with environments; optionally filter by environmentget_release_bindingβ Get detailed info for a specific release binding including state, overrides, and endpointspatch_release_bindingβ Update a release binding's configuration (release, overrides, traits, workload settings)update_release_binding_stateβ Update a release binding's state (Active, Suspend, or Undeploy) for a component in an environmentdeploy_releaseβ Deploy a component release to the lowest environment in the deployment pipelinepromote_componentβ Promote a release from one environment to another following the deployment pipeline
Workflows
list_workflowsβ List all available workflow templates in a namespace (CI/CD pipelines executed on the workflow plane)get_workflow_schemaβ Get the parameter schema for a workflow templatecreate_workflow_runβ Create and trigger a new workflow run by specifying a workflow name and parameterstrigger_workflow_runβ Trigger a workflow run for a component using the component's configured workflowlist_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 timestamps
Infrastructure Tools (5)
list_environmentsβ List all environments (deployment targets like dev, staging, production) in a namespaceget_environmentβ Get detailed environment info including data plane, deployed components, and resource quotaslist_deployment_pipelinesβ List all deployment pipelines defining environment promotion order in a namespaceget_deployment_pipelineβ Get the deployment pipeline configuration showing environment progression and promotion policiesget_observer_urlβ Get the observability dashboard URL for a specific environment
Platform Engineering (PE) Tools (11)
The PE toolset is not enabled by default. It must be explicitly enabled in the Control Plane MCP server configuration. These tools are intended for platform administrators who manage the underlying infrastructure.
create_environmentβ Create a new environment in a namespacelist_dataplanesβ List all data planes (clusters where workloads execute) in a namespaceget_dataplaneβ Get detailed data plane info including cluster details, capacity, and healthcreate_dataplaneβ Create a new data plane in a namespacelist_observability_planesβ List all ObservabilityPlanes providing monitoring, logging, and tracing capabilities in a namespacelist_workflowplanesβ List all workflow planes (dedicated build infrastructure) in a namespacelist_cluster_dataplanesβ List all cluster-scoped data planesget_cluster_dataplaneβ Get detailed info for a cluster-scoped data planecreate_cluster_dataplaneβ Create a new cluster-scoped data planelist_cluster_workflowplanesβ List all cluster-scoped workflow planeslist_cluster_observability_planesβ List all cluster-scoped observability planes
Observability Plane MCP Serverβ
The Observability Plane MCP server provides 7 tools covering logs, traces, and metrics:
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 details
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 Thunder 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.