mcpField
C
connector-dev

connector-dev

github.com/stahuraデータ・データベース24190 回インストール26 週間前に更新
リポジトリ

connector-dev について

Domo Custom Connector IDEでサーバー側コネクターを開発するためのスキルです。認証、データ処理、ページネーション、エラー処理のパターンを扱います。

主な機能

  1. 01認証情報の検証と接続テスト
  2. 02HTTP ステータスとエラーの処理
  3. 03JSON 配列の解析とページネーション
  4. 04Domo ライブラリによるデータ処理
  5. 05コネクター開発チェックリスト

活用シーン

  1. 01外部 API コネクターの認証実装
  2. 02ページネーションを伴う API 応答の処理
  3. 03コネクターの列構成とエラー処理の確認

インストール

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

$npx skills add https://github.com/stahura/domo-ai-vibe-rules --skill connector-dev

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

同梱ファイルreferences/examples.md

詳細

スコープ

このスキルはDomo Custom Connector IDEプロジェクト向けです。Domo App Platform のカスタムアプリやカードの構築向けではありません。カスタムコネクターは、Connector Dev Studio 経由で公開した後、サーバー側で実行されます。


ファイル構成

  • authentication.js — 認証情報を検証し、外部 API に対して認証します
  • dataProcessing.js — 外部 API からデータを取得して処理します
  • README.md — 利用可能なレポートとパラメーターを説明します

主なパターン

認証
  • 認証情報を使用する前に、入力をサニタイズし(正規表現で API キーやトークンを検証します)
  • 必須のヘッダーを設定した後、軽量なテストリクエストを実行して認証情報を検証します
  • auth.authenticationSuccess() または auth.authenticationFailed('reason') を呼び出します。認証状態を曖昧なままにしないでください
データ処理
  • レスポンス本文を解析する前に、httprequest.getStatusCode() を確認します
  • JSON 配列のレスポンスには datagrid.magicParseJSON(jsonArray) を使用します。手動での列マッピングを避けられます
  • do...while ループでページネーションを処理します。レスポンスの次ページへのリンクまたはカーソルをループ条件として使用します
  • レポートの種類ごとに処理を分岐するには metadata.report を使用します。認証情報には metadata.account.* を使用します
エラー処理
  • HTTP エラーをステータスコードで捕捉し、人が読めるメッセージを得るためにエラー本文の解析を試みます
  • エラー本文を JSON として解析できない場合は、生のレスポンスの部分文字列にフォールバックします
  • コネクターのランタイムで正しく表示されるよう、エラーを再スローします

ルール

  1. 入力のサニタイズ — インジェクション攻撃を防ぐため、常に入力(API キー、ユーザーパラメーター)をサニタイズします
  2. 列の一貫性 — すべての行で列を揃えます。値がない場合は null を使用します
  3. Domo ライブラリ — Domo 提供のメソッド(httprequest、datagrid、auth、metadata)を使用します。リファレンスドキュメントを参照してください
  4. 明確なエラーメッセージ — auth.authenticationFailed() のメッセージでは、ユーザーが何を修正すべきかを伝えます

コード例

認証、データ処理、またはエラー処理パターンの完全なボイラープレートが必要な場合は、references/examples.md を参照してください。


チェックリスト

  • authentication.js で入力形式を検証し、認証情報をテストしている
  • authentication.js で状況に応じて auth.authenticationSuccess() または auth.authenticationFailed() を呼び出している
  • dataProcessing.js でページネーションを正しく処理している
  • dataProcessing.js で JSON を解析する前に HTTP ステータスコードを確認している
  • dataProcessing.js で JSON 配列に datagrid.magicParseJSON() を使用している
  • すべての入力がサニタイズされている
  • エラーメッセージが明確で、対処方法が分かる
  • README.md にすべてのレポートとパラメーターが記載されている
  • すべての行で列数が揃っている

コメント