A Python MCP server that guides agents through structured workflows. This server ensures agents follow predefined steps while maintaining flexibility in execution.
This project exclusively uses uv for all package management operations. Always use uv commands for:
- Virtual environment creation:
uv venv - Package installation:
uv pip install - Running Python scripts:
uv run python script.py - Running tests:
uv run pytest - Running the application:
uv run workflow-mcp
UV provides faster, more reliable package management than traditional tools. If you don't have uv installed, follow instructions at https://github.com/astral-sh/uv
# Create a virtual environment
uv venv
# Activate the virtual environment
source .venv/bin/activate # Linux/macOS
# OR
.venv\Scripts\activate # Windows
# Install the package
uv pip install -e .
# For development with testing tools
uv pip install -e ".[dev]"# Using the entry point script
uv run workflow-mcp
# Or directly with module
uv run python -m workflow_mcp_serverWith SSE instead of stdio:
uv run workflow-mcp --sse --port 8888uv run pytestCreate YAML files in the frameworks directory with the following structure:
name: "Simple Workflow"
description: "A linear workflow with basic steps"
version: "1.0"
steps:
- id: "step1"
type: "instruction"
content: "This is what you need to do first"
next: "step2"
- id: "step2"
type: "tool_call"
tool: "tool_name"
parameters:
param1: "value1"
next: "step3"
- id: "step3"
type: "end"
content: "Workflow complete"list_workflows(): Lists available workflow frameworksstart_workflow(workflow_id): Start a new workflow sessioncomplete_step(session_id, result): Mark current step as complete and get the next step
MIT