Orion
The command-line interface and MCP server for Orion — manage workflows, channels, connectors, and data pipelines from your terminal or AI assistant.
Create, test, and deploy workflows. Define channels as service endpoints. Send data through channels. Monitor engine health and metrics. Use as a CLI or as an MCP server for Claude Desktop, Cursor, and other AI tools.

Quick Start
Create, activate, dry-run and send — the full lifecycle from one terminal.
1. Install the CLI:
brew install GoPlasmatic/tap/orion-cli
2. Point it at your Orion server:
orion-cli config set-server http://localhost:8080
3. Check the server is running:
Orion Server v0.2.0
Status: OK
Uptime: 2h 30m
Components:
database OK
engine OK
4. Create a workflow and channel, test it, send data:
orion-cli workflows create -f high-value-order.json
orion-cli workflows activate <WORKFLOW_ID>
orion-cli channels create -d '{"name":"orders","channel_type":"sync","protocol":"http","workflow_id":"<WORKFLOW_ID>"}'
orion-cli channels activate <CHANNEL_ID>
orion-cli engine reload
orion-cli workflows test <WORKFLOW_ID> -d '{"data":{"order_id":"ORD-9182","total":25000}}' --trace
orion-cli send orders -d '{"order_id":"ORD-9182","total":25000}'
Commands
| Command | Description |
|---|
health | Check server health and component status |
workflows | Manage workflows — create, update, delete, test, import/export, diff |
channels | Manage channels — create, update, delete, activate/archive, versioning, bulk import |
connectors | Manage connectors — create, update, delete, enable/disable, circuit breakers, bulk import |
send | Send data through channels (sync or async; --profile for timing breakdown) |
traces | View and monitor execution traces |
engine | View engine status and trigger reloads |
functions | Inspect workflow task functions registered in the engine |
metrics | Retrieve Prometheus metrics |
audit-logs | View audit logs of admin actions |
backups | Create and list database backups (SQLite) |
config | Configure server URL and defaults |
completions | Generate shell completions (bash, zsh, fish, powershell) |
mcp | Start MCP server for AI tool integration |
Global Flags
--server <URL> Orion server URL (overrides config; env: ORION_SERVER_URL)
--output <FORMAT> Output format: table, json, yaml (default: table)
--quiet Suppress output, print only IDs or minimal info
--verbose Show full response bodies and extra details
--no-color Disable colored output (env: NO_COLOR)
--yes Skip confirmation prompts
Workflow Management
Full lifecycle management for Orion workflows:
orion-cli workflows list --status active --tag fraud
orion-cli workflows get <ID>
orion-cli workflows create -f workflow.json
orion-cli workflows create -d '{"name":"My Workflow",...}'
orion-cli workflows create --id my-custom-id -f workflow.json
orion-cli workflows update <ID> -f updated-workflow.json
orion-cli workflows activate <ID>
orion-cli workflows archive <ID>
orion-cli workflows rollout <ID> -p 50
orion-cli workflows delete <ID>
Dry-Run Testing
Test any workflow against sample data before activating — with a full execution trace:
orion-cli workflows test <ID> -d '{"data":{"order_id":"ORD-9182","total":25000}}' --trace
Result: MATCHED
Trace:
parse executed
flag executed
Output:
{
"order": {
"order_id": "ORD-9182",
"total": 25000,
"flagged": true,
"alert": "High-value order: $25000"
}
}
Supports input from file (-f), inline JSON (-d), or stdin (--stdin).
Import, Export & Diff
GitOps-ready workflows for CI/CD pipelines:
orion-cli workflows export --status active > workflows.json
orion-cli workflows import -f workflows.json
orion-cli workflows import -f workflows.json --dry-run
orion-cli workflows diff -f workflows.json
The diff command shows color-coded changes: + new, ~ modified, = unchanged, - deleted.
Channel Management
Channels are service endpoints that receive data and route it to workflows:
orion-cli channels list --status active --protocol rest
orion-cli channels create -d '{"name":"orders","channel_type":"sync","protocol":"rest","route_pattern":"/orders/{id}","workflow_id":"process-orders"}'
orion-cli channels activate <ID>
orion-cli channels archive <ID>
orion-cli channels versions <ID>
orion-cli channels new-version <ID>
orion-cli channels import -f channels.json --dry-run
orion-cli channels import -f channels.json
Connectors
Manage named external service configurations with auth and retry policies:
orion-cli connectors list
orion-cli connectors get <ID>
orion-cli connectors create -f connector.json
orion-cli connectors update <ID> -f connector.json
orion-cli connectors delete <ID>
orion-cli connectors enable <ID>
orion-cli connectors disable <ID>
orion-cli connectors circuit-breakers
orion-cli connectors reset-breaker <KEY>
orion-cli connectors import -f connectors.json --dry-run
orion-cli connectors import -f connectors.json
Sending Data
Processing modes for any workload:
Synchronous (default)
orion-cli send orders -d '{"order_id":"ORD-001","amount":150}'
orion-cli send orders -d '{"order_id":"ORD-001","amount":150}' --profile
Asynchronous
orion-cli send orders --async-mode -d '{"amount":100}'
orion-cli send orders --async-mode --wait --timeout 30 -d '{"amount":100}'
Traces
View and monitor execution traces:
orion-cli traces get <TRACE_ID>
orion-cli traces wait <TRACE_ID> --interval 2 --timeout 60
Exit codes: 0 completed, 1 failed, 2 timeout.
Engine Control
orion-cli engine status
orion-cli engine reload
Functions
Inspect the workflow task functions registered in the engine, with their input schemas:
orion-cli functions list
orion-cli --output json functions list
MCP Server
Orion includes a built-in MCP (Model Context Protocol) server, enabling AI assistants like Claude Desktop and Cursor to manage your Orion instance directly.
A real stdio JSON-RPC session — the same transport Claude Desktop and Cursor use.
Stdio Transport (Claude Desktop / Cursor)
orion-cli mcp serve --server http://localhost:8080
HTTP Transport (Remote Clients)
orion-cli mcp serve --http --server http://localhost:8080
orion-cli mcp serve --http --bind 0.0.0.0:9090 --server http://localhost:8080
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"orion": {
"command": "orion-cli",
"args": ["mcp", "serve"],
"env": {
"ORION_SERVER_URL": "http://localhost:8080"
}
}
}
}
Cursor Configuration
One-click install:

Or add manually to Cursor MCP settings (Settings > MCP Servers):
{
"orion": {
"command": "orion-cli",
"args": ["mcp", "serve"],
"env": {
"ORION_SERVER_URL": "http://localhost:8080"
}
}
}
The MCP server exposes 46 tools covering the full Orion API:
| Category | Tools |
|---|
| Health | health_check |
| Engine | engine_status, engine_reload |
| Workflows | workflows_list, workflows_get, workflows_create, workflows_update, workflows_delete, workflows_activate, workflows_archive, workflows_test, workflows_validate, workflows_rollout, workflows_versions, workflows_create_version, workflows_export, workflows_import |
| Channels | channels_list, channels_get, channels_create, channels_update, channels_delete, channels_activate, channels_archive, channels_versions, channels_create_version, channels_import |
| Connectors | connectors_list, connectors_get, connectors_create, connectors_update, connectors_delete, connectors_enable, connectors_disable, connectors_import |
| Circuit Breakers | circuit_breakers_list, circuit_breaker_reset |
| Data | data_send_sync, data_send_async |
| Traces | traces_list, traces_get |
| Functions | functions_list |
| Audit Logs | audit_logs_list |
| Backups | backups_create, backups_list |
| Metrics | get_metrics |
All commands support three output formats:
orion-cli --output table workflows list
orion-cli --output json workflows list
orion-cli --output yaml workflows list
Use --quiet for minimal output (just IDs) — ideal for shell scripts:
WF_ID=$(orion-cli --quiet workflows create -f workflow.json)
orion-cli workflows test "$WF_ID" -d '{"data":{"amount":100}}'
Configuration
Configuration is stored in ~/.orion/config.toml:
server_url = "http://localhost:8080"
default_output = "table"
orion-cli config set-server http://localhost:8080
orion-cli config set default_output json
orion-cli config show
Precedence (highest to lowest):
- Command-line flags (
--server, --output)
- Environment variables (
ORION_SERVER_URL, NO_COLOR)
- Config file (
~/.orion/config.toml)
Shell Completions
orion-cli completions bash > ~/.bash_completions/orion-cli
orion-cli completions zsh > ~/.zfunctions/_orion-cli
orion-cli completions fish > ~/.config/fish/completions/orion-cli.fish
Install
docker run -p 8081:8081 ghcr.io/goplasmatic/orion-cli:latest mcp serve --http
brew install GoPlasmatic/tap/orion-cli
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/GoPlasmatic/Orion-cli/releases/latest/download/orion-cli-installer.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://github.com/GoPlasmatic/Orion-cli/releases/latest/download/orion-cli-installer.ps1 | iex"
cargo install --git https://github.com/GoPlasmatic/Orion-cli.git
Verify with orion-cli --version. Requires Rust 1.85+ for source builds.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
cargo build
cargo test
cargo clippy
cargo fmt
License
Apache-2.0 — see LICENSE for details.
If Orion CLI is useful to you, a ⭐ on GitHub helps other developers find it.