Skip to content
Conduit

mcp server

dojops

⚡ AI Automation Engine

dojops/dojopscommunitylistedunreviewednot running here yet

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 14, 2026

Why DojOps?

Writing Terraform, Kubernetes, and CI/CD configs by hand is slow. Using an LLM to generate them is fast but risky: no schema enforcement, no execution controls, no audit trail. Compliance teams can't sign off on configs they can't verify.

DojOps sits between you and your LLM provider. It constrains output to Zod schemas, validates configs with external tools (terraform validate, hadolint, kubectl dry-run), writes files through a sandbox with approval gates, and logs every action to a tamper-proof audit chain.

You → DojOps CLI → Agent Router → Specialist Agent → LLM Provider
                         ↓                ↓
                   Skill Engine     Schema Validation
                         ↓                ↓
                   Policy Engine → Sandbox → File Write → Audit Log

At a glance

32 specialist agentsTerraform, Kubernetes, CI/CD, security, Docker, cloud, SRE, incident response, and more
38 built-in skills.dops v2 manifests for GitHub Actions, Terraform, K8s, Helm, Docker, Nginx, Falco, Vault, Istio, EKS, and others
7 LLM providersOpenAI, Anthropic, Ollama (local), DeepSeek, Mistral, Google Gemini, GitHub Copilot
10 security scannersTrivy, Gitleaks, Checkov, Semgrep, Hadolint, ShellCheck, npm/pip audit, SBOM, license scan
12 packagesModular monorepo - CLI, API, runtime, planner, executor, scanner, core, SDK, and more
23 REST endpointsFull HTTP API with web dashboard, metrics, and token tracking
0 telemetryNothing leaves your machine except requests to your chosen LLM provider

Quick start

# Install
npm i -g @dojops/cli

# Configure your LLM provider
dojops config

# Generate your first config
dojops "Create a Kubernetes deployment for nginx with 3 replicas"
# Homebrew (macOS / Linux)
brew tap dojops/tap && brew install dojops

# Shell script
curl -fsSL https://raw.githubusercontent.com/dojops/dojops/main/install.sh | sh

# Docker
docker run --rm -it ghcr.io/dojops/dojops "Create a Terraform config for S3"

See the installation guide for provider setup and configuration.


How it works

# Describe what you need - the right skill and agent are selected automatically
dojops "Create a Terraform config for S3 with versioning"

# Break complex goals into dependency-aware task graphs
dojops plan "Set up CI/CD for a Node.js app with Docker deployment"

# Execute the plan with approval workflow
dojops apply plan-abc123

# Autonomous mode - plan, execute, verify, self-repair
dojops auto "Add Kubernetes HPA and PDB to my deployment"

# Scan for vulnerabilities before shipping
dojops scan

# Interactive chat session with agent routing
dojops chat

# Web dashboard + REST API
dojops serve

Your prompt gets routed to the right specialist agent. The LLM output is locked to a Zod schema, validated by external tools, then written to disk through the sandbox. If something fails mid-plan, dojops apply --resume picks up where it left off.


Key capabilities

Every prompt is analyzed and routed to the best-fit agent. You don't pick agents manually - the router does it based on keyword matching and confidence scoring.

AgentDomainWhat it handles
ops-cortexorchestrationMeta-agent that coordinates across domains
terraform-specialistinfrastructureTerraform configs, modules, state management
kubernetes-specialistcontainersK8s manifests, deployments, services, RBAC
cicd-specialistCI/CDGitHub Actions, GitLab CI, Jenkins pipelines
security-auditorsecurityVulnerability assessment, compliance checks
docker-specialistcontainersDockerfiles, Compose, multi-stage builds
cloud-architectcloudAWS, GCP, Azure architecture decisions
gitops-specialistgitopsArgoCD, Flux, GitOps workflows
sre-specialistreliabilitySLOs, error budgets, reliability patterns
incident-responseincidentsRunbook generation, root cause analysis
cost-optimizercostCloud spend analysis, right-sizing
chaos-engineerresilienceChaos experiments, failure injection
platform-engineerplatformInternal developer platforms, golden paths
container-securitysecurityImage scanning, runtime policies, admission control
secret-managementsecretsVault, sealed secrets, rotation policies
api-security-specialistAPI securityOWASP API Top 10, rate limiting, auth patterns
policy-engine-specialistpolicyOPA, Gatekeeper, policy-as-code
+ 15 moreNetwork, database, compliance, observability, shell, Python, ...

Create custom agents with dojops agents create or drop a YAML file in .dojops/agents/.

Each skill is a .dops v2 manifest with output guidance, best practices, and optional Context7 documentation. The runtime compiles a prompt from the skill definition and your input, sends it to the LLM, and validates the output.

SkillFormatWhat it generates
github-actionsYAMLCI/CD workflows, validated by actionlint
terraformJSONHCL configs, validated by terraform validate
kubernetesYAMLDeployments, services, RBAC, validated by kubeconform
helmYAMLCharts, values files, templates
ansibleYAMLPlaybooks, roles, inventories
docker-composeYAMLMulti-service compose files
dockerfileDockerfileMulti-stage builds, validated by hadolint
nginxconfServer blocks, reverse proxy, TLS
prometheusYAMLAlert rules, recording rules, targets
grafanaJSONDashboard definitions
cloudformationJSONAWS CloudFormation stacks
argocdYAMLApplications, ApplicationSets, projects
vaultJSONPolicies, secret engines, auth methods
istioYAMLVirtualServices, DestinationRules, AuthorizationPolicies
falcoYAMLRuntime security rules, macros, exceptions
eksYAMLEKS cluster configs, node groups, add-ons
cert-managerYAMLClusterIssuers, Certificates, ACME config
opa-gatekeeperYAMLConstraintTemplates, Constraints, Rego policies
fluxYAMLGitRepository, Kustomization, HelmRelease
trivy-operatorYAMLVulnerabilityReports, ConfigAuditReports
shellsh/bashShell scripts, validated by ShellCheck
pythonpyPython automation scripts
powershellps1PowerShell scripts for Windows automation
packerJSONMachine image definitions, validated by packer validate
+ 10 morePulumi, Kustomize, Crossplane, Terragrunt, Makefile, ...

Write your own skills as .dops v2 manifests and share them on the DojOps Hub. Skills are auto-installed from the Hub when a prompt matches.

DojOps works with any of these providers. You pick one, or let the tiered router select the right model based on task complexity.

ProviderFast tierStandard tierPremium tier
OpenAIgpt-4o-minigpt-4oo1
Anthropicclaude-haiku-4-5claude-sonnet-4-6claude-opus-4-6
Ollama (local)llama3.2:3bllama3.1:8bllama3.1:70b
DeepSeekdeepseek-chatdeepseek-chatdeepseek-reasoner
Mistralmistral-smallmistral-mediummistral-large
Google Geminigemini-2.0-flashgemini-2.5-progemini-2.5-pro
GitHub Copilotgpt-4o-minigpt-4oo1

Simple prompts (makefile, basic configs) get the fast tier. Complex prompts (multi-service architectures, security hardening) get the premium tier. Agent routing always uses the fast tier to keep costs low.

Override with DOJOPS_MODEL=your-model or dojops config --model gpt-4o.

Run dojops scan to check your project. Scanners run in parallel and results are aggregated into a single report.

ScannerWhat it checks
TrivyContainer images, filesystems, IaC misconfigs
GitleaksSecrets, API keys, tokens in source code
CheckovTerraform, CloudFormation, K8s policy violations
SemgrepCustom SAST rules, code patterns
HadolintDockerfile best practices
ShellCheckShell script correctness and portability
npm auditNode.js dependency vulnerabilities
pip auditPython dependency vulnerabilities
Trivy SBOMSoftware bill of materials generation
Trivy LicenseLicense compliance scanning

Use dojops scan --auto-fix to generate a remediation plan with confidence-scored fix suggestions. Pass --yes to apply safe fixes automatically.

dojops plan breaks a complex goal into a directed acyclic graph of tasks. Each task is assigned to a specialist agent and a skill. Dependencies are tracked so tasks run in the right order, with parallel execution where possible.

$ dojops plan "Set up CI/CD with Docker deployment"

  Tasks (6):
    analyze-existing-ci          [cicd-specialist]
    create-docker-build-action   [docker-specialist]  (after: analyze-existing-ci)
    create-cd-workflow           [cicd-specialist]     (after: create-docker-build-action)
    update-ci-workflow           [cicd-specialist]     (after: create-docker-build-action)
    create-docker-compose        [docker-specialist]
    update-dockerfile            [docker-specialist]

  Plan saved as plan-9219de4f
  To execute: dojops apply plan-9219de4f

dojops apply runs each task through the sandbox: generate → verify → approve → write → audit. If a task fails, fix the issue and run dojops apply --resume to continue from where it stopped.

dojops auto reads your project, plans changes, writes configs, runs verification, and self-repairs on failure in an iterative tool-use loop.

# Foreground - watch the agent work
dojops auto "Add Kubernetes HPA and PDB to my deployment"

# Background - check results later
dojops auto --background "Create a complete CI pipeline"
dojops auto runs abc123  # check status

The agent loop runs until the plan succeeds or reaches the retry limit. Each iteration: generate → validate → if errors → re-prompt with error context → retry.

dojops serve starts an Express server with API key authentication, CORS, and optional TLS.

MethodPathWhat it does
GET/api/healthAuth status + provider check
POST/api/generateAgent-routed LLM generation
POST/api/planGoal decomposition + optional execution
POST/api/debug-ciCI log diagnosis
POST/api/diffInfrastructure diff analysis with risk scoring
POST/api/scanRun security scanners
POST/api/chatChat message with agent routing
POST/api/reviewDevSecOps code review pipeline
POST/api/autoAutonomous agent (background: HTTP 202)
GET/api/agentsList all specialist agents
GET/api/metricsDashboard metrics (overview, security, audit, tokens)
GET/api/historyExecution history with audit verification
+ 11 moreSessions, chat CRUD, metrics breakdowns, auto run status

The web dashboard at http://localhost:3000 shows agent usage, scan findings, execution history, and token consumption. Protect it with DOJOPS_API_KEY or dojops serve credentials.

Every file write goes through the policy engine:

LayerWhat it enforces
Write scopeOnly paths matching skill's scope.write globs are writable
File size limitsRejects outputs exceeding configured limits
Approval gatesInteractive confirmation before destructive writes
Backup on update.bak file created before overwriting existing configs
TimeoutOperations killed after configured timeout
Env restrictionsOnly allowed environment variables are accessible

Every action is logged to .dojops/audit.jsonl as a hash-chained entry. Each record includes a SHA-256 hash of the previous record, making the chain tamper-evident. Verify integrity with dojops history verify.

Diff risk classification scores changes heuristically (critical paths like Dockerfile, terraform state, and secrets get higher risk scores) and suggests reviewers.

As MCP client: connect any Model Context Protocol server to add tools to the agent loop.

# Add an MCP server
dojops mcp add my-server -- npx my-mcp-server

# Tools are auto-discovered and available in generate/plan/auto
dojops "Use my-tool to check the deployment status"

As MCP server: expose DojOps capabilities to external CLI agents (Claude Code, Gemini CLI, GitHub Copilot, OpenClaw).

# Start DojOps as an MCP server (stdio transport)
dojops serve --mcp

# Or run standalone
npx @dojops/mcp

External agents configure DojOps as a tool server:

{ "command": "dojops", "args": ["serve", "--mcp"] }

9 tools are exposed: generate, plan, scan, debug-ci, diff-analyze, chat, list-agents, list-skills, repo-scan. Each proxies to a running dojops serve instance.


What DojOps is not

DojOps generates and validates infrastructure configs. It does not:

  • Replace your CI/CD system - it generates the configs for it
  • Manage cloud state - it writes Terraform files, it doesn't run terraform apply
  • Run in production as a service - it's a CLI and dev-time API server
  • Require an internet connection beyond your LLM provider - everything else is local

Architecture

@dojops/cli              CLI entry point, terminal UI (@clack/prompts)
@dojops/api              REST API (Express), web dashboard, 23 endpoints
@dojops/skill-registry   Skill registry, custom skill + agent discovery
@dojops/planner          Task graph decomposition, topological executor
@dojops/executor         Sandbox, policy engine, approval, audit log
@dojops/runtime          38 built-in DevOps skills (.dops v2)
@dojops/scanner          10 security scanners, auto-remediation
@dojops/mcp              MCP client + server, tool discovery, stdio transport
@dojops/context          Context7 documentation augmentation
@dojops/session          Chat session management, project memory
@dojops/core             LLM abstraction (7 providers), 32 specialist agents, tiered routing
@dojops/sdk              BaseSkill<T>, Zod validation, file utilities
cli -> api -> skill-registry -> runtime -> core -> sdk
          -> planner -> executor
          -> scanner
          -> mcp -> core
          -> context -> core
          -> session -> core
StepPackageWhat happens
1. ParsecliParse flags, detect subcommand (generate, plan, auto, scan, ...)
2. RoutecoreAgentRouter matches prompt keywords to specialist agents
3. Skill matchskill-registrySKILL_KEYWORDS map auto-selects the right .dops skill
4. CompileruntimecompilePromptV2() merges skill template + user input + docs
5. GeneratecoreLLM provider generates output, tiered model selection
6. ValidateruntimeStrip code fences, structural validation, external tool checks
7. Self-repairruntimeIf validation fails, re-prompt with errors (up to 2 retries)
8. Policy checkexecutorWrite scope, file size, timeout, environment restrictions
9. ApprovecliShow diff preview, prompt for confirmation
10. WriteexecutorAtomic write with .bak backup, restricted to allowed paths
11. AuditexecutorHash-chained log entry in .dojops/audit.jsonl

See docs/architecture.md for the full design.


Ecosystem

DojOps is more than the CLI. The organization includes several companion projects:

RepositoryWhat it is
dojopsMain monorepo - this repo
dojops-hubSkill marketplace - publish, search, install .dops skills
dojops-super-agentAutonomous agent - polls Jira/GitLab tickets, runs dojops, pushes PRs
dojops-connectorsConnector SDK - GitHub, GitLab, Jira integrations
dojops-consoleLicensing portal - license management and billing dashboard
dojops-docDocumentation site - doc.dojops.ai
dojops.aiMarketing website - dojops.ai
homebrew-tapHomebrew formula for macOS/Linux

Development

git clone https://github.com/dojops/dojops.git
cd dojops
pnpm install
pnpm build              # Build all 12 packages via Turbo
pnpm test               # Run 2,600+ tests
pnpm lint               # ESLint across all packages

# Per-package
pnpm --filter @dojops/core test

# Run locally without global install
pnpm dojops -- "Create a Terraform config for S3"

Requires Node.js >= 20 and pnpm >= 8.


Privacy

DojOps does not collect telemetry. No project data leaves your machine except to your configured LLM provider. Generated configs, audit logs, and scan reports all stay in your local .dojops/ directory.

When you use Ollama, nothing leaves your machine at all.


Contributing

See the contributing guide for setup, coding standards, and how to add skills and agents.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Make your changes with tests
  4. Run pnpm test && pnpm lint
  5. Submit a pull request

License

MIT

↑↓ navigate openesc close