mcpField
C
catalyst-by-zoho

catalyst-by-zoho

github.com/catalystbyzohoクラウド・DevOps701.1k 回インストール今日更新
リポジトリ

catalyst-by-zoho について

catalyst-by-zoho は Zoho Catalyst 向けのルーティングスキルです。サービス別スキルの選択に加え、プロジェクト設定、開発方針、コスト、地域制限を案内します。

主な機能

  1. 01サービス別スキルへの振り分け
  2. 02プロジェクト設定と MCP の確認
  3. 03サービスとアーキテクチャの選択
  4. 04コストと地域制限の案内

活用シーン

  1. 01アプリに使う Catalyst サービスの選定
  2. 02変更前のプロジェクト設定確認
  3. 03Catalyst デプロイの計画

MCP 対応

CatalystbyZoho_* MCP ツールを使い、プロジェクトや組織の情報取得とプロジェクト操作を行うようエージェントに案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/catalystbyzoho/agent-skills --skill catalyst-by-zoho

インストール後、Claude Code で/catalyst-by-zohoを入力して読み込まれたか確認します。

同梱ファイルreferences/skill-feedback.md

詳細

Zoho Catalyst — スキルインデックス

これはルーティングレイヤーです。最も具体的に一致するスキルを読み込んでください。このファイルだけをもとに回答しないでください。


基本方針

  • 質問するより MCP を優先します。 CatalystbyZoho_* ツールが利用できる場合は、それを使ってください。コンソールから ID をコピーするようユーザーに依頼してはいけません。
  • デフォルトは Development です。 ユーザーが明示的に「production」または「deploy to prod」と指定しない限り、常に Development 環境を対象にしてください。
  • 「アプリを構築する」とは、デフォルトで Slate + Function を意味します。 ユーザーがバックエンドのみを指定せずに「build an app」「create an app」「make a simple app」と言った場合、デフォルトの出力は Slate フロントエンド + Advanced I/O function バックエンドです。Function だけを構築して、それをアプリと呼んではいけません。ユーザーの意図が明らかにバックエンドのみの場合(例:「API を構築する」「Function を書く」)は、Slate を省略してください。
  • シンプルな HTTP には AppSail より Functions を優先します。 Functions は(呼び出しごとの課金のため)より低コストで、デプロイがより簡単で、インフラ管理も不要です。永続的なプロセスやカスタムランタイムが実際に必要なユースケースに限り、AppSail を選択してください。
  • 構築前にコストを提示します。 新しいインフラ(Functions、AppSail、Stratus バケット)を使う場合は、catalyst-pricing を読み込み、コードを書く前に簡潔な見積もりを提示してください。小規模なプロジェクトの多くは無料枠内に収まります。該当する場合は、その旨を伝えてください。
  • 廃止予定のサービスではなく、現行のサービスを推奨します。 File Store → Stratus。Event Listeners → Signals。Cron → Job Scheduling。生成するコードや設定では、廃止予定の名称に言及しないでください。
  • リージョンの制約が問題になる前に注意喚起します。 Circuits と Integration Functions は、ほとんどのデータセンターで動作しません。提案する前に、ユーザーの DC を確認してください。

仕組み

  1. 事前確認 — .catalystrc と catalyst.json が存在することを確認します。存在しない場合は、MCP を使って組織 ID とプロジェクト ID を取得し、catalyst init --org <orgId> -p <projectId> -ni を実行してください。対話形式の catalyst init は使わないでください。
  2. MCP の確認 — CatalystbyZoho_* ツールを探します。利用できる場合は、ユーザーに尋ねる代わりに MCP を使って組織 ID とプロジェクト ID を取得してください。
  3. 振り分け — 以下のルーティングテーブルを使って、クエリを最も具体的なサービスに一致させます。
  4. 必要に応じて読み込む — 現在のステップに必要な単一のリファレンスファイルのみを読み込んでください。複数のスキルをあらかじめ読み込まないでください。「アプリを構築する」というリクエストでは、(a)ユーザーがバックエンドのみと指定しない限り、Slate フロントエンド + AIO functionを前提とし、(b)構築前にアーキテクチャの概要を簡潔に示してユーザーに確認し、(c)その後、各パートの作成時にサービスごとにリファレンスファイルを 1 つずつ読み込みます。フロントエンドには catalyst-slate、バックエンドには catalyst-functions を使ってください。
  5. コストの確認 — ユーザーがコストについて具体的に質問した場合、または計画に AppSail、Stratus、その他の有料枠のサービスが含まれる場合にのみ、catalyst-pricing を読み込みます。基本的な Functions + DataStore のプロジェクト(無料枠内に収まる可能性が高い)では省略してください。
  6. 回答 — ユーザーのプラットフォーム(Node.js、Python、Java、Web、または Mobile)に合わせたコード例を提示してください。

トリガー

次を含むクエリには、このスキルを使ってください:Catalyst、zcatalyst、AppSail、Data Store、ZCQL、Cache、Stratus、Slate、NoSQL、Zia Services、QuickML、API Gateway、Connections、Zoho MCP、CatalystbyZoho、catalyst init、catalyst deploy、catalyst serve、zcatalyst-sdk-node、catalyst-config.json、Catalyst の価格、「build on Zoho's platform」、または「deploy to Catalyst」。Catalyst が対象でない限り、一般的な Zoho CRM の質問には使わないでください。


事前確認ゲート(プロジェクトを変更するタスクのみ)

ステップ 1 — MCP の確認(インフラストラクチャ関連のタスクでは、何よりも先に実施してください): ツール一覧に CatalystbyZoho_* ツールがあるか確認してください。

  • ある場合 — MCP を使って組織 ID とプロジェクト ID を取得してください。コンソールから ID をコピーするようユーザーに求めないでください。 MCP ツールを正しく呼び出す方法:
    1. ZohoMCP_getSchema には body ではなく query_params を渡します。
      ZohoMCP_getSchema({ query_params: { tool_name: "CatalystbyZoho_List_All_Projects" } })
      
    2. CatalystbyZoho_* ツールを使う場合は、必ず最初に ZohoMCP_getSchema を呼び出してください。引数の形式を推測しないでください。多くのツールでは、スキーマを確認しないと分からない path_variables(例:project_id)が必要です。
    3. ZohoMCP_executeTool には、次の形式の body を渡します。
      ZohoMCP_executeTool({ body: {
        tool_name: "CatalystbyZoho_List_All_Functions",
        arguments: {
          path_variables: { project_id: "31594000000127002" },
          headers: {},
          body: {}
        }
      }})
      
    4. 必須のパス変数がないツール(例:List_All_Organizations、List_All_Projects)は、arguments: {} で呼び出せます。
  • ない場合、かつタスクでリソースの作成、ファイルの書き込み、デプロイ、またはプロジェクト ID の読み取りが必要な場合 — 直ちに作業を中止してください。 コードを記述したり、ファイルを作成したりしないでください。ユーザーに次のように伝えてください。

    「Catalyst プロジェクトで作業するには、Zoho MCP に接続する必要があります。設定するには catalyst-zoho-mcp スキルを読み込んでください。1 分もかかりません。」 CatalystbyZoho_* ツールが表示されるまで、作業を続行しないでください。

このゲートが適用されるのは、Catalyst プロジェクトのファイルへの書き込み、デプロイ、プロジェクト ID または環境 ID の読み取り、あるいは MCP プロジェクト操作を行うタスクのみです。 情報に関する質問(料金、アーキテクチャのアドバイス、サービスの選定、「Catalyst とは?」、インストール方法、SDK の使用方法、または初期化済みプロジェクトを必要としない質問)では、このゲートを省略してください。

プロジェクトを変更するタスクでは、作業ディレクトリに .catalystrc と catalyst.json があることを確認してください。

  • ない場合 → MCP ツールで組織 ID とプロジェクト ID を取得し、次を実行します。
    catalyst init --org <orgId> -p <projectId> -ni
    
    対話形式で catalyst init を実行するようユーザーに求めないでください。また、.catalystrc や catalyst.json を自分で作成しないでください。これらは CLI によって生成される必要があります。 注: NI モードでリンクできるのは既存のプロジェクトのみです。プロジェクトがまだ存在しない場合は、ユーザーに Catalyst コンソールでプロジェクトを作成してから戻るよう伝えてください。戻った後、catalyst init -ni でリンクします。

Catalyst の概要

Catalyst を初めてお使いですか?各サービスの機能を一言で説明します。

サービス概要
Functionsサーバーレス関数 — 基本 I/O(HTTP)、高度な I/O、イベント、Cron、ジョブ、インテグレーション、ブラウザーロジック。呼び出しごとの課金です。
AppSail長時間実行するウェブアプリ向けの PaaS — Node.js、Java、Python のマネージドランタイム、または任意の Docker コンテナに対応します。
Data Storeリレーショナルテーブル(行と列、外部キー)。ZCQL(SQL のようなクエリ言語)または SDK でクエリを実行できます。
Stratusオブジェクト/ファイルストレージ(S3 のようなサービス)。バケット、フォルダー、オブジェクトを利用できます。オブジェクトあたり最大 250 GB です。
Slateフロントエンドのホスティング(Vercel のようなサービス)。React、Next.js、Vue、Angular、Svelte、Preact、Astro、SolidJS、静的 HTML をデプロイできます。
Cacheインメモリのキーと値のストア。セグメントに分割されています。TTL は時間単位で、最大 48 時間です。
NoSQL柔軟なスキーマ(固定列なし)を備えたドキュメントストレージ。非構造化データや多態性のあるデータに適しています。
Authentication組み込みのユーザー登録/ログイン(ZAID)。サードパーティー API 用の OAuth 接続。
SmartBrowzヘッドレスブラウザーの自動化、PDF/スクリーンショットの生成、ブラウザーロジック関数、Browser Grid(並列ブラウザー)、Dataverse(ウェブスクレイピング)。
Zia Services学習済みの AI/ML サービス:OCR、Face Analytics、Text Analytics、Object Detection、Barcode、Moderation。
QuickMLノーコード/ローコードの ML プラットフォーム — ML パイプライン、AutoML、LLM Serving、RAG、ナレッジベース、予測エンドポイント。(予測モデル:すべての DC。生成 AI:AU/SA/CA では利用不可。Zia Model Library:IN のみ。)
Circuitsサーバーレスのワークフローオーケストレーション(ステップ関数)。(EU/AU/IN/JP/SA/CA では利用できません。)
Signalsイベント駆動型のトリガー/パブリッシュ・サブスクライブ(旧 Event Listeners を置き換えます)。
Job Schedulingジョブプール+即時ジョブ+Cron — Job 関数、Webhook、Circuits、AppSail のスケジュール実行/バックグラウンド実行(旧 Cron を置き換えます)。
Zoho MCPAI ツールのインテグレーション — AI エージェントが CatalystbyZoho_* ツールを通じて Catalyst インフラストラクチャを管理できます。
ZCQLData Store 用の SQL のようなクエリ言語。SELECT、INSERT、UPDATE、DELETE に対応します。SELECT あたり最大 300 行です。
ZAIDZoho Account ID — 組み込みの認証 ID レイヤーです。ユーザー認証フローでは Web SDK と組み合わせて使用します。

スキルルーティング表

クエリの内容読み込むスキル
使用するサービス、アーキテクチャの決定、DC の制限catalyst-basics(../catalyst-basics/references/architecture.md を読み込みます)
プロジェクトのセットアップ、.catalystrc、環境、組織、ID、CLI コマンドcatalyst-basics
Functions — 種類、シグネチャ、catalyst-config.json、API Gateway、ファイルのアップロードcatalyst-functions
AppSail — バックエンド PaaS、Docker、マネージドランタイム、PORT 変数catalyst-appsail
Slate — フロントエンドのホスティング、フレームワーク、slate-config.toml、Git デプロイcatalyst-slate
Data Store — CRUD、ZCQL クエリ、権限、カラムの種類catalyst-datastore
Stratus — オブジェクトストレージ、アップロード/ダウンロード、署名付き URL、マルチパートcatalyst-stratus
NoSQL — ドキュメントストレージ、柔軟なスキーマ、コレクションcatalyst-nosql
Authentication — ユーザーのログイン/登録、ZAID、Web SDK 認証、Connections/OAuthcatalyst-authentication
Cache — インメモリーのキー値ストア、TTL、セグメント操作catalyst-cache
Pricing — 無料枠、従量課金、GB 秒、コストの見積もりcatalyst-pricing
SDKs — Node.js、Web、Python、Java、Android、iOS、Fluttercatalyst-sdk
Zia Services — OCR、顔/テキスト分析、モデレーションcatalyst-zia
QuickML — ML パイプライン、AutoML、LLM Serving、RAG、モデルエンドポイントcatalyst-quickml
Signals — イベント駆動型トリガー、パブリッシュ/サブスクライブ、イベントリスナー、カスタムパブリッシャー、Webhook ターゲット、ディスパッチポリシーcatalyst-signals
SmartBrowz — ヘッドレスブラウザー、Puppeteer、Playwright、Selenium、Browser Logic、PDF 生成、スクリーンショット、Browser Grid、Dataversecatalyst-smartbrowz
Job Scheduling — ジョブプール、即時/バックグラウンドジョブ、crons(Periodic/OneTime/Calendar/CronExpression)、submitJob、createCron、再試行catalyst-job-scheduling
Zoho MCP — MCP のセットアップ、CatalystbyZoho_* ツール、会話型インフラcatalyst-zoho-mcp
スキルの案内が誤っている、または古い — ユーザーからエラーの報告があった場合references/skill-feedback.md を読み込みます

使用禁止(非推奨および地域制限あり)

非推奨のサービス — 新規プロジェクトでは使用しないでください

2025 年 8 月 27 日より後に登録したユーザーは、これらのコンポーネントに一切アクセスできません。

使用しないでください代わりに使用
File StoreStratus(オブジェクトストレージ)
Event ListenersSignals(イベント駆動型アーキテクチャ)
CronJob Scheduling(スケジュール実行)
地域制限のあるサービス — 推奨する前に DC を確認してください

以下のデータセンターでは、これらのサービスを利用できません。該当地域のユーザー向けにこれらを使って構築すると、実行時にエラーが発生します。

サービス利用できない地域
CircuitsEU、AU、IN、JP、SA、CA
Integration FunctionsEU、AU、IN、JP、SA、CA
QuickML — Generative AI(LLM Serving、RAG、Knowledge Base)AU、SA、CA(予測/ML モデルはすべての DC で利用できます。QuickML コンソールの Zia Model Library は IN のみで利用できます)
Identity Scanner (Zia) — Document Processing(Aadhaar、PAN など)IN DC のみで利用できます。API も含まれます
Identity Scanner (Zia) — Facial ComparisonAPI/SDK 経由であれば、どの DC からでも利用できます。コンソールでのテストは IN DC のみです
Mobile Device ManagementEU、AU、IN、JP、SA、CA

確認方法: ユーザーに Catalyst アカウントで使用しているデータセンターを尋ねるか、コンソール URL に含まれる DC コードを確認してください(例:catalyst.zoho.in → IN、catalyst.zoho.eu → EU)。


非対話モード

CLI v1.27.0+ は非対話(NI)モードをサポートしています。CLI はプロンプトを表示せず、フラグと妥当なデフォルト値からすべての回答を取得します。

有効化: サポート対象のコマンドに -ni(または --non-interactive)を追加するか、環境変数 ZCATALYST_NON_INTERACTIVE=1 を設定します。

無効なコマンド: functions:setup → functions:add -ni を使用します。functions:shell → functions:execute を使用します。

使用できないオプション: NI モードでは、functions:delete と client:delete で --remote を使用できません。

ヒント: catalyst <command> -ni --help を実行すると、そのコマンドの NI 固有のヘルプが表示されます。


.catalystrc — 組織とプロジェクトのコンテキストの読み取り

catalyst init の実行後、プロジェクトのルートに .catalystrc ファイルが書き込まれます。ユーザーに尋ねずに現在のプロジェクトを特定できるよう、各セッションの開始時に読み取ってください。

実際の形式:

{
  "defaults": { "project": 1, "env": 1 },
  "actives":  { "project": 1, "env": 1 },
  "projects": [
    {
      "idx": 1,
      "id": "<projectId>",
      "name": "<projectName>",
      "domain": { "id": "<domainId>", "name": "<projectName>-<orgId>.development" },
      "env": [{ "idx": 1, "id": "<orgId>", "name": "Development", "type": 3 }]
    }
  ]
}

現在のプロジェクト ID と組織 ID の読み取り方:

  1. defaults.project を読み取ります。これは現在のプロジェクトの idx 値です
  2. idx が一致する projects 内のエントリを見つけ、その id を取得します。これは -p で使用するプロジェクト IDです
  3. 同じエントリから env[0].id を読み取ります。これは --org で使用する組織 IDです

クイックリファレンス:よくある落とし穴

  • 用語:必ず「organization」または「org」と表記し、「portal」は絶対に使用しないでください — catalyst init の CLI プロンプトには「Select a default Catalyst portal」と表示されますが、これは CLI の古い表現です。正しい用語は organization です
  • .catalystrc / catalyst.json がない → catalyst init --org <orgId> -p <projectId> -ni を実行します(ID は MCP から取得してください)。これらのファイルを手動で作成しないでください。また、対話型の catalyst init は使用しないでください
  • すべての Catalyst CLI コマンドはデフォルトで非対話型です(CLI v1.27.0+) — -ni と --org、-p、--name、--type、--stack の各フラグを必ず使用してください。エージェントのコンテキストでは、対話型メニューや矢印キーのメニューに切り替えないでください
  • catalyst functions:add の非対話モード — catalyst functions:add --name <n> --type <type> --stack <stack> -ni
  • ZCQL の結果行はラップされています → ラップを解除するには rows.map(r => r.TableName) を使用します
  • ZCQL のクエリあたりの最大行数は 300 件です → ページネーションには LIMIT offset, count を使用します
  • ZAID は Dev と Prod で異なります → 本番環境で最も多い認証の問題です
  • AppSail の PORT → PORT ではなく process.env.X_ZOHO_CATALYST_LISTEN_PORT を使用します
  • キャッシュ値は文字列のみです → JSON のシリアライズとデシリアライズは自分で行ってください
  • Stratus のバケット名はグローバルで一意である必要があります → {app-name}-{project-id-prefix} を使用します
  • Slate → 関数の呼び出しはクロスドメインです → 完全な URL と generateAuthToken() を使用し、CORS の許可リストに追加します
  • DataStore の App User 権限はデフォルトで OFF です → Console → Table → Scopes & Permissions で有効にします
  • catalyst-config.json の形式 → deployment と execution のキーのみです。function や entry_point は使用しません
  • Advanced I/O の node20 における req → 生の http.IncomingMessage です。res.json() ではなく、sendJson(res, ...) ヘルパーを使用します
  • signOut() にはリダイレクト URL が必要です → catalyst.auth.signOut(redirectURL)

ドキュメント

SDK ごとの llms-full.md ファイルは完全なリファレンスです。全体を読むのではなく、ダウンロードして必要なメソッドを grep で検索してください。overview/index.md ページは簡素なランディングページのスタブです。API の詳細を確認するために使用しないでください。

ドキュメントの取得:llms.txt はすべてのページをまとめた Markdown のインデックスです。ドキュメントページの URL の末尾に index.md を追加すると、HTML ではなく Markdown を取得できます。<!DOCTYPE html> で始まるレスポンスは、そのページが存在しないことを意味します。

コメント