AI Automation: Deploying a Distributed Multi-Agent Plan & Execute Workflow via Notal MCP
Automation Stack & Architecture
- Architecture Type: Centralized State Management / Decoupled Runtime Orchestration
- Core Engine: Model Context Protocol (MCP) with MD Notebookm_server
- Integration Layers: GitHub Actions, Cron, IDEs (Cursor), CLI Tools, Slack, Linear enough to pull status or incidents if needed though primarily focused on any runtime reading external plan files.
- Target Outcome: Automated execution of scheduled activities that handle blocking questions through human intervention without losing state in long-running loops.
Agent Roles & Tools Assignment
Note: Agents are defined by their ability to interface with the shared markdown source rather than fixed personas.
- Generic Agent/Worker Role
- Persona: Any compatible wayfarer agent able to read from an MCP server including
Claude,Cursor,Codex,Goose,Hermes, or custom workers likeLangGraphbased runners. - Goal: Claim pending work and execute tasks according personified prompts or dependencies found in the notebook.
- Tools assigned: Ability to call
activities_list_actionable(to fetch queueing) and write back viaactivities_log.
- Persona: Any compatible wayfarer agent able to read from an MCP server including
Step-by-Step Workflow Orchestration
- Trigger Event: An agent wakes up triggered by a schedule such as
cron,GitHub Actions, or manual IDE interaction. - Queue Discovery: The agent calls Notal through any supported runtime using the function
activities_list_actionablewhich returns only currently due items instead of the full repository content. - Task Acquisition: To prevent race conditions where two agents grab certaintly wrong data, one agent claims exactly one activity/task atomically while reading its prompt, role, and requirements.
- Execution & State Update: Agent performs technical work within its own environment then executes
activities_logto store success, errors, evidence, and specifically set a new next available window for task recurrence.
Error Handling & Loop Prevention
- Blocking Question Mechanism: Prevents deadlocks when an agent hits missing info way it pauses execution (pauses loop), prompts for human input via a Global Questions panel, resumes once answered, and proceeds with updated context.
- Atomic Task Claims: Implements atomic check-ins so that multiple concurrent runtimes do not duplicate effort on the same piece of pending work.
- State Persistence: Uses the markdown file as a single source of truth (
! DYOR (Do Your Own Research)