Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

Explore

  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Tags index
  • Submit a server
  • Pricing

Learn

  • Guides hub
  • What is MCP?
  • Install guide
  • Troubleshooting
  • Security
  • Blog
  • Blog RSS

Tools

  • All tools
  • Config generator
  • Config validator
  • MCP playground
  • OpenAPI → MCP
  • Badge generator

For agents

  • API docs
  • Trust & traffic
  • llms.txt ↗ (opens in a new tab)
  • Catalog JSON ↗ (opens in a new tab)
  • Remote MCP ↗ (opens in a new tab)

Company

  • About
  • Contact
  • X (@AllMCPs) ↗ (opens in a new tab)
  • GitHub ↗ (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on Buildlist
© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ☁️ Cloud Platforms
  3. Workflow MCP
W
Health: Not checked yetWe have not completed a health check for this listing yet.Last checked 8/11/2026, 12:04:19 AM

Workflow MCP

Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time — check back soon.
View RepositoryVisit Website

Session-bound Docker workflow server through Codex. State is discarded with the container.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON ▾

Install Config Generator

Choose your client
claude_desktop_config.json
{
  "mcpServers": {
    "workflow-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "workflow-mcp"
      ]
    }
  }
}

💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

Install Directory Badge Claim listing Alternatives☁️ More in Cloud Platforms

Documentation Overview

workflow-mcp

Run Claude Code dynamic-workflow files through any agent provider — as a durable, resumable Model Context Protocol server.

Stars Forks Issues License Last commit


workflow-mcp is a standalone runtime and MCP server that executes Claude Code dynamic workflow files — the JavaScript orchestration programs that fan out dozens or hundreds of agent calls and return a single result — without requiring Claude to run them.

The whole project hangs on one promise:

A workflow authored for workflow-mcp can be copied into .claude/workflows/<name>.js and run by a compatible Claude Code release without changing the file — and a real Claude workflow file runs through this runtime without any importer or translation step.

Everything that isn't portable — which provider executes the agents, its credentials, the durable run cache, MCP run IDs, and UI state — lives in the runtime, never inside the .js file.

Why it exists

Claude Code workflows are a strong primitive: the JavaScript owns the loops, branches, fan-out, and aggregation, while each agent() call owns the model reasoning and side effects — keeping hundreds of intermediate results out of the parent conversation. But out of the box they come with three constraints:

  • Claude executes every agent node. There is no seam for another provider.
  • A run belongs to a Claude session. Its state lives inside that session directory, and it does not survive as an independently controllable object.
  • There is no server surface. Other tools cannot discover, launch, follow, or resume a run.

workflow-mcp keeps the exact same workflow file and lifts those constraints: the same .js runs through a provider-neutral engine (Codex today), every run is a durable object that survives restarts, and any MCP-capable host can drive it over a stable set of tools.

How it works

Two kinds of portability are kept deliberately separate — MCP solves the first, the provider interface solves the second:

text
MCP-capable host
      │  workflow_list · workflow_run · workflow_run_events · …
      ▼
WorkflowService  +  durable event store   ← the long-lived owner of runs
      ▼
Claude-compatible JavaScript runtime       ← agent/parallel/pipeline/phase/…
      ▼
provider-neutral AgentProvider
      ├─ Codex SDK  (@openai/codex-sdk)
      ├─ fake       (deterministic tests)
      └─ future providers
  • Claude-compatible runtime. A restricted, killable Node/V8 context that exposes exactly the globals Claude injects (agent, parallel, pipeline, phase, log, workflow, args, budget, top-level await/return) with the same discovery rules, metadata grammar, and cache identity. The behaviour is pinned to an observed Claude Code profile so future Claude releases add a new profile instead of silently breaking old runs.
  • Durable service. The WorkflowService — not any single MCP connection — owns runs. Every event is appended and fsynced before any subscriber sees it, so a run can be reconstructed after a renderer reload, a provider reconnect, or a process restart by replaying a strict event cursor.
  • Provider-neutral execution. The engine only knows an AgentProvider interface. The first real adapter drives the official Codex SDK; a deterministic fake provider runs the conformance suite. Model aliases (haiku/sonnet/opus) are host policy, never guessed.
  • Reliability. One work-conserving scheduler across all runs, supervised per-agent retries, one process-owned Codex host per attempt, a shared provider circuit breaker, single-writer fencing, and interrupted-run recovery that sparsely reuses already-completed siblings.

What you get

  • Portable workflow files — the same .js runs here and in Claude Code.
  • A durable MCP server — fourteen stable tools (workflow_list, workflow_author_guide, workflow_describe, workflow_validate, workflow_run, workflow_run_status, workflow_run_events, workflow_result_read, workflow_run_cancel, workflow_resume, workflow_agent_list, workflow_agent_result_read, workflow_agent_results_read, workflow_agent_transcript_read) over stdio or an authenticated loopback HTTP transport.
  • Per-agent inspection — a finished run is not just its final value. List its logical agents with attempt history, then read any single agent's complete untruncated output, or sweep them all in one paginated walk.
  • Immediate run handles — workflow_run returns a run ID at once; clients follow progress by polling a durable cursor, not a transport-specific push.
  • Unattended best-effort completion — retryable read-only work restarts in a fresh provider thread. An exhausted or unsafe logical assignment becomes a versioned __workflowAgentFailure coverage gap, while independent siblings and final synthesis continue. Such runs finish as completed_with_errors; only persistence or supervisor faults fail the complete run.
  • Resume — continue a managed run, or import-and-resume a real Claude run after verifying its source and journal byte-identity. Exact source/arguments reuse completed calls sparsely; automatic crash recovery also preserves terminal coverage gaps, while an explicit manual resume retries those gaps. Edited source retains the longest unchanged prefix. MCP callers may pass a managed run_* ID or Claude's native wf_* ID; Claude's own files are never rewritten. For exact-source Claude imports, bounded hashes of the original subagent prompts preserve completed dynamic-pipeline siblings even when cached parents settle in a different order; raw prompt text is not copied into the workflow-mcp sidecar.
  • An embeddable service — the same WorkflowService and tool registrar that the CLI uses can be mounted inside another host (this is how Agent Code renders each run as a live feed card) instead of starting a second server.
  • A browser-safe state entry — workflow-mcp/state exposes the event union and pure reducer with no filesystem, MCP, or Codex code, so a renderer can project run state without pulling server code into its bundle.

Getting started

The Docker-first standalone product needs no host Node or Codex installation. It ships one project-scoped daemon, a Codex MCP proxy, terminal UI, optional local web UI, isolated credentials, and durable named-volume state. Start with the verified release and operator guide in standalone/README.md; the full decisions and support boundaries are in standalone/docs/adr.

For core-library development, Node ≥ 20.19 is required. A source checkout can build and test both the provider-neutral runtime and isolated standalone package:

Terminal
npm install --include=dev
npm run build
npm run check

Then drive a workflow from the CLI:

bash
# Validate one workflow file (direct paths do not need a .js extension).
node dist/cli.js validate ./path/to/workflow.js

# List personal and project workflows visible from a directory.
node dist/cli.js list ./path/to/project

# Run through the Codex SDK. Events are JSONL on stderr; the final result is
# JSON on stdout. The optional second argument is one JSON value exposed as `args`.
node dist/cli.js run ./path/to/workflow.js '{"files":["src/index.ts"]}'

# Resume a persisted Claude run (imported runs are read-only).
node dist/cli.js resume /path/to/claude/session/workflows/wf_id.json

# Serve over stdio, scoped to one project.
node dist/cli.js serve --stdio /path/to/project

# Serve over an authenticated loopback Streamable HTTP endpoint (URL + bearer
# token are printed once to stderr).
node dist/cli.js serve --http /path/to/project 0

Once served, both workflow_resume({ runId: "wf_..." }) and workflow_run({ resumeFromRunId: "wf_..." }) discover that Claude run inside the scoped project's Claude state. Use claudeRunPath only when duplicate historical metadata requires explicit selection.

Reading a complete result

Every newly completed service run stores one immutable UTF-8 result artifact. The compact workflow_run_status.run.result reference and the run.completed event both include its artifactId, media type, total UTF-8 byte count, line count, and SHA-256 checksum. When truncated is true, inline content is only a display prefix; it is not the complete result.

workflow_result_read accepts only a scoped runId plus that opaque artifactId—never a filesystem path. Pages default to 16 KiB and may request 4 through 65,536 bytes. Page ends are moved backward when necessary so concatenating content never splits a UTF-8 code point:

server.ts
import { createHash } from 'node:crypto'

const statusCall = await client.callTool({
  name: 'workflow_run_status',
  arguments: { runId },
})
const status = statusCall.structuredContent as {
  run: {
    result: {
      artifactId: string
      checksum: { algorithm: 'sha256'; value: string }
    }
  }
}

const parts: string[] = []
let cursor: string | undefined
for (;;) {
  const call = await client.callTool({
    name: 'workflow_result_read',
    arguments: {
      runId,
      artifactId: status.run.result.artifactId,
      ...(cursor === undefined ? {} : { cursor }),
      maxBytes: 16_384,
    },
  })
  const { page } = call.structuredContent as {
    page: { content: string; hasMore: boolean; nextCursor?: string }
  }
  parts.push(page.content)
  if (!page.hasMore) break
  if (page.nextCursor === undefined) throw new Error('missing continuation cursor')
  cursor = page.nextCursor
}

const completeResult = parts.join('')
const digest = createHash('sha256').update(completeResult, 'utf8').digest('hex')
if (digest !== status.run.result.checksum.value) throw new Error('result integrity mismatch')

String results are raw text/plain; objects, arrays, numbers, booleans, and null are pretty printed application/json; JavaScript undefined is the text/plain bytes undefined. An empty string has zero bytes and zero lines. A top-level string containing a lone UTF-16 surrogate fails before completion because it has no lossless UTF-8 representation. Non-terminal runs return result-not-ready; failed, cancelled, or interrupted runs return result-unavailable; a completed legacy run without an artifact also returns result-unavailable; and missing retained bytes return result-expired. Malformed, stale, or non-UTF-8-boundary cursors return invalid-cursor.

FileWorkflowStore retains result bytes with the run directory and defaults to a 64 MiB result ceiling. Configure maxResultBytes when constructing the store if the host needs a different bounded policy (up to the hard 512 MiB safety ceiling). A result over that ceiling fails the run before run.completed rather than publishing another irreversible prefix. The direct workflow-mcp run CLI still writes its full result to stdout; the paginated contract applies to durable service/MCP runs.

Embedding

The public API uses plain names and hands the host full control of the MCP server, transport, and authentication lifecycle:

server.ts
import {
  CodexAgentProvider,
  FileWorkflowStore,
  WorkflowService,
  registerWorkflowMcpTools,
} from 'workflow-mcp'

const service = new WorkflowService({
  store: new FileWorkflowStore('/private/application/state/workflows'),
  provider: () => new CodexAgentProvider({
    codexPathOverride: '/approved/codex',
    // Required before a host may attest that normal user/project MCP servers cannot leak into
    // an automatically replayed read-only workflow attempt.
    configurationIsolation: {
      codexHome: '/private/application/state/workflow-codex',
      authenticationFile: '/home/user/.codex/auth.json',
      // This must come from inspection of the exact executable plus user/project/system/managed
      // configuration layers. Omit it and use "unknown" below when the host cannot prove that.
      effectiveConfigurationFingerprint: verifiedCodexPolicyDigest,
    },
    capabilities: { inheritedMcpServers: 'disabled' },
  }),
  sandbox: { mode: 'read-only', approvalPolicy: 'never', network: false },
})
await service.initialize()

// The host still owns McpServer and its transport/authentication.
registerWorkflowMcpTools(mcpServer, service, { cwd: projectDirectory, clientId: sessionId })

Documentation

  • docs/ARCHITECTURE.md — the full technical reference: the pinned Claude-workflow compatibility profile, the exact runtime realm, discovery/precedence, cache and resume mechanics, the MCP architecture, the Codex SDK findings, and the conformance matrix.
  • docs/EXECUTION_PLAN.md — the phased build decisions.
  • docs/RELIABILITY_IMPLEMENTATION_PLAN.md — the unattended-execution and failure-domain plan.

Agent Code and standalone use

workflow-mcp began as a feature of Agent Code — an open-source Electron IDE for driving the real Claude Code and Codex CLIs across a multi-agent workspace. Agent Code embeds this runtime through its existing MCP host and renders each run as a live, first-class feed card: phases and agents as vertical lists, with prompt, activity, and outcome expandable inline.

That embedded path remains supported, but it is no longer required. The Docker-first product above adds the supervised owner, project-scoped Codex MCP proxy, terminal and optional browser clients, credential and authoring controls, offline maintenance, and verified release machinery needed to run without the desktop application. Generic OCI/MCP-registry mode is intentionally session-bound; use the checksummed Compose bundle when runs must outlive an MCP client connection.

Status

The loader, execution runtime, durable service, MCP facade, Agent Code embedding, and Docker-first standalone implementation are in place. The first stable container release still requires the external platform qualification, protected release controls, and registry publication documented in the standalone implementation ledger. Compatibility is pinned to an observed Claude Code profile — a snapshot of a fast-moving upstream, not a promise about future versions.

License

MIT

Related MCP Servers

View all in Cloud Platforms View all alternatives
  • U
    Unraid RMCP

    Rust MCP server and CLI for Unraid GraphQL operations across NAS, Docker, VM, and storage workflows.

    ☁️ Cloud Platforms0 views
    Compare vs Unraid RMCP →
  • Mcp Server Kubernetes logoMcp Server Kubernetes

    /🏠 - Typescript implementation of Kubernetes cluster operations for pods, deployments, services.

    ☁️ Cloud Platforms0 views
    Compare vs Mcp Server Kubernetes →
  • Arcane RMCP logoArcane RMCP

    Rust MCP server and CLI for Arcane Docker and container management.

    ☁️ Cloud Platforms0 views
    Compare vs Arcane RMCP →
  • Arcane RMCP logoArcane RMCP

    Arcane Docker and Compose management over MCP and CLI with authenticated stdio and HTTP.

    ☁️ Cloud Platforms0 views
    Compare vs Arcane RMCP →

Frequently Asked Questions about Workflow MCP

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "workflow-mcp": { "command": "npx", "args": ["-y", "Workflow MCP"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewWorkflow MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/workflow-mcp?style=directory)](https://allmcps.com/mcp/workflow-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/workflow-mcp"><img src="https://allmcps.com/api/badge/workflow-mcp?style=directory" alt="Workflow MCP on AllMCPs" /></a>

Technical Specs & Signals

Category☁️Cloud Platforms
More technical detailsExpand ▾
TransportSTDIO
RuntimeDocker
0/5 checks healthy over the last 6h
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging · 27/100How this signal is calculated ▾
Server availabilityNot measured

Not scored for repo-hosted servers — we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data — not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

★ FeaturedAllMCPs Server logo

AllMCPs Server

The official MCP server for AllMCPs.com - submit and manage tools directly from your AI. The open directory for MCP servers. Connect Claude, Cursor, Windsurf, and AI agents to databases, tools, files, and APIs. Explore 3,181+ servers. AllMCPs is the premier, open directory for discovering, evaluating, and installing Model Context Protocol (MCP) servers to equip AI agents and LLMs with real-world superpowers.

Explore Server →

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge.

Free dofollow backlink: after claiming, verify your product site and place a dofollow AllMCPs badge — we recheck it stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ☁️ Cloud Platforms →Best MCP servers for Cloud Platforms →Alternatives to Workflow MCP →Install in Claude DesktopInstall in CursorInstall in VS Code