Orchestra MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Orchestra MCP Serverlist all my pipelines"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Orchestra MCP Server
A Model Context Protocol (MCP) server for the Orchestra API. End users can connect directly to Orchestra's hosted MCP endpoint and authenticate with their Orchestra API key.
Quick Start
Use Orchestra's hosted MCP endpoint:
URL:
https://mcp.getorchestra.io/orchestraRequired header:
Authorization: Bearer <YOUR_ORCHESTRA_API_KEY>API key location: Orchestra workspace settings
Related MCP server: Airflow MCP
Available Tools
Tool | Auth required | Purpose | Category |
| Yes | Fetch a single pipeline. Provide exactly one selector: pipeline_id, alias, or repository together with yaml_path ( | Pipelines |
| Yes | List pipelines ( | Pipelines |
| Yes | Create a pipeline ( | Pipelines |
| Yes | Update a pipeline by selector ( | Pipelines |
| Yes | Disabled by default. Delete a pipeline. Provide exactly one selector: pipeline_id, alias, or repository together with yaml_path ( | Pipelines |
| Yes | Get pipeline data ( | Pipelines |
| Yes | Start a pipeline run ( | Pipelines |
| No | Validate a full pipeline definition document without creating or updating a pipeline. Use it to check a definition before create_pipeline or update_pipeline ( | Pipelines |
| Yes | Migrate an Orchestra-backed pipeline to git-backed storage. Identify it with pipeline_id or alias, and omit working_branch when it equals default_branch ( | Pipelines |
| Yes | Import a pipeline ( | Pipelines |
| Yes | Get pipeline run status ( | Pipeline Runs |
| Yes | List pipeline runs with optional filters. status accepts comma-separated values: CREATED, RUNNING, SUCCEEDED, WARNING, FAILED, CANCELLING, CANCELLED ( | Pipeline Runs |
| Yes | Cancel a running pipeline run by its ID ( | Pipeline Runs |
| No | Build the URL of a pipeline run's lineage graph in the Orchestra UI (derived from | Pipeline Runs |
| Yes | List task runs for a pipeline run ( | Task Runs |
| Yes | List task runs ( | Task Runs |
| Yes | List operations ( | Operations |
| Yes | List assets ( | Assets |
| Yes | Get an asset ( | Assets |
| Yes | List task run logs ( | Logs |
| Yes | Download a task run log ( | Logs |
| Yes | List task run artifacts ( | Artifacts |
| Yes | Download a task run artifact ( | Artifacts |
| Yes | List integration connections ( | Integrations |
| Yes | List environments ( | Environments |
| Yes | Create an environment ( | Environments |
| Yes | Get an environment ( | Environments |
| Yes | Update an environment ( | Environments |
| Yes | Disabled by default. Delete an environment ( | Environments |
| Yes | Get integration state ( | State |
Cursor
Add this to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"orchestra": {
"url": "https://mcp.getorchestra.io/orchestra",
"headers": {
"Authorization": "Bearer <YOUR_ORCHESTRA_API_KEY>"
}
}
}
}Claude Code
Add the hosted server with:
claude mcp add --transport http --header "Authorization: Bearer <YOUR_ORCHESTRA_API_KEY>" orchestra https://mcp.getorchestra.io/orchestraOther MCP clients
Any MCP client that supports remote HTTP/SSE servers can connect with this shape:
{
"mcpServers": {
"orchestra": {
"url": "https://mcp.getorchestra.io/orchestra",
"headers": {
"Authorization": "Bearer <YOUR_ORCHESTRA_API_KEY>"
}
}
}
}Managing Multiple Workspaces
If you need to connect to multiple Orchestra workspaces, you can set up separate MCP server connections with workspace-specific API keys:
{
"mcpServers": {
"orchestra-data-quality-tests": {
"url": "https://mcp.getorchestra.io/orchestra",
"headers": {
"Authorization": "Bearer <DATA_QUALITY_WORKSPACE_API_KEY>"
}
},
"orchestra-sales-integrations": {
"url": "https://mcp.getorchestra.io/orchestra",
"headers": {
"Authorization": "Bearer <SALES_WORKSPACE_API_KEY>"
}
}
}
}Run Locally
This section discusses how to run the MCP server locally, and is mainly intended for contributors.
Prerequisites
Python 3.11 or higher
uv package manager
Orchestra API key
Install dependencies
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install project dependencies
uv syncSet API key
export ORCHESTRA_API_KEY="your-orchestra-api-key"(Optional) Select environment for local runs
For local development, the server defaults to app. You can override it with ORCHESTRA_ENV:
export ORCHESTRA_ENV="dev"Valid values:
app(default)stagedev
(Optional) Enable destructive deletion
By default, the destructive delete_pipeline and delete_environment tools are not registered to avoid accidental destructive actions.
To expose them, set ORCHESTRA_ENABLE_DELETE before starting the server:
export ORCHESTRA_ENABLE_DELETE="true"Only the following values are recognized:
"true""TRUE""1"
Run the server
python -m orchestramcp.serverThe server fetches the Orchestra OpenAPI spec on startup and exposes the operations
the API flags for the MCP. Set ORCHESTRA_OPENAPI_URL to point at a specific spec
(e.g. a local file) instead of the environment default.
Development
Run
uv run pytestto run tests.Run
uv run ruff check .anduv run ruff format .to check and format code.
PRs to main will trigger CI checks in GitHub, main branch merges release to the dev & stage environments, and Github releases relase to the production environment.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/orchestra-hq/orchestra-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server