workflows-mcp


Nameworkflows-mcp JSON
Version 4.4.0 PyPI version JSON
download
home_pageNone
SummaryMCP server for DAG-based workflow execution with YAML definitions and LLM collaboration
upload_time2025-11-02 14:09:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords automation claude dag llm-collaboration mcp workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Workflows MCP

**A Model Context Protocol (MCP) server that turns complex automation into simple workflow definitions.**

Think of it as your personal automation assistant—define what you want done in YAML, and this MCP server handles the execution. Perfect for CI/CD pipelines, Python development workflows, git operations, or any multi-step automation you can dream up.

## What's This All About?

Workflows MCP is an MCP server that exposes workflow execution capabilities to AI assistants like Claude. Instead of writing the same bash scripts over and over, you define workflows once and execute them with a single tool call.

Each workflow is a DAG (Directed Acyclic Graph) of tasks that can run in parallel or sequence, with smart variable substitution, conditionals, and the ability to compose workflows together. It's like having GitHub Actions, but integrated directly into your AI assistant.

## Quick Start

### Installation

```bash
# Using uv (recommended)
uv pip install workflows-mcp

# Or with pip
pip install workflows-mcp
```

### Configuration

**Option 1: Install via QTS Marketplace (Claude Desktop & Claude Code)**

Install the `workflows` plugin from the [qtsone marketplace](https://github.com/qtsone/marketplace) which includes:
- 🤖 **workflows-specialist agent** - Dedicated agent for workflow orchestration
- 📚 **workflows-expert skill** - Comprehensive knowledge base and best practices
- ⚙️ **MCP auto-configuration** - Automatic workflows-mcp server setup

```bash
# Add the marketplace (one-time setup)
/plugin marketplace add qtsone/marketplace

# Install the workflows plugin
/plugin install workflows@qtsone
```

The plugin automatically configures the MCP server with custom workflow directories: `~/.workflows` and `./.workflows`

**Option 2: Manual MCP Configuration (Any MCP-Compatible LLM)**

```json
{
  "mcpServers": {
    "workflows": {
      "command": "uvx",
      "args": [
        "workflows-mcp",
        "--refresh"
      ],
      "env": {
        "WORKFLOWS_TEMPLATE_PATHS": "~/.workflows,./.workflows",
        "WORKFLOWS_LOG_LEVEL": "INFO",
        "WORKFLOWS_MAX_RECURSION_DEPTH": "50"
      }
    }
  }
}
```

All `env` variables are optional. The `--refresh` flag is recommended to ensure `uvx` always fetches the latest version of `workflows-mcp`. For Gemini CLI, this configuration would be in `~/.gemini/settings.json`.

Restart your LLM client, and you're ready to go!

## ✨ Features

- **DAG-Based Workflows**: Automatic dependency resolution and parallel execution
- **🔐 Secrets Management**: Server-side credential handling with automatic redaction (v5.0.0+)
- **Workflow Composition**: Reusable workflows via Workflow blocks
- **Conditional Execution**: Boolean expressions for dynamic control flow
- **Variable Resolution**: Five-namespace system (inputs, metadata, blocks, secrets, __internal__)
- **File Operations**: CreateFile, ReadFile, RenderTemplate with Jinja2
- **HTTP Integration**: HttpCall for REST API interactions
- **Interactive Workflows**: Prompt blocks for user input
- **MCP Integration**: Exposed as tools for LLM agents via Model Context Protocol

### 🔐 Secrets Management

Securely manage API keys, passwords, and tokens in workflows:

```yaml
blocks:
  - id: call_github_api
    type: HttpCall
    inputs:
      url: "https://api.github.com/user"
      headers:
        Authorization: "Bearer {{secrets.GITHUB_TOKEN}}"
```

**Key Features:**

- ✅ **Server-side resolution** - Secrets never reach LLM context
- ✅ **Automatic redaction** - Secret values sanitized from all outputs
- ✅ **Fail-fast behavior** - Missing secrets cause immediate workflow failure
- ✅ **Audit logging** - Comprehensive tracking for compliance

**Configuration:**

```json
{
  "mcpServers": {
    "workflows": {
      "env": {
        "WORKFLOW_SECRET_GITHUB_TOKEN": "ghp_xxx",
        "WORKFLOW_SECRET_OPENAI_API_KEY": "sk-xxx"
      }
    }
  }
}
```

## What Can You Do With It?

### Built-in Workflows

The server comes with ready-to-use workflows for common tasks:

**Python Development:**

- `python-ci-pipeline` - Complete CI pipeline (setup, lint, test)
- `setup-python-env` - Set up Python environment with dependencies
- `lint-python` - Run ruff and mypy
- `run-pytest` - Execute tests with coverage

**Git Operations:**

- `git-checkout-branch` - Create and checkout branches
- `git-commit` - Stage and commit changes
- `git-status` - Check repository status

**File Processing:**

- `generate-readme` - Create README files from templates
- `process-config` - Transform configuration files

**Examples & Tutorials:**

- `hello-world` - The simplest possible workflow
- `parallel-processing` - Run tasks in parallel
- `conditional-pipeline` - Use conditions to control flow

### Available Tools

Claude can use these MCP tools to work with workflows:

- **execute_workflow** - Run a workflow with inputs
- **execute_inline_workflow** - Execute YAML directly without registration
- **list_workflows** - See all available workflows (optionally filter by tags)
- **get_workflow_info** - Get detailed info about a workflow
- **validate_workflow_yaml** - Validate workflow definitions before running
- **get_workflow_schema** - Get the complete JSON schema

**Checkpoint Management:**

- **resume_workflow** - Resume paused workflows
- **list_checkpoints** - See all saved checkpoints
- **get_checkpoint_info** - Inspect checkpoint details
- **delete_checkpoint** - Clean up old checkpoints

## Creating Your Own Workflows

Workflows are defined in YAML. Here's the simplest example:

```yaml
name: hello-world
description: Simple hello world workflow
tags: [example, basic]

inputs:
  name:
    type: str
    description: Name to greet
    default: "World"

blocks:
  - id: greet
    type: Shell
    inputs:
      command: printf "Hello, {{inputs.name}}!"

outputs:
  greeting: "{{blocks.greet.outputs.stdout}}"
```

### Key Features

**Variable Substitution:**

Reference inputs, block outputs, and metadata anywhere in your workflow.

Examples:

- [Using workflow inputs](tests/workflows/core/variable-resolution/inputs.yaml) - `{{inputs.field_name}}`
- [Using block outputs](tests/workflows/core/variable-resolution/block-outputs.yaml) - `{{blocks.block_id.outputs.field}}`
- [Using metadata](tests/workflows/core/variable-resolution/metadata.yaml) - `{{metadata.workflow_name}}`
- [Variable shortcuts](tests/workflows/core/variable-resolution/shortcuts.yaml) - convenient shorthand syntax

**Conditionals:**

Run blocks only when conditions are met.

Examples:

- [Input-based conditions](tests/workflows/core/conditionals/input-based.yaml) - conditions using workflow inputs
- [Block status conditions](tests/workflows/core/conditionals/block-status.yaml) - conditions based on block execution

**Block Status Shortcuts:**

Use simple shortcuts to check if blocks succeeded, failed, or were skipped.

Examples:

- [Success detection](tests/workflows/core/block-status/success-detection.yaml) - `{{blocks.id.succeeded}}`
- [Failure detection](tests/workflows/core/block-status/failure-detection.yaml) - `{{blocks.id.failed}}`
- [Skip detection](tests/workflows/core/block-status/skip-detection.yaml) - `{{blocks.id.skipped}}`

**Parallel Execution:**

Tasks with no dependencies run in parallel automatically.

Example: [parallel-execution.yaml](tests/workflows/core/dag-execution/parallel-execution.yaml) - blocks with same dependencies execute concurrently

**Workflow Composition & Recursion:**

Workflows can call other workflows, including themselves (recursion supported with depth limits).

Examples:

- [Workflow composition](tests/workflows/core/composition/) - nested workflow patterns
- [Recursive workflows](tests/workflows/core/composition/recursion.yaml) - self-calling workflows

Control recursion depth with `WORKFLOWS_MAX_RECURSION_DEPTH` (default: 50, max: 10000).

### Available Block Types

- **Shell** - Execute shell commands
- **Workflow** - Call another workflow (enables composition and recursion)
- **CreateFile** - Create files with content
- **ReadFile** - Read file contents
- **RenderTemplate** - Process Jinja2 templates
- **HttpCall** - Make HTTP/REST API calls with environment variable substitution
- **Prompt** - Interactive user prompts (with pause/resume)
- **ReadJSONState** / **WriteJSONState** / **MergeJSONState** - Manage JSON state files

## Custom Workflow Templates

Want to add your own workflows? Set the `WORKFLOWS_TEMPLATE_PATHS` environment variable in your Claude Desktop configuration (see [Configure in Claude Desktop](#configure-in-claude-desktop) above).

Your custom workflows override built-in ones if they have the same name. Later directories in the path override earlier ones.

## Configuration Options

### Environment Variables

- **WORKFLOWS_TEMPLATE_PATHS** - Comma-separated list of additional template directories
- **WORKFLOWS_MAX_RECURSION_DEPTH** - Maximum workflow recursion depth (default: 50, range: 1-10000)
- **WORKFLOWS_LOG_LEVEL** - Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
- **WORKFLOW_SECRET_<NAME>** - Define secrets for workflow execution (e.g., `WORKFLOW_SECRET_GITHUB_TOKEN`)

## Example Usage with Claude

Once configured, you can ask Claude things like:

> "Run the Python CI pipeline on my project"
>
> "List all available workflows tagged with 'python'"
>
> "Execute the hello-world workflow with name='Claude'"
>
> "Show me what the python-ci-pipeline workflow does"

Claude will use the appropriate MCP tools to execute workflows, check their status, and report results.

## Development

### Running Tests

```bash
# Run all tests
uv run pytest

# With coverage
uv run pytest --cov=workflows_mcp --cov-report=term-missing
```

### Code Quality

```bash
# Type checking
uv run mypy src/workflows_mcp/

# Linting
uv run ruff check src/workflows_mcp/

# Formatting
uv run ruff format src/workflows_mcp/
```

### Testing the MCP Server

For interactive testing and debugging, create a `.mcp.json` config file:

```json
{
  "mcpServers": {
    "workflows": {
      "command": "uv",
      "args": ["run", "workflows-mcp"],
      "env": {
        "WORKFLOWS_LOG_LEVEL": "DEBUG"
      }
    }
  }
}
```

Then use the MCP Inspector:

```bash
npx @modelcontextprotocol/inspector --config .mcp.json --server workflows
```

This opens a web interface where you can test tool calls, inspect responses, and debug workflow execution.

## Architecture

The server uses a **fractal execution model** where workflows and blocks share the same execution context structure. This enables clean composition and recursive workflows.

**Key Components:**

- **WorkflowRunner** - Orchestrates workflow execution
- **BlockOrchestrator** - Executes individual blocks with error handling
- **DAGResolver** - Resolves dependencies and computes parallel execution waves
- **Variable Resolution** - Five-namespace variable system (inputs, blocks, metadata, secrets, __internal__)
- **Checkpoint System** - Pause/resume support for interactive workflows

Workflows execute in **waves**—blocks with no dependencies or whose dependencies are satisfied run in parallel within each wave, maximizing efficiency.

## Why Use This?

**For AI Assistants:**

- Consistent, reliable automation without reinventing the wheel
- Complex operations become simple tool calls
- Built-in error handling and validation

**For Developers:**

- Define workflows once, use everywhere
- Compose complex pipelines from simple building blocks
- YAML definitions are easy to read and maintain
- Parallel execution out of the box

**For Teams:**

- Share common workflows across projects
- Custom templates for company-specific processes
- Version control your automation

## License

[AGPL-3.0-or-later](./LICENSE)

## Links

- **GitHub**: [github.com/qtsone/workflows-mcp](https://github.com/qtsone/workflows-mcp)
- **Issues**: [github.com/qtsone/workflows-mcp/issues](https://github.com/qtsone/workflows-mcp/issues)
- **MCP Protocol**: [modelcontextprotocol.io](https://modelcontextprotocol.io/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "workflows-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "automation, claude, dag, llm-collaboration, mcp, workflow",
    "author": null,
    "author_email": "Iulian Bacalu <ibacalu@icloud.com>",
    "download_url": "https://files.pythonhosted.org/packages/0a/01/1c5e4731ef3482d39819fc0ff732b03a197d77f7a2896bf7cb60c508371e/workflows_mcp-4.4.0.tar.gz",
    "platform": null,
    "description": "# Workflows MCP\n\n**A Model Context Protocol (MCP) server that turns complex automation into simple workflow definitions.**\n\nThink of it as your personal automation assistant\u2014define what you want done in YAML, and this MCP server handles the execution. Perfect for CI/CD pipelines, Python development workflows, git operations, or any multi-step automation you can dream up.\n\n## What's This All About?\n\nWorkflows MCP is an MCP server that exposes workflow execution capabilities to AI assistants like Claude. Instead of writing the same bash scripts over and over, you define workflows once and execute them with a single tool call.\n\nEach workflow is a DAG (Directed Acyclic Graph) of tasks that can run in parallel or sequence, with smart variable substitution, conditionals, and the ability to compose workflows together. It's like having GitHub Actions, but integrated directly into your AI assistant.\n\n## Quick Start\n\n### Installation\n\n```bash\n# Using uv (recommended)\nuv pip install workflows-mcp\n\n# Or with pip\npip install workflows-mcp\n```\n\n### Configuration\n\n**Option 1: Install via QTS Marketplace (Claude Desktop & Claude Code)**\n\nInstall the `workflows` plugin from the [qtsone marketplace](https://github.com/qtsone/marketplace) which includes:\n- \ud83e\udd16 **workflows-specialist agent** - Dedicated agent for workflow orchestration\n- \ud83d\udcda **workflows-expert skill** - Comprehensive knowledge base and best practices\n- \u2699\ufe0f **MCP auto-configuration** - Automatic workflows-mcp server setup\n\n```bash\n# Add the marketplace (one-time setup)\n/plugin marketplace add qtsone/marketplace\n\n# Install the workflows plugin\n/plugin install workflows@qtsone\n```\n\nThe plugin automatically configures the MCP server with custom workflow directories: `~/.workflows` and `./.workflows`\n\n**Option 2: Manual MCP Configuration (Any MCP-Compatible LLM)**\n\n```json\n{\n  \"mcpServers\": {\n    \"workflows\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"workflows-mcp\",\n        \"--refresh\"\n      ],\n      \"env\": {\n        \"WORKFLOWS_TEMPLATE_PATHS\": \"~/.workflows,./.workflows\",\n        \"WORKFLOWS_LOG_LEVEL\": \"INFO\",\n        \"WORKFLOWS_MAX_RECURSION_DEPTH\": \"50\"\n      }\n    }\n  }\n}\n```\n\nAll `env` variables are optional. The `--refresh` flag is recommended to ensure `uvx` always fetches the latest version of `workflows-mcp`. For Gemini CLI, this configuration would be in `~/.gemini/settings.json`.\n\nRestart your LLM client, and you're ready to go!\n\n## \u2728 Features\n\n- **DAG-Based Workflows**: Automatic dependency resolution and parallel execution\n- **\ud83d\udd10 Secrets Management**: Server-side credential handling with automatic redaction (v5.0.0+)\n- **Workflow Composition**: Reusable workflows via Workflow blocks\n- **Conditional Execution**: Boolean expressions for dynamic control flow\n- **Variable Resolution**: Five-namespace system (inputs, metadata, blocks, secrets, __internal__)\n- **File Operations**: CreateFile, ReadFile, RenderTemplate with Jinja2\n- **HTTP Integration**: HttpCall for REST API interactions\n- **Interactive Workflows**: Prompt blocks for user input\n- **MCP Integration**: Exposed as tools for LLM agents via Model Context Protocol\n\n### \ud83d\udd10 Secrets Management\n\nSecurely manage API keys, passwords, and tokens in workflows:\n\n```yaml\nblocks:\n  - id: call_github_api\n    type: HttpCall\n    inputs:\n      url: \"https://api.github.com/user\"\n      headers:\n        Authorization: \"Bearer {{secrets.GITHUB_TOKEN}}\"\n```\n\n**Key Features:**\n\n- \u2705 **Server-side resolution** - Secrets never reach LLM context\n- \u2705 **Automatic redaction** - Secret values sanitized from all outputs\n- \u2705 **Fail-fast behavior** - Missing secrets cause immediate workflow failure\n- \u2705 **Audit logging** - Comprehensive tracking for compliance\n\n**Configuration:**\n\n```json\n{\n  \"mcpServers\": {\n    \"workflows\": {\n      \"env\": {\n        \"WORKFLOW_SECRET_GITHUB_TOKEN\": \"ghp_xxx\",\n        \"WORKFLOW_SECRET_OPENAI_API_KEY\": \"sk-xxx\"\n      }\n    }\n  }\n}\n```\n\n## What Can You Do With It?\n\n### Built-in Workflows\n\nThe server comes with ready-to-use workflows for common tasks:\n\n**Python Development:**\n\n- `python-ci-pipeline` - Complete CI pipeline (setup, lint, test)\n- `setup-python-env` - Set up Python environment with dependencies\n- `lint-python` - Run ruff and mypy\n- `run-pytest` - Execute tests with coverage\n\n**Git Operations:**\n\n- `git-checkout-branch` - Create and checkout branches\n- `git-commit` - Stage and commit changes\n- `git-status` - Check repository status\n\n**File Processing:**\n\n- `generate-readme` - Create README files from templates\n- `process-config` - Transform configuration files\n\n**Examples & Tutorials:**\n\n- `hello-world` - The simplest possible workflow\n- `parallel-processing` - Run tasks in parallel\n- `conditional-pipeline` - Use conditions to control flow\n\n### Available Tools\n\nClaude can use these MCP tools to work with workflows:\n\n- **execute_workflow** - Run a workflow with inputs\n- **execute_inline_workflow** - Execute YAML directly without registration\n- **list_workflows** - See all available workflows (optionally filter by tags)\n- **get_workflow_info** - Get detailed info about a workflow\n- **validate_workflow_yaml** - Validate workflow definitions before running\n- **get_workflow_schema** - Get the complete JSON schema\n\n**Checkpoint Management:**\n\n- **resume_workflow** - Resume paused workflows\n- **list_checkpoints** - See all saved checkpoints\n- **get_checkpoint_info** - Inspect checkpoint details\n- **delete_checkpoint** - Clean up old checkpoints\n\n## Creating Your Own Workflows\n\nWorkflows are defined in YAML. Here's the simplest example:\n\n```yaml\nname: hello-world\ndescription: Simple hello world workflow\ntags: [example, basic]\n\ninputs:\n  name:\n    type: str\n    description: Name to greet\n    default: \"World\"\n\nblocks:\n  - id: greet\n    type: Shell\n    inputs:\n      command: printf \"Hello, {{inputs.name}}!\"\n\noutputs:\n  greeting: \"{{blocks.greet.outputs.stdout}}\"\n```\n\n### Key Features\n\n**Variable Substitution:**\n\nReference inputs, block outputs, and metadata anywhere in your workflow.\n\nExamples:\n\n- [Using workflow inputs](tests/workflows/core/variable-resolution/inputs.yaml) - `{{inputs.field_name}}`\n- [Using block outputs](tests/workflows/core/variable-resolution/block-outputs.yaml) - `{{blocks.block_id.outputs.field}}`\n- [Using metadata](tests/workflows/core/variable-resolution/metadata.yaml) - `{{metadata.workflow_name}}`\n- [Variable shortcuts](tests/workflows/core/variable-resolution/shortcuts.yaml) - convenient shorthand syntax\n\n**Conditionals:**\n\nRun blocks only when conditions are met.\n\nExamples:\n\n- [Input-based conditions](tests/workflows/core/conditionals/input-based.yaml) - conditions using workflow inputs\n- [Block status conditions](tests/workflows/core/conditionals/block-status.yaml) - conditions based on block execution\n\n**Block Status Shortcuts:**\n\nUse simple shortcuts to check if blocks succeeded, failed, or were skipped.\n\nExamples:\n\n- [Success detection](tests/workflows/core/block-status/success-detection.yaml) - `{{blocks.id.succeeded}}`\n- [Failure detection](tests/workflows/core/block-status/failure-detection.yaml) - `{{blocks.id.failed}}`\n- [Skip detection](tests/workflows/core/block-status/skip-detection.yaml) - `{{blocks.id.skipped}}`\n\n**Parallel Execution:**\n\nTasks with no dependencies run in parallel automatically.\n\nExample: [parallel-execution.yaml](tests/workflows/core/dag-execution/parallel-execution.yaml) - blocks with same dependencies execute concurrently\n\n**Workflow Composition & Recursion:**\n\nWorkflows can call other workflows, including themselves (recursion supported with depth limits).\n\nExamples:\n\n- [Workflow composition](tests/workflows/core/composition/) - nested workflow patterns\n- [Recursive workflows](tests/workflows/core/composition/recursion.yaml) - self-calling workflows\n\nControl recursion depth with `WORKFLOWS_MAX_RECURSION_DEPTH` (default: 50, max: 10000).\n\n### Available Block Types\n\n- **Shell** - Execute shell commands\n- **Workflow** - Call another workflow (enables composition and recursion)\n- **CreateFile** - Create files with content\n- **ReadFile** - Read file contents\n- **RenderTemplate** - Process Jinja2 templates\n- **HttpCall** - Make HTTP/REST API calls with environment variable substitution\n- **Prompt** - Interactive user prompts (with pause/resume)\n- **ReadJSONState** / **WriteJSONState** / **MergeJSONState** - Manage JSON state files\n\n## Custom Workflow Templates\n\nWant to add your own workflows? Set the `WORKFLOWS_TEMPLATE_PATHS` environment variable in your Claude Desktop configuration (see [Configure in Claude Desktop](#configure-in-claude-desktop) above).\n\nYour custom workflows override built-in ones if they have the same name. Later directories in the path override earlier ones.\n\n## Configuration Options\n\n### Environment Variables\n\n- **WORKFLOWS_TEMPLATE_PATHS** - Comma-separated list of additional template directories\n- **WORKFLOWS_MAX_RECURSION_DEPTH** - Maximum workflow recursion depth (default: 50, range: 1-10000)\n- **WORKFLOWS_LOG_LEVEL** - Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)\n- **WORKFLOW_SECRET_<NAME>** - Define secrets for workflow execution (e.g., `WORKFLOW_SECRET_GITHUB_TOKEN`)\n\n## Example Usage with Claude\n\nOnce configured, you can ask Claude things like:\n\n> \"Run the Python CI pipeline on my project\"\n>\n> \"List all available workflows tagged with 'python'\"\n>\n> \"Execute the hello-world workflow with name='Claude'\"\n>\n> \"Show me what the python-ci-pipeline workflow does\"\n\nClaude will use the appropriate MCP tools to execute workflows, check their status, and report results.\n\n## Development\n\n### Running Tests\n\n```bash\n# Run all tests\nuv run pytest\n\n# With coverage\nuv run pytest --cov=workflows_mcp --cov-report=term-missing\n```\n\n### Code Quality\n\n```bash\n# Type checking\nuv run mypy src/workflows_mcp/\n\n# Linting\nuv run ruff check src/workflows_mcp/\n\n# Formatting\nuv run ruff format src/workflows_mcp/\n```\n\n### Testing the MCP Server\n\nFor interactive testing and debugging, create a `.mcp.json` config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"workflows\": {\n      \"command\": \"uv\",\n      \"args\": [\"run\", \"workflows-mcp\"],\n      \"env\": {\n        \"WORKFLOWS_LOG_LEVEL\": \"DEBUG\"\n      }\n    }\n  }\n}\n```\n\nThen use the MCP Inspector:\n\n```bash\nnpx @modelcontextprotocol/inspector --config .mcp.json --server workflows\n```\n\nThis opens a web interface where you can test tool calls, inspect responses, and debug workflow execution.\n\n## Architecture\n\nThe server uses a **fractal execution model** where workflows and blocks share the same execution context structure. This enables clean composition and recursive workflows.\n\n**Key Components:**\n\n- **WorkflowRunner** - Orchestrates workflow execution\n- **BlockOrchestrator** - Executes individual blocks with error handling\n- **DAGResolver** - Resolves dependencies and computes parallel execution waves\n- **Variable Resolution** - Five-namespace variable system (inputs, blocks, metadata, secrets, __internal__)\n- **Checkpoint System** - Pause/resume support for interactive workflows\n\nWorkflows execute in **waves**\u2014blocks with no dependencies or whose dependencies are satisfied run in parallel within each wave, maximizing efficiency.\n\n## Why Use This?\n\n**For AI Assistants:**\n\n- Consistent, reliable automation without reinventing the wheel\n- Complex operations become simple tool calls\n- Built-in error handling and validation\n\n**For Developers:**\n\n- Define workflows once, use everywhere\n- Compose complex pipelines from simple building blocks\n- YAML definitions are easy to read and maintain\n- Parallel execution out of the box\n\n**For Teams:**\n\n- Share common workflows across projects\n- Custom templates for company-specific processes\n- Version control your automation\n\n## License\n\n[AGPL-3.0-or-later](./LICENSE)\n\n## Links\n\n- **GitHub**: [github.com/qtsone/workflows-mcp](https://github.com/qtsone/workflows-mcp)\n- **Issues**: [github.com/qtsone/workflows-mcp/issues](https://github.com/qtsone/workflows-mcp/issues)\n- **MCP Protocol**: [modelcontextprotocol.io](https://modelcontextprotocol.io/)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "MCP server for DAG-based workflow execution with YAML definitions and LLM collaboration",
    "version": "4.4.0",
    "project_urls": {
        "Changelog": "https://github.com/qtsone/workflows-mcp/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/qtsone/workflows-mcp/blob/main/README.md",
        "Homepage": "https://github.com/qtsone/workflows-mcp",
        "Issues": "https://github.com/qtsone/workflows-mcp/issues",
        "Repository": "https://github.com/qtsone/workflows-mcp"
    },
    "split_keywords": [
        "automation",
        " claude",
        " dag",
        " llm-collaboration",
        " mcp",
        " workflow"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "305ce9cf613042b0022c4c3ea685ae758d33841ec48d42a96a06316a90754f13",
                "md5": "01878f992d175e8f7bb22e8a67a9286e",
                "sha256": "f63e0b13f562a95623a029e95b3c861c4fe18e46f9a73844e9bd590c85274efb"
            },
            "downloads": -1,
            "filename": "workflows_mcp-4.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01878f992d175e8f7bb22e8a67a9286e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 222946,
            "upload_time": "2025-11-02T14:09:16",
            "upload_time_iso_8601": "2025-11-02T14:09:16.903462Z",
            "url": "https://files.pythonhosted.org/packages/30/5c/e9cf613042b0022c4c3ea685ae758d33841ec48d42a96a06316a90754f13/workflows_mcp-4.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0a011c5e4731ef3482d39819fc0ff732b03a197d77f7a2896bf7cb60c508371e",
                "md5": "444a9adfd163ceaaad77af7b27d2f1b3",
                "sha256": "9af380ff05b2c4649bcc2dc40903b421363873f281913538277b1b4ab77ef32b"
            },
            "downloads": -1,
            "filename": "workflows_mcp-4.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "444a9adfd163ceaaad77af7b27d2f1b3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 261808,
            "upload_time": "2025-11-02T14:09:18",
            "upload_time_iso_8601": "2025-11-02T14:09:18.649508Z",
            "url": "https://files.pythonhosted.org/packages/0a/01/1c5e4731ef3482d39819fc0ff732b03a197d77f7a2896bf7cb60c508371e/workflows_mcp-4.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-02 14:09:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "qtsone",
    "github_project": "workflows-mcp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "workflows-mcp"
}
        
Elapsed time: 1.40281s