Moira について
Moiraは、MCPサーバー、Web API、Web UIを備えたAIエージェント向けのオープンソースワークフローエンジンです。各ステップの指示と完了条件を示し、応答スキーマを検証して実行状態を保存するため、別のセッションで続行できます。
主な機能
- 01ステップごとの指示と完了条件
- 02エージェント応答のスキーマ検証
- 03実行状態の保存とセッション継続
- 04ワークフロー編集・実行確認UI
- 05セルフホストとマネージドサービス
活用シーン
- 01複数ステップのエージェントワークフローを実行
- 02別のエージェントセッションで処理を再開
- 03ワークフローを編集して実行状況を確認
- 04自前のインフラにワークフローサービスを導入
MCP 対応
エージェントは認証済みの`/mcp`エンドポイントからMoiraに接続します。MCPサーバーはワークフローの検索と実行に対応し、指示、完了条件、スキーマ検証済み応答の送信を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/moira-mcp/moira:0.3.4ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/moira-mcp/moira:0.3.4Streamable HTTPツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Moira
Moira は、AI エージェント向けのワークフローエンジンです。エージェントは Model Context Protocol (MCP)を介して接続し、現在の指示と完了条件を受け取り、作業を行って、スキーマ検証済みの応答を送信します。Moira は実行状態を保持するため、別のエージェントセッションで同じ実行を続行できます。Web UI では、ワークフローの編集、実行状況の確認、アカウント管理を行えます。 スキーマ検証で確認できるのは応答の構造であり、作業が実際に行われたことを証明するものではありません。
オープンソースのアプリケーションを独自のインフラストラクチャで実行するか、moira-mcp.com のマネージドサービスを利用してください。このリポジトリには、エンジン、MCP サーバー、Web API/UI、ドキュメント、セルフホスト用のデプロイ構成が含まれています。ソースの管理範囲については、ドキュメントの目次とプロジェクト構成を参照してください。
セルフホスト
Compose プラグイン付きの Docker をインストールしてください。このチェックアウトを使うか、セルフホストガイドに従って、次の3つのデプロイファイルをダウンロードしてください。
docker-compose.yml、.env.example、config/traefik-self-host.yml。Ingress 設定ファイルは Compose ファイルと同じ場所に配置してください。
cp .env.example .env
docker compose up -d
ローカルホストのデフォルト設定では、ソースをビルドせずに公開イメージを取得します。次にアクセスしてください。
- Web UI:http://localhost:8080
- ドキュメント:http://localhost:8080/docs/(英語)または http://localhost:8080/ru/docs/(ロシア語)
- MCP エンドポイント:http://localhost:8080/mcp
別のホストを使う場合は、.env で MOIRA_HOST、MOIRA_PORT、STATIC_ARTIFACTS_DOMAIN をすべて設定してください。公開された HTML アーティファクトには、アーティファクトドメインの個別サブドメインが使われます。公開環境では、それに対応する DNS とワイルドカード TLS が必要です。Ingress を通じて、付属のワークスペース Upgrade ルートを維持してください。通常のフロントエンドポートのマッピングでは代用できません。実際のトポロジーに合わせてプロキシの信頼設定を行ってください。オリジン、シークレット、メール、ネットワークからのアクセス許可については、デプロイ設定を参照してください。
セルフホスト環境での登録には、管理者の承認が必要です。初回起動時に、イメージは不足しているシークレットを生成し、生成された管理者パスワードを一度だけ出力します。デフォルトの管理者メールアドレスは [email protected] です。データベースとともに data/.secrets.env を保持してください。サインイン後、管理パネル → ユーザーから新しいアカウントを承認します。セルフホストではメールアドレスとパスワードを使用します。ソーシャルログインや、より広範なユーザー間の管理機能・分析機能には、別途 SaaS ポリシーが適用されます。実際のメール配信ができない環境での設定も含め、承認、ブロック、パスワードの再設定、管理者アクセスの復旧については、アカウント管理を参照してください。
エージェントを接続してワークフローを使う
MCP クライアントをインスタンスの /mcp エンドポイントに接続し、認証フローを完了してください。各対応クライアント向けに生成される設定については、MCP クライアントガイドを参照してください。接続名 moira-local はクライアントのラベルであり、任意の Local コンパニオン実行ファイルとは無関係です。
エージェントに、利用可能なワークフローを見つけて、タスクに適した現在の正確な owner/slug を選ぶよう依頼してください。ワークフローカタログで選択肢を確認できます。エージェントガイドには、prepare/execute、ステップの試行、続行、ガード付きキャンセルの説明があります。実行時の help では英語のトピックを検索でき、help({ topic: "tools" }) では現在の型付きツールカタログを表示できます。ウェブサイトではロシア語訳も提供しています。
定義の作成や編集には、ワークフローの作成とワークフロー CLIを使用してください。ノード構文、テンプレート、ツールのスキーマ、例は、README に別のカタログを作るのではなく、正規のリファレンスを参照してください。公開 HTML 結果については、アップロード、所有権、クォータ、有効期限、ブラウザーの分離に関するアーティファクトを参照してください。
更新と復旧
インストール環境の .env でイメージを選択し、次を実行してください。
docker compose pull
docker compose up -d
docker compose ps
既存のセルフホストデータベースで起動時のマイグレーションを行う前に、イメージは一貫性のある SQLite スナップショットとプロンプトマニフェストの状態を検証します。ローテーションする復旧状態と中断マーカーを保持し、失敗時には復元を試みて、サービスを利用できない状態にします。以前のデータベースが存在しない初回起動では、別のクリーンアップ処理を行います。これらの安全対策は、運用者によるバックアップの代わりにはなりません。初期化に失敗した場合は、docker compose logs moira を確認し、更新と復旧の手順に従ってください。ガードを回避したり、同じ失敗状態のまま繰り返し再起動したりしないでください。バンドルされたワークフローの競合が確認された場合は、カタログの調整手順を使用してください。
アプリケーションアカウント、ワークフロー、実行データは ./data に保持されます。ワークスペースのファイル、コマンドの全出力、操作のレシート、不変の公開物は、それぞれのワークスペースサービスまたは対になったコントローラーに保持されます。これらの非公開の所有者ストアとディスクは個別にバックアップしてください。データベースのバックアップには、これらのファイルの内容は含まれません。暗号化キーを保持し、結果が不確かな場合は、別の変更を行う前に元の操作の結果を収集してください。ワークスペースの復旧とGitHub リリースを参照してください。
オプションのワークスペースと拡張機能のサポート
ペアリングされた Local コントローラーは、GitHub Codespaces で共通ワークスペースサービスをプロビジョニングし、承認済みのリポジトリを Local マイクロ VM で実行できます。コントローラーの登録に、物理 Local VM の初期化は必要ありません。Local VM の実行には、サポート対象の macOS Apple シリコンランタイムと、所有者による明示的な許可が必要です。リポジトリの Git 権限はソーシャルログインとは別です。チェックアウトから実行します。
npm ci
npm run local:build
npm run local -- --help
ペアリング、物理的な機能、権限、インストール、明示的なメンテナンスについては、ワークスペースのセットアップと管理に従ってください。リリースをステージングしても、実行中の所有者に置き換わることはありません。クライアントを終了しても、その VM は停止しません。共通の moira-workspace ゲスト CLI は、Local と GitHub の両方のゲスト環境で、コマンド、ファイル、セッション、元の結果を管理します。返信が失われた場合は、コマンドを再実行したり、代わりの環境を作成したりせず、元の操作の結果を取得してください。
拡張機能はデフォルトで無効になっています。オプションの Compose プロファイルは、このチェックアウトから別個のランナーをビルドします。バイナリチャネルは、それぞれのソース所有者の隣で実行されます。バンドルのインストール、権限、ユーザー設定、障害の境界については、拡張機能を有効にすると拡張機能の作成に従ってください。
貢献する
課題の調整、プルリクエスト、DCO、リリースポリシーについては、CONTRIBUTINGをお読みください。Node.js 24 とルートの npm ワークスペースを使用します。
nvm use
npm ci
コントリビューター向けセットアップでは、分離された開発コンテナー、環境の選択、ネイティブビルドコマンドについて説明しています。テストガイドでは、テストスイートの選択とルート npm エントリーポイントを管理し、カバレッジマップでは、保守されているフィクスチャの場所を確認できます。永続的なインストールデータの保存に、破棄可能なコントリビューター用コンテナーを使用しないでください。
アーキテクチャ、実行、HTTP/認証、ワークスペース、UI パターン、ドキュメントの管理、可観測性、運用手順については、docs/README.mdから確認してください。カスタム Claude Code コマンドについては、commands/README.mdに記載されています。現在の作業はGitHub Issuesで追跡しています。
ライセンス、セキュリティ、ブランディング
ソースコードはApache-2.0ライセンスの下で公開されています。第三者ライセンス通知、名称やロゴの使用に関する商標ポリシー、行動規範、脆弱性の報告に関するSECURITY.mdを参照してください。非公開デプロイのブランディング、シークレット、運用資料は、この公開リポジトリの外部で管理してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。