Runbook is an MCP server that exposes development tasks defined in YAML as MCP tools. The same task definitions work from the CLI for humans and through MCP for AI agents.
The problem
AI coding agents don't know how to run your project. You can write instructions, add context, give them everything they need, and they'll still fumble around trying to piece together the right commands from execution outputs or scrape through long-running daemon logs for information. The more steps involved, the more context they burn and the more they drift.
I built Runbook because I needed agents to stop improvising and start using a standard and expected workflow. When you give an agent MCP tools to do the thing, it goes that route every time over shell commands. It saves time, saves context, and eliminates the frustration of watching an agent reinvent something that's already defined.
How it works
Tasks are defined in YAML files under a `.runbook/` directory. Each task has a name, description, command, and type (oneshot or daemon). Runbook merges all the YAML files together, so you can split configuration by concern without a single massive file.
When Runbook runs as an MCP server, every task becomes a tool the agent can discover and call directly. But it goes beyond task execution. You can define prompts and resources through MCP as well, giving the agent a native way to access project context instead of fishing for it. Override files let you control visibility per task, so you can hide things from the agent while keeping them accessible from the CLI.
Runbook also handles workflow composition, prompt templates with Go template syntax, and full daemon management with logging and session tracking. It's a single Go binary with no runtime dependencies.