{"id":51011924,"url":"https://github.com/zseta/progi","last_synced_at":"2026-06-21T04:01:20.276Z","repository":{"id":365021141,"uuid":"1270132740","full_name":"zseta/progi","owner":"zseta","description":"Progi is an MCP-native workflow engine for your AI harness","archived":false,"fork":false,"pushed_at":"2026-06-15T14:28:40.000Z","size":1103,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-15T15:17:02.848Z","etag":null,"topics":["claude","copilot","mcp","mcp-server","progi","progi-mcp","workflow","workflow-engine"],"latest_commit_sha":null,"homepage":"https://progi.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zseta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-15T12:20:33.000Z","updated_at":"2026-06-15T14:29:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zseta/progi","commit_stats":null,"previous_names":["zseta/progi"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/zseta/progi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zseta%2Fprogi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zseta%2Fprogi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zseta%2Fprogi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zseta%2Fprogi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zseta","download_url":"https://codeload.github.com/zseta/progi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zseta%2Fprogi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34593129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","copilot","mcp","mcp-server","progi","progi-mcp","workflow","workflow-engine"],"created_at":"2026-06-21T04:01:19.396Z","updated_at":"2026-06-21T04:01:20.248Z","avatar_url":"https://github.com/zseta.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Progi - MCP-native Workflow Engine\n\n\u003cimg src=\"docs/images/logo/progi-logo-small.png\" alt=\"Progi\" width=\"120\" /\u003e\n\nProgi teaches your agent how **you** like to get things done. So you can do your best work without re-explaining your process or losing context between sessions.\n\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/progi)](https://pypi.org/project/progi/)\n[![MCP](https://img.shields.io/badge/MCP-compatible-6366f1)](https://modelcontextprotocol.io)\n\n---\n\n## Get started\n\nAdd Progi to your MCP client config (GH Copilot / Cursor / Claude Code / etc):\n\n```json\n{\n  \"mcpServers\": {\n    \"progi\": {\n      \"command\": \"uvx\",\n      \"args\": [\"progi\"]\n    }\n  }\n}\n```\n\nProgi Monitoring starts automatically at `http://127.0.0.1:8000`.\n\nIf you want to start Monitoring on a different port:\n```json\n{\n  \"mcpServers\": {\n    \"progi\": {\n      \"command\": \"uvx\",\n      \"args\": [\"progi\"],\n      \"env\": {\n        \"PROGI_WEB_PORT\": \"8080\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## How it works\n\n**1. Describe your workflow**\n\n*\"Hey Progi, help me create workflow for creating integrations, reviewing code, and publishing PRs.\"*\n\nDescribe your process in plain language. You can be detailed or just provide a rough idea. Progi stores it as a structured workflow with per-step playbooks.\n\n**2. Run tasks, stay in the loop**\n\n*\"Hey Progi, start a new task, we need to review a new docs PR in the repo.\"* \nYour agent loads the workflow, works through each step using your playbooks, and loops you in at critical checkpoints to review output.\n\n**3. Monitor progress**\n\nProgi Monitoring gives you a live view of every running and completed task — status, progress, and the full output history across all your workflows.\n\n**4. Optimize as you go**\n\nTweak playbooks in Progi Monitoring between runs. Because workflows live in a database and survive context resets, every future task picks up your changes automatically — your process gets sharper with each iteration.\n\n---\n\n## MCP Tools\n\n### Work loop\n\n| Tool | Description |\n|---|---|\n| `create_task` | Create a new task under a given workflow (status `todo`); returns a preview of its first step |\n| `list_tasks` | List tasks, optionally filtered by status and/or workflow |\n| `start_or_continue_task` | Main work-loop entry point — starts or resumes a task and returns the current step's playbook, input data, and output spec |\n| `update_progress_notes` | Overwrite a task's progress notes (mid-step save point) |\n| `submit_output` | Mark the current step complete, store its output, and advance to the next step (or mark done) |\n\n### Workflow authoring\n\n| Tool | Description |\n|---|---|\n| `get_process_skeleton_prompt` | Return the Pass 1 system prompt for turning a plain-language description into a structured workflow skeleton |\n| `get_playbook_authoring_prompt` | Return the Pass 2 system prompt for authoring a step's playbook (injects workflow context) |\n| `save_workflow` | Persist a new workflow, its steps, and playbooks |\n| `list_workflows` | Return all workflows with their ordered steps |\n\nAuthoring is two passes: Pass 1 turns a plain-language description into a structured skeleton; Pass 2 authors each step's playbook. `save_workflow` persists both.\n\n---\n\n## Configuration\n\n| Variable | Default | Purpose |\n|---|---|---|\n| `PROGI_DB_PATH` | OS data dir (`platformdirs`) | SQLite file location |\n| `PROGI_WEB_HOST` | `127.0.0.1` | Web UI bind host |\n| `PROGI_WEB_PORT` | `8000` | Web UI port |\n| `PROGI_NO_WEB` | `0` | Set to `1` to disable the web UI |\n\nRun modes: `uvx progi` (MCP + web UI), `uvx progi --no-web` (MCP only), `uvx progi-web` (web UI only).\n\n\u003e Use an absolute path for `PROGI_DB_PATH`\n\n\n\u003c!-- mcp-name: io.github.zseta/progi --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzseta%2Fprogi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzseta%2Fprogi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzseta%2Fprogi/lists"}