Workflows Server
БесплатноПоддерживаетсяEnables AI agents to discover, understand, and execute complex multi-step workflows defined in YAML files through the Model Context Protocol.
Описание
Enables AI agents to discover, understand, and execute complex multi-step workflows defined in YAML files through the Model Context Protocol.
README
@cyanheads/workflows-mcp-server
Store, query, and create YAML workflow playbooks for LLM agents via MCP. STDIO or Streamable HTTP.
Overview
A declarative workflow library for LLM agents, backed by local YAML files. Store, list, and retrieve named, versioned multi-step playbooks — each a sequence of MCP server/tool calls — for permanent reuse or one-shot temporary runs. Runs as a stdio process or a local Streamable HTTP server; an in-memory index rebuilds automatically as files change.
Tools
| Tool | Description |
|---|---|
workflow_list |
List all permanent workflows in the index, with optional keyword, category, and tag filters. |
workflow_get |
Retrieve a complete workflow definition by name, with global instructions prepended. |
workflow_create |
Write a new permanent workflow YAML to the library. |
workflow_create_temp |
Write a temporary one-shot workflow, indexed but excluded from list results. |
workflow_delete |
Permanently remove a permanent workflow by name and optional version. |
Capability reference
workflow_list tool
- Optional keyword
queryfilter (case-insensitive substring across workflow name and description) - Optional category filter (case-insensitive substring match)
- Optional tag filter (AND match — all listed tags must be present)
- Set
includeTools: trueto surface the uniqueserver/toolpairs used across each workflow's steps - Temporary workflows are excluded; results sorted by name then version descending
- Empty results echo the applied filters with a hint to broaden
workflow_get tool
- Semver-aware: omit
versionto get the highest available match; specify a version for an exact lookup - Returns the full workflow YAML structure with all steps and metadata
- Injects the
global_instructions.mdcontent asglobalInstructions— apply these when executing the workflow;nullwhen the file is absent - Temporary workflows are accessible here even though excluded from
workflow_list - Template placeholders (
{{input.foo}},{{steps.X.output.Y}}) are returned verbatim — the server never interpolates them
workflow_create tool
- Workflow stored at
categories/<slugified-category>/<slugified-name>-<slugified-version>-workflow.yaml— one file pername@version, so multiple versions coexist - Rejects if
name@versionalready exists — bump the version to create a new revision - Server stamps
created_dateandlast_updated_dateautomatically - Index and snapshot rebuilt after write; filesystem watcher also fires (idempotent, debounced)
workflow_create_temp tool
- No conflict check — temp workflows are intentionally ephemeral and overwriteable
- Indexed and accessible via
workflow_getbut excluded fromworkflow_listresults - Useful for one-shot plans, short-lived scaffolding, or session-specific orchestration steps
workflow_delete tool
- Semver-aware: omit
versionto delete the highest available match; specify a version to target one exactly - Only permanent workflows can be deleted — temporary workflows are rejected (they expire on their own)
- Irreversible: the file is removed and the workflow no longer appears in
workflow_listorworkflow_get
Features
Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
Workflow library:
- YAML workflow files validated against a schema at index time; invalid files are skipped and logged, never crash the server
- In-memory index keyed by
name@version, built at startup fromworkflows-yaml/categories/recursively, kept fresh by a debounced recursive filesystem watcher on any add/change/remove - Semver-aware lookup — latest version returned when
versionis omitted _index.jsonsnapshot written on every rebuild for external tooling and debugging- Configurable
WORKFLOWS_DIR,GLOBAL_INSTRUCTIONS_PATH, and debounce interval
Agent-friendly output:
- Discriminated output —
source: "permanent" | "temp"on everyworkflow_getresponse and typedreasoncodes (not_found,version_not_found,already_exists,temp_not_allowed,index_unavailable, …) on failures, so callers branch on data instead of parsing error strings - No extra round trip —
workflow_getalways returnsglobalInstructionsalongside the workflow definition in the same response - Response shaping —
workflow_list's optionalincludeToolsflag pre-derives the uniqueserver/toolpairs used by a workflow, and an empty result echoes the applied filters with a broadening hint instead of returning nothing
Getting started
No API keys required. The server reads from a local workflows-yaml/ directory by default.
Add the following to your MCP client configuration file:
{
"mcpServers": {
"workflows-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/workflows-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"WORKFLOWS_DIR": "/absolute/path/to/your/workflows-yaml"
}
}
}
}
Or with npx (no Bun required):
{
"mcpServers": {
"workflows-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cyanheads/workflows-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"WORKFLOWS_DIR": "/absolute/path/to/your/workflows-yaml"
}
}
}
}
Or with Docker:
{
"mcpServers": {
"workflows-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "MCP_TRANSPORT_TYPE=stdio",
"-v", "/absolute/path/to/your/workflows-yaml:/workflows-yaml",
"-e", "WORKFLOWS_DIR=/workflows-yaml",
"ghcr.io/cyanheads/workflows-mcp-server:latest"
]
}
}
}
For Streamable HTTP, set the transport and start the server:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp
Seed workflows
The repository ships a workflows-yaml/ directory with example workflows organized under categories/. These are ready to use as a starting point. The workflows-yaml/global_instructions.md file contains instructions the server prepends to every workflow_get response — edit it to set global guidance for your agent.
Prerequisites
- Bun v1.4.0 or higher (or Node.js v24+).
- A local directory containing YAML workflow files (or use the bundled
workflows-yaml/seed).
Installation
- Clone the repository:
git clone https://github.com/cyanheads/workflows-mcp-server.git
- Navigate into the directory:
cd workflows-mcp-server
- Install dependencies:
bun install
- Configure environment:
cp .env.example .env
# edit .env if needed — most settings have defaults
Configuration
| Variable | Description | Default |
|---|---|---|
WORKFLOWS_DIR |
Absolute or relative path to the workflows root directory. | ./workflows-yaml |
GLOBAL_INSTRUCTIONS_PATH |
Path to the global instructions markdown file. Derives from WORKFLOWS_DIR when not set. |
<WORKFLOWS_DIR>/global_instructions.md |
WATCHER_DEBOUNCE_MS |
Milliseconds to debounce filesystem change events before rebuilding the index. | 500 |
MCP_TRANSPORT_TYPE |
Transport: stdio or http. |
stdio |
MCP_HTTP_PORT |
Port for HTTP server. | 3010 |
MCP_SESSION_MODE |
HTTP sessions: auto, stateful, or stateless. This server needs no caller-input round trips; setting the variable overrides the declared posture. |
stateless, declared in src/index.ts |
MCP_AUTH_MODE |
Auth mode: none, jwt, or oauth. |
none |
MCP_LOG_LEVEL |
Log level (RFC 5424). | info |
OTEL_ENABLED |
Enable OpenTelemetry instrumentation (spans, metrics, completion logs). | false |
See .env.example for the full list of optional overrides.
Running the server
Local development
Build and run:
# One-time build bun run rebuild # Run the built server bun run start:stdio # or bun run start:httpRun checks and tests:
bun run devcheck # Lint, format, typecheck, security bun run test # Vitest test suite bun run lint:mcp # Validate MCP definitions against spec
Docker
docker build -t workflows-mcp-server .
docker run --rm \
-v /path/to/workflows-yaml:/workflows-yaml \
-e WORKFLOWS_DIR=/workflows-yaml \
-p 3010:3010 \
workflows-mcp-server
The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/workflows-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.
Project structure
| Directory | Purpose |
|---|---|
src/index.ts |
createApp() entry point — registers tools and inits the workflow index service. |
src/config/ |
Server-specific environment variable parsing and validation with Zod. |
src/mcp-server/tools/ |
Tool definitions (*.tool.ts). |
src/services/workflow-index/ |
WorkflowIndexService — YAML parsing, index build, watcher, semver lookup, write helpers. |
tests/ |
Unit and integration tests mirroring src/. |
workflows-yaml/ |
Seed workflow library — categories/ for permanent workflows, temp/ for throwaway ones, global_instructions.md for agent-global guidance. |
Development guide
See CLAUDE.md for development guidelines and architectural rules. The short version:
- Handlers throw, framework catches — no
try/catchin tool logic - Use
ctx.logfor request-scoped logging - Register new tools via the barrel in
src/mcp-server/tools/definitions/index.ts - Filesystem operations go through
WorkflowIndexService, not directly in tool handlers
Contributing
Issues are welcome. Run checks and tests before submitting:
bun run devcheck
bun run test
License
Apache-2.0 — see LICENSE for details.
Установить Workflows Server в Claude Desktop, Claude Code, Cursor
unyly install workflows-mcp-serverСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add workflows-mcp-server --env MCP_TRANSPORT_TYPE="" --env WORKFLOWS_DIR="" -- npx -y @cyanheads/workflows-mcp-serverПошаговые гайды: как установить Workflows Server
FAQ
Workflows Server MCP бесплатный?
Да, Workflows Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Workflows Server?
Да, требуются переменные окружения: MCP_TRANSPORT_TYPE, WORKFLOWS_DIR. Unyly подставит их в конфиг при установке.
Workflows Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Workflows Server в Claude Desktop, Claude Code или Cursor?
Открой Workflows Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Изменения
Версии и запрашиваемые доступы со временем.
- Новая версия опубликована
- Новая версия опубликована
- Новая версия опубликована
- Новая версия опубликована
- Изменились запрашиваемые доступы+ MCP_TRANSPORT_TYPE+ WORKFLOWS_DIR
- Новая версия опубликована
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
Roblox Studio
Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce
автор: paralovOpencode Omniroute Plugin
OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @openc
автор: GitHub ActionsAWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
Compare Workflows Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
