Skip to main content

A library for developing workflow graphs that run as MCP (Model Context Protocol) servers

Project description

artificer-workflows

Build multi-step workflows that guide AI agents through complex tasks exposed as MCP tools.

Alpha Release - APIs may change.

How it works

Define workflows as Python classes with typed steps. The library registers them as tools with your FastMCP server that agents can call to execute the workflow step by step. Each step provides instructions to the agent and validates outputs using Pydantic schemas.

When an agent calls a workflow tool, it receives structured instructions for what to do. After completing the work, the agent calls back with results that are validated against the step's schema. The workflow then transitions to the next step or completes.

Installation

pip install artificer-workflows

Quick example

from pydantic import BaseModel, Field
from fastmcp import FastMCP
from artificer.workflows import Workflow

mcp = FastMCP(name="my-workflows")


class BuildFeature(Workflow):
   ...


class GatherRequirementsStep(BuildFeature.Step, start=True):
    class OutputModel(BaseModel):
        summary: str = Field(description="Summary of requirements")

    def start(self, previous_result=None) -> str:
        # return instructions
        return "Gather requirements from the user and document them."

    def complete(self, output: OutputModel) -> type["PlanStep"]:
        # returns next step
        return PlanStep


class PlanStep(BuildFeature.Step):
    class OutputModel(BaseModel):
        tasks: list[str] = Field(description="List of tasks to implement")

    def start(self, previous_result: GatherRequirementsStep.OutputModel=None) -> str:
        return f"Create an implementation plan based on: {previous_result.summary}"

    def complete(self, output: OutputModel) -> None:
        # return None to complete the workflow
        return None


BuildFeature.register(mcp)


if __name__ == "__main__":
    mcp.run()

Run the server and connect it to your agent. The agent can now call:

  • BuildFeature__start_workflow - Start a new workflow
  • BuildFeature__complete_step - Complete a step and move to the next
  • BuildFeature__generate_diagram - Generate a Mermaid diagram of the workflow

Features

  • Type-safe step outputs - Pydantic schemas validate agent responses
  • Automatic MCP tool generation - Steps become callable tools
  • Workflow state persistence - Workflows can rewound and restarted from any step
  • Error handling and retries - Steps can fail and retry with configurable limits
  • Template support - Use Jinja2 templates for step instructions
  • Branching workflows - Steps can conditionally route to different next steps
  • Mermaid Diagram - Generate a mermaid diagram of your workflow

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

artificer_workflows-0.1.0a14.tar.gz (115.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

artificer_workflows-0.1.0a14-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file artificer_workflows-0.1.0a14.tar.gz.

File metadata

File hashes

Hashes for artificer_workflows-0.1.0a14.tar.gz
Algorithm Hash digest
SHA256 26150b120d50f0238da8451832a0df1dacfa9989b2667f2a1cc79c96e4114973
MD5 40972a6ac0b818949fc1f2ad76d6db51
BLAKE2b-256 a98a0d5ead34762accbea302fc58e6fc04a4a7bab6afcd5ed684f9224de7e80e

See more details on using hashes here.

File details

Details for the file artificer_workflows-0.1.0a14-py3-none-any.whl.

File metadata

File hashes

Hashes for artificer_workflows-0.1.0a14-py3-none-any.whl
Algorithm Hash digest
SHA256 ca558daee3a2e8cdc297f9664e417e7f842556fbaacfbe2d1559386266a6e2af
MD5 6b7efc79d089523874baa01b04178551
BLAKE2b-256 1a9c94a7f336f9fe1d8ce0f011dd9a9cffcbfe92063d7ac7a6f7d837e5c4ae4d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page