Workflow MCP Server logo

Workflow MCP Server

by tuanknguyen

A Python MCP server that guides agents through structured workflows. This server ensures agents follow predefined steps while maintaining flexibility in execution.

View on GitHub

Last updated: N/A

What is Workflow MCP Server?

The Workflow MCP Server is a Python-based server designed to guide agents through structured workflows. It enforces predefined steps while allowing for flexible execution, ensuring agents follow a specific process.

How to use Workflow MCP Server?

To use the server, first set up the environment using uv venv and activate it. Install the package using uv pip install -e .. Define workflows as YAML files in the frameworks directory, specifying steps with types, content, and next steps. Run the server using uv run workflow-mcp. Interact with the server using available tools like list_workflows(), start_workflow(workflow_id), and complete_step(session_id, result).

Key features of Workflow MCP Server

  • Guides agents through structured workflows

  • Enforces predefined steps

  • Allows flexibility in execution

  • Workflow definitions using YAML files

  • Uses uv for package management

  • Provides tools for workflow management and interaction

Use cases of Workflow MCP Server

  • Automated task execution

  • Orchestration of agent activities

  • Standardizing operational procedures

  • Managing complex workflows with multiple steps

FAQ from Workflow MCP Server

What is uv?

uv is a fast and reliable package management tool used for virtual environment creation, package installation, running scripts, and testing.

How do I define a workflow?

Workflows are defined using YAML files placed in the frameworks directory. Each file specifies the workflow's name, description, version, and a list of steps with their properties.

What are the available step types?

The example shows instruction and tool_call step types. instruction displays content to the agent, while tool_call invokes a specific tool with parameters.

How do I start a workflow?

Use the start_workflow(workflow_id) tool, providing the ID of the workflow you want to start.

How do I mark a step as complete?

Use the complete_step(session_id, result) tool, providing the session ID and the result of the step.