About
the do(ops) cli
README
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 open
dops mcp serve
Table of Contents
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.
Features
- Interactive TUI — sidebar catalog tree, metadata panel, live output pane, and wizard-driven parameter input
- Web UI — browser-based interface via
dops openwith 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 deployinstead 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 historyand 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: skillrunbooks - 20 themes — github, dracula, gruvbox, nord, synthwave, unicorn, and more
- CLI mode — run any runbook non-interactively with
dops run <id> --param key=value
Screenshots (click to expand)
TUI — Startup
TUI — Sidebar search
TUI — Wizard parameter input
TUI — Multi-select
TUI — Risk confirmation
TUI — Live execution output
TUI — Output search
TUI — Help overlay
Web UI — Catalog & parameter form
Web UI — Execution log

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
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.
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.
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.
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.
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.
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
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)
Getting Help
- Documentation — guides, reference, and configuration
- GitHub Issues — bug reports and feature requests
- CLI Reference — all commands and flags
Support
If you find dops useful, consider buying me a coffee!
License
Distributed under the MIT License. See LICENSE for more information.
Installing Dops
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/rundops/dopsFAQ
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
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Dops with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
