devflows-mcp
cibseven-devflows
Запускайте свои рабочие процессы разработчика как BPMN-процессы на локальном движке CIB seven и управляйте ими из ИИ-агентов кодирования, таких как Claude Code, через MCP-сервер.
Версия 0.1.0 включает один рабочий процесс: ритуал релиза репозитория. Запустите проверки качества, спросите человека, создайте тег, опубликуйте. Этот репозиторий выпустил собственный v0.1.0, запустив этот процесс на самом себе.
Зачем
Выпуск релиза — это процесс с человеческим решением в середине. Обычно этот процесс живёт в чьей-то голове и в прокрутке терминала. Ничто не фиксирует, что проверки выполнялись, что человек одобрил, или что было опубликовано.
Процессный движок — именно тот инструмент для такой задачи. CIB seven хранит состояние, хранит историю и умеет ждать человека. Ваша машина по-прежнему выполняет работу, а ИИ-агент может запустить процесс и наблюдать за ним, но не может пропустить одобрение, потому что одобрение — это шаг в процессе, а не обещание в промпте.
Related MCP server: jt-mcp-server
Архитектура
flowchart LR
agent["Claude Code<br/>(any MCP client)"] -- stdio --> mcpserver["devflows-mcp"]
mcpserver -- REST --> engine["CIB seven engine<br/>Docker, H2, localhost:8080"]
human["You, in the web UI"] -- approve --> engine
engine -- fetchAndLock --> worker["devflows-worker"]
worker -- shell --> repo["your repository<br/>pytest, ruff, git, gh"]Движок никогда не выполняет shell-команды и не касается вашего репозитория. Он раздаёт работу; воркер на вашей машине опрашивает его и выполняет её. Это стандартный паттерн внешних задач Camunda 7, и именно он делает безопасным позволить процессу управлять машиной разработчика.
Процесс релиза
flowchart LR
start((start)) --> gates["Run gates<br/><i>devflows.gates</i>"]
gates --> q1{Gates passed?}
q1 -- no --> failed((Gates failed))
q1 -- yes --> approve["Approve release<br/><i>user task</i>"]
approve --> q2{Approved?}
q2 -- stop --> rejected((Release rejected))
q2 -- ship --> tag["Tag<br/><i>devflows.tag</i>"]
tag --> publish["Publish<br/><i>devflows.publish</i>"]
publish --> released((Released))Три прямоугольника с именем темы — это внешние задачи. «Approve release» — это пользовательская задача BPMN, поэтому она ждёт, переживает перезапуск движка, и на неё можно ответить либо в веб-интерфейсе, либо через MCP-инструмент approve_gate.
dry_run=true запускает проверки по-настоящему и больше ничего не меняет: ни тега, ни пуша, ни релиза.
Быстрый старт
docker compose -f engine/docker-compose.yml up -duv syncuv run pytest -m "not integration" && uv run ruff check .Разверните процесс (один раз на движок):
curl -s -X POST http://localhost:8080/engine-rest/deployment/create -F "deployment-name=cibseven-devflows" -F "release.bpmn=@processes/release.bpmn"Запустите воркер и оставьте его работать в отдельном терминале:
uv run devflows-workerЗапустите пробный релиз этого репозитория. Замените repo_path на абсолютный путь к этому репозиторию. Используйте прямые слэши даже в Windows (C:/Users/you/repos/cibseven-devflows): они работают и избавляют вас от борьбы с вашей оболочкой из-за экранирования обратных слэшей.
curl -s -X POST http://localhost:8080/engine-rest/process-definition/key/devflows-release/start -H "Content-Type: application/json" -d '{"variables":{"repo_path":{"value":"ABSOLUTE/PATH/TO/cibseven-devflows","type":"String"},"version":{"value":"0.2.0","type":"String"},"dry_run":{"value":true,"type":"Boolean"}}}'Затем одобрите его на http://localhost:8080/webapp/#/seven/auth/tasks под demo / demo: отфильтруйте My Group Tasks, возьмите в работу Approve release, отметьте approve, отправьте.
На практике вы запускаете процессы через MCP-сервер, а не через curl. Полное руководство см. в docs/DEMO.md.
devflows.yaml
Каждый репозиторий описывает свой собственный релиз в файле devflows.yaml в его корне:
gates:
- name: tests
run: uv run pytest -q
- name: lint
run: uv run ruff check .
tag:
format: "v{version}"
publish:
run: gh release create v{version} --generate-notesKey | Meaning |
| Упорядоченный список проверок качества. Каждая требует |
| Как формируется имя тега. |
| Shell-команда, которая публикует релиз. |
Неизвестные ключи верхнего уровня игнорируются, поэтому более новая версия devflows может добавлять шаги, не ломая старый файл.
MCP-инструменты
devflows-mcp общается по MCP через stdio и работает с любым MCP-клиентом.
Tool | Arguments | Returns |
| — | Отвечает ли движок, его версия, имена его движков |
|
| Идентификатор развёртывания и ключи развёрнутых определений процессов |
| — | Развёрнутые определения процессов с ключом, версией и идентификатором |
|
| Идентификатор экземпляра процесса и ссылка на него в веб-интерфейсе |
|
| Состояние, текущая активность, открытые задачи, отчёт о проверках, все переменные |
|
| Проверки, которые запустит этот репозиторий. Не обращается к движку |
|
| Подтверждение, что задача одобрения была завершена |
Каждый инструмент возвращает словарь с флагом ok и строкой error, когда ok равно false. Ни один инструмент не вызывает исключений, потому что вызывающая сторона — языковая модель, которая должна объяснить сбой человеку.
Использование из Claude Code
plugin/ — это плагин Claude Code вокруг того же сервера:
plugin/.mcp.jsonзапускаетdevflows-mcpс помощьюuv run.plugin/skills/release-with-devflows/SKILL.mdсообщает агенту, когда использовать движок и в каком порядке вызывать инструменты, включая правило, что он должен остановиться и спросить перед одобрением.plugin/commands/release.mdпредоставляет/devflows:release <version> [--real].
Чтобы подключить сервер к любому другому MCP-клиенту напрямую:
{
"mcpServers": {
"cibseven-devflows": {
"command": "uv",
"args": ["run", "devflows-mcp"]
}
}
}Конфигурация
Variable | Default | Used by |
|
| воркер, MCP-сервер |
|
| воркер |
|
| воркер |
|
| воркер |
| находится рядом с пакетом | MCP-сервер |
Безопасность
Две вещи в этом проекте сделаны намеренно, и обе предполагают, что он работает на вашей собственной машине:
У движка нет аутентификации. REST API на
localhost:8080принимает всё, что может до него добраться. Не открывайте этот порт для сети, которую вы не контролируете.Воркер выполняет shell-команды. Они берутся из
devflows.yamlрепозитория, который вы попросили выпустить, они выполняются от вашего имени, в этом репозитории, и это те же команды, которые вы бы ввели. Направляйте его только на репозитории, которым вы доверяете.
Нет облачного сервиса, нет телеметрии и нет учётной записи, кроме учётных данных GitHub, которые уже есть у gh.
Структура репозитория
Directory | What is in it |
| Docker Compose для локального движка CIB seven 2.2.0 |
|
|
|
|
|
|
|
|
| Плагин Claude Code |
| Модульные тесты, а также |
| Демонстрационный скрипт, а также документы по дизайну и планам |
Требования
Docker Desktop, для движка
Python 3.12 и uv
gitи аутентифицированныйghдля шагов создания тега и публикацииCamunda Modeler 5.x, если вы хотите редактировать диаграмму BPMN (необязательно). Откройте
processes/release.bpmnкак диаграмму Camunda 7.
Лицензия
Apache License 2.0. См. LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI coding environments to enforce engineering governance through MCP tools and resources for init, check, route, and review workflows.262MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that equips AI agents with dev workflow tools including GitHub project management, conventional commits, visual regression testing, Jira/Confluence integration, and a persistent memory knowledge graph.25MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents and external systems to programmatically trigger and monitor Jenkins jobs, retrieve build status and logs via MCP standards.
- AlicenseNot gradedqualityAmaintenanceExposes a governed, provenance-grounded autonomous delivery pipeline as an MCP server, enabling AI coding assistants like Claude Code or Codex to initiate requirements-to-PR workflows with human approval gates and full audit.7MIT
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0langa/cibseven-devflows'
If you have feedback or need assistance with the MCP directory API, please join our Discord server