Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Dops

FreeNot checked

the do(ops) cli

GitHubEmbed

About

the do(ops) cli

README

dops logo

the do(ops) cli

A browsable catalog of automation scripts that operators can select, parameterize, and execute directly from the terminal.

Try the Live Demo · Documentation · Report Bug · Request Feature


dops demo

Also available in the browser: dops open

dops web UI demo

Or let AI agents run your runbooks: dops mcp serve

dops MCP demo

Table of Contents
  1. About
  2. Features
  3. Installation
  4. Quick Start
  5. Themes
  6. Web UI
  7. MCP Integration
  8. Keyboard Shortcuts
  9. Shell Completion
  10. Development
  11. Getting Help
  12. License

About

dops is built for DevOps and platform engineering teams who need a consistent, safe way to run operational scripts. Instead of scattered shell scripts with tribal knowledge, dops organizes them into browsable catalogs with built-in parameter management, risk controls, and encrypted credential storage.

(back to top)

Features

  • Interactive TUI — sidebar catalog tree, metadata panel, live output pane, and wizard-driven parameter input
  • Web UI — browser-based interface via dops open with real-time log streaming
  • Catalog system — organize runbooks locally or install shared catalogs from git repositories
  • Runbook aliases — short names for frequently used runbooks (dops run deploy instead of full IDs)
  • Risk controls — confirmation gates for high/critical risk runbooks, per-catalog risk policies
  • Encrypted vault — saved parameters encrypted with age (X25519 + ChaCha20-Poly1305)
  • Smart parameter input — saved values auto-applied, only prompts for what's needed
  • Live execution — real-time stdout/stderr streaming with scroll, search, and text selection
  • Execution history — persistent audit trail across TUI, CLI, Web, and MCP with dops history and web UI timeline
  • MCP server — expose runbooks as tools and skills to AI agents via the Model Context Protocol
  • MCP skills — injectable domain knowledge for AI agents via type: skill runbooks
  • 20 themes — github, dracula, gruvbox, nord, synthwave, unicorn, and more
  • CLI mode — run any runbook non-interactively with dops run <id> --param key=value

(back to top)

Screenshots (click to expand)

TUI — Startup
dops startup

TUI — Sidebar search
dops sidebar search

TUI — Wizard parameter input
dops wizard input

TUI — Multi-select
dops multi-select

TUI — Risk confirmation
dops risk confirmation

TUI — Live execution output
dops execution

TUI — Output search
dops output search

TUI — Help overlay
dops help

Web UI — Catalog & parameter form
dops web UI catalog

Web UI — Execution log
dops web UI execution

(back to top)

Installation

Quick install

curl -fsSL https://raw.githubusercontent.com/rundops/dops/main/install.sh | sh

Installs the latest binary to /usr/local/bin. Set DOPS_INSTALL_DIR to change the location.

Windows

winget install RunDops.dops

Or via Scoop:

scoop bucket add rundops https://github.com/rundops/scoop-bucket.git
scoop install dops

Or download the latest .zip from the releases page and add dops.exe to your PATH.

Homebrew

brew tap rundops/tap
brew install dops

Go

go install github.com/rundops/dops@latest

Docker (MCP server)

docker run -i -v ~/.dops:/data/dops ghcr.io/rundops/dops:latest

From source

git clone https://github.com/rundops/dops.git
cd dops
make build
./bin/dops

(back to top)

Quick Start

1. Initialize dops:

dops init

This creates ~/.dops/ with a default config and a sample hello-world runbook.

2. Launch the TUI:

dops

3. Navigate with arrow keys, run with Enter, fill in parameters, and confirm.

4. Or launch the web UI:

dops open

5. Install a shared catalog:

dops catalog install https://github.com/your-org/runbooks.git

Catalog structure

Catalogs are directories of runbooks. Each runbook is a folder with a runbook.yaml and a script.sh:

my-catalog/
├── check-health/
│   ├── runbook.yaml
│   └── script.sh
└── deploy-service/
    ├── runbook.yaml
    └── script.sh

Runbook example

name: check-health
version: 1.0.0
description: Runs health checks against a service endpoint
risk_level: medium
script: script.sh
parameters:
  - name: endpoint
    type: string
    required: true
    description: The endpoint to check
    scope: global

See the runbook guide for the full YAML schema, parameter types, and shell scripting conventions.

(back to top)

Themes

dops ships with 20 built-in themes. Default: github.

dops config set theme=dracula
github dracula gruvbox nord
monokai synthwave nightowl one-dark
kanagawa everforest solarized espresso
unicorn ayu zenburn catppuccin-mocha
catppuccin-latte rosepine-dawn doop tokyomidnight

Set theme=rainbow for a random theme on every launch.

Custom themes go in ~/.dops/themes/<name>.json. See the configuration reference for the theme schema.

(back to top)

Web UI

Launch a browser-based interface with dops open:

dops open              # opens http://localhost:3000
dops open --port 8080  # custom port
dops open --no-browser # start server without opening browser

The web UI provides:

  • Searchable catalog sidebar with risk indicators
  • Parameter forms with saved values pre-filled
  • Risk confirmation dialogs for high/critical operations
  • Real-time execution log streaming with ANSI color support
  • Full theme support — mirrors your configured dops theme

The SPA is embedded in the Go binary — no Node.js required at runtime. See the Web UI guide for details.

(back to top)

MCP Integration

dops exposes runbooks to AI agents via the Model Context Protocol. Each runbook becomes an MCP tool with a JSON Schema.

Claude Code

Add to .claude/settings.json:

{
  "mcpServers": {
    "dops": {
      "command": "dops",
      "args": ["mcp", "serve"]
    }
  }
}

Docker

# stdio transport
docker run -i -v ~/.dops:/data/dops ghcr.io/rundops/dops:latest

# HTTP transport
docker run -p 8080:8080 -v ~/.dops:/data/dops ghcr.io/rundops/dops:latest --transport http --port 8080

See the MCP guide for details on risk controls, resources, and streaming.

(back to top)

Keyboard Shortcuts

Key Action
↑↓ Navigate / scroll
Enter Run runbook
←→ Collapse/expand catalog
/ Search
Tab Switch pane focus
? Help overlay
ctrl+x Stop execution
ctrl+shift+p Command palette
q Quit

See the full keyboard reference for output pane controls, search navigation, and wizard shortcuts.

(back to top)

Shell Completion

# Bash
dops completion bash > /etc/bash_completion.d/dops

# Zsh
dops completion zsh > "${fpath[1]}/_dops"

# Fish
dops completion fish > ~/.config/fish/completions/dops.fish

# PowerShell
dops completion powershell | Out-String | Invoke-Expression

(back to top)

Development

make build        # Build binary
make test         # Run tests
make vet          # Go vet
make lint         # golangci-lint
make web          # Build web UI (requires Node.js)
make screenshots  # Regenerate README hero screenshots and demo GIF (requires VHS)
make web-demo     # Record web UI demo GIF (requires Playwright + ffmpeg)
make docker       # Build Docker image
make ci           # Run CI checks (vet + test + build)

(back to top)

Getting Help

(back to top)

Support

If you find dops useful, consider buying me a coffee!

Buy Me a Coffee

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

from github.com/rundops/dops

Installing Dops

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/rundops/dops

FAQ

Is Dops MCP free?

Yes, Dops MCP is free — one-click install via Unyly at no cost.

Does Dops need an API key?

No, Dops runs without API keys or environment variables.

Is Dops hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Dops in Claude Desktop, Claude Code or Cursor?

Open Dops on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Dops with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs