Labsco
MCP SERVER

MCP Workflow Orchestration Server

by cyanheads

Keep your agent's playbooks as YAML files on disk and let it list, fetch, and write them through MCP.

Reasoning Scaffolds & Agent Workflow Engines
Summary
Playbooks live as files you can review in a pull request, not as prompt text pasted into a chat.

workflow_get returns the workflow together with the global instructions in the same response, so the agent never needs a second call to know how to run it. The filesystem watcher rebuilds the index on any edit, which means you can change a playbook in your editor and the running server picks it up.

What it is

A workflow library served over MCP. It indexes a directory of YAML playbooks by name and version at startup, watches the filesystem for changes, and hands complete workflow definitions to an agent on request.

What you get
  • workflow_list — list permanent workflows, filtered by keyword, category or tags; set includeTools to surface the server/tool pairs each workflow depends on
  • workflow_get — fetch a complete workflow by name, semver-aware, with the global instructions document already attached
  • workflow_create — write a new permanent workflow, one file per name and version, so revisions coexist
  • workflow_create_temp — write a throwaway one-shot workflow that is retrievable but stays out of list results
  • workflow_delete — remove a permanent workflow by name and optional version
  • Typed errors with reason codes such as not_found, version_not_found and already_exists, so a caller can branch instead of parsing messages
  • Template placeholders come back verbatim — the server never interpolates them
Requirements

No API keys. Bun v1.3.0 or higher, or Node.js v24+, and a directory of YAML workflow files — the repository ships a seed library you can start from. Point WORKFLOWS_DIR at it; GLOBAL_INSTRUCTIONS_PATH and WATCHER_DEBOUNCE_MS are optional overrides. Runs over stdio or Streamable HTTP, and ships as a Docker image.

Setup effort

One command — bunx @cyanheads/workflows-mcp-server@latest