Skip to main content
Glama
0langa

devflows-mcp

by 0langa

cibseven-devflows

ローカルの CIB seven エンジン上で開発者ワークフローを BPMN プロセスとして実行し、MCP サーバーを介して Claude Code などの AI コーディングエージェントから操作します。

バージョン 0.1.0 には、リポジトリのリリース儀式という 1 つのワークフローが含まれています。品質ゲートを実行し、人間に確認し、タグを付け、公開します。このリポジトリ自体が、そのプロセスを自分自身に対して実行して v0.1.0 を切り出しました。

なぜ

リリースを切ることは、その途中に人間の判断が入るプロセスです。通常、そのプロセスは誰かの頭の中とターミナルのスクロールバックの中に存在します。ゲートが実行されたこと、人が承認したこと、何が公開されたかを記録するものはありません。

プロセスエンジンは、まさにそのような形の問題に適したツールです。CIB seven は状態を保持し、履歴を保持し、人間を待つ方法を知っています。あなたのマシンは依然として作業を行い、AI エージェントは実行を開始して監視できますが、承認をスキップすることはできません。承認はプロセス内のステップであり、プロンプト内の約束ではないからです。

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"]

エンジンはシェルコマンドを実行せず、リポジトリに触れることもありません。作業を配布するだけで、あなたのマシン上のワーカーがそれをポーリングして実行します。これは標準的な 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))

トピック名を持つ 3 つの長方形は外部タスクです。「リリースを承認」は BPMN ユーザータスクであり、待機し、エンジンの再起動後も存続し、Web UI または approve_gate MCP ツールのいずれかで回答できます。

dry_run=true はゲートを実際に実行しますが、それ以外は何も変更しません。タグもプッシュもリリースも行いません。

クイックスタート

docker compose -f engine/docker-compose.yml up -d
uv sync
uv run pytest -m "not integration" && uv run ruff check .

プロセスをデプロイします(エンジンごとに 1 回):

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/tasksdemo / demo として承認します。マイグループタスクでフィルタリングし、リリースを承認をクレームし、承認にチェックを入れて送信します。

実際には、curl ではなく MCP サーバーを介して実行を開始します。完全なウォークスルーについては 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-notes

キー

意味

gates

品質ゲートの順序付きリスト。各ゲートには namerun 内のシェルコマンドが必要です。最初の非ゼロ終了コードでリリースは終了します。

tag.format

タグ名の構築方法。{version} が唯一のプレースホルダーです。省略可能。デフォルトは v{version}

publish.run

リリースを公開するシェルコマンド。{version} が唯一のプレースホルダーです。

未知のトップレベルキーは無視されるため、新しいバージョンの devflows が古いファイルを壊さずにステップを追加できます。

MCP ツール

devflows-mcp は stdio 上で MCP を話し、任意の MCP クライアントから動作します。

ツール

引数

戻り値

engine_status

エンジンが応答するかどうか、そのバージョン、エンジン名

deploy_process

bpmn_path (オプション)

デプロイメント ID とデプロイされたプロセス定義キー

list_processes

デプロイされたプロセス定義(キー、バージョン、ID)

start_release

repo_path, version, dry_run (デフォルト true)

プロセスインスタンス ID と Web UI でのリンク

get_run

process_instance_id

状態、現在のアクティビティ、未完了タスク、ゲートレポート、すべての変数

list_gates

repo_path

そのリポジトリが実行するゲート。エンジンには触れません

approve_gate

task_id, approve, comment

承認タスクが完了したことの確認

すべてのツールは ok フラグを持つ辞書を返し、ok が false の場合は error 文字列を返します。呼び出し元は失敗を人に説明する必要がある言語モデルであるため、どのツールも例外を発生させません。

Claude Code から使用する

plugin/ は同じサーバーを中心とした Claude Code プラグインです:

  • plugin/.mcp.jsonuv rundevflows-mcp を起動します。

  • 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"]
    }
  }
}

設定

変数

デフォルト

使用箇所

DEVFLOWS_ENGINE_URL

http://localhost:8080/engine-rest

ワーカー、MCP サーバー

DEVFLOWS_WORKER_ID

devflows-worker-<hostname>

ワーカー

DEVFLOWS_LOCK_MS

300000

ワーカー

DEVFLOWS_POLL_MS

10000

ワーカー

DEVFLOWS_BPMN_PATH

パッケージの隣にあるもの

MCP サーバー

セキュリティ

このプロジェクトには意図的な点が 2 つあり、どちらも自分のマシンで実行することを前提としています:

  • エンジンには認証がありません。 localhost:8080 の REST API は、到達できるものなら何でも受け入れます。そのポートを制御できないネットワークに公開しないでください。

  • ワーカーはシェルコマンドを実行します。 それらは、リリースを依頼したリポジトリの devflows.yaml から来て、あなたとして、そのリポジトリ内で実行され、あなたが入力するのと同じコマンドです。信頼できるリポジトリのみを対象にしてください。

クラウドサービス、テレメトリ、gh がすでに持っている GitHub 資格情報以外のアカウントはありません。

リポジトリ構成

ディレクトリ

内容

engine/

ローカル CIB seven 2.2.0 エンジン用の Docker Compose

processes/

release.bpmn、リリース儀式

core/

devflows_core:エンジン REST クライアント、設定解析、シェルステップランナー

workers/

devflows_worker:外部タスクワーカー

mcp/

devflows_mcp:stdio MCP サーバー

plugin/

Claude Code プラグイン

tests/

単体テスト、およびライブエンジンが必要な tests/integration/

docs/

デモスクリプト、設計および計画ドキュメント

要件

  • Docker Desktop(エンジン用)

  • Python 3.12 と uv

  • git、およびタグと公開ステップ用に認証済みの gh

  • BPMN 図を編集する場合は Camunda Modeler 5.x(オプション)。processes/release.bpmnCamunda 7 図として開きます。

ライセンス

Apache License 2.0。LICENSE を参照してください。

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and external systems to programmatically trigger and monitor Jenkins jobs, retrieve build status and logs via MCP standards.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Exposes 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.
    7
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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