dashcheck について
dashcheckは、dashboardbaseのセットアップファイルとウィジェット応答を検証するクライアント兼MCPサーバーです。48時間で期限切れとなる読み取り専用リンクも作成できます。
主な機能
- 01セットアップのスキーマ、レイアウト、バインディング、内容を検証
- 02種類に応じたウィジェットJSONの検証
- 0348時間で期限切れとなる読み取り専用リンクの作成
- 04セットアップや応答ファイルをローカルから読み込み
活用シーン
- 01公開前のダッシュボード設定の確認
- 02ウィジェットエンドポイント応答の検証
- 03一時的な読み取り専用レビュー用の設定共有
MCP 対応
セットアップ検証、ウィジェット応答検証、セットアップリンク作成のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | いいえ | この呼び出しで使用するファイルパス。 |
| content | string | いいえ | この呼び出しで使用するコンテンツ。 |
詳細
dashcheck
ダッシュボードを公開する前にチェックします。dashcheck は dashboardbase 検証サービス向けの小さなクライアントです。セットアップファイルを渡すと、スキーマ、レイアウト、バインディング、コンテンツに関するエラーを報告します。ウィジェットエンドポイントが実際に返した JSON を渡すと、その型のウィジェット契約に照らしてレスポンス本文をチェックします。また、セットアップを共有できる状態になったら、48 時間後に期限切れとなる読み取り専用リンクを作成できます。
セットアップの内容は文字列として直接渡すことも、ローカルファイルのパスで指定することもできます。パスを指定した場合、ファイルはお使いのマシン上で読み込まれ、そのテキストが送信されます。サービスから返された内容は、加工せずそのまま返します。途中で切り詰めたり、名前を変更したり、要約したりすることはありません。これには拒否のレスポンスも含まれます。セットアップファイルに認証情報が含まれている場合、サービス自体がリンクの作成を拒否し、問題のあるフィールドを列挙します。その拒否本文も、ほかのレスポンスと同様にそのまま返されます。
設定
次の 3 つの環境変数でクライアントを制御します。
DASHBOARDBASE_API_URL(任意)— API のベース URL です。 デフォルトはhttps://api.dashboardbase.comです。DASHBOARDBASE_API_KEY(任意)— 設定すると、すべてのリクエストでx-api-keyヘッダーとして送信されます。未設定でもエラーにはなりません。検証エンドポイントはキーなしで利用できます。DASHBOARDBASE_TIMEOUT_MS(任意)— アボートコントローラーで適用するリクエストのタイムアウト時間(ミリ秒)です。 デフォルトは15000です。タイムアウトはフェッチ失敗として扱われます。
ツール
validate_setup_file— dashboardbase セットアップファイル(JSON)を検証し、スキーマ、レイアウト、バインディング、コンテンツに関するエラーを返します。content(セットアップファイルの内容)またはpath(セットアップファイルのローカルパス)を受け取ります。どちらか一方が必須です。validate_widget_response— ウィジェットエンドポイントの JSON レスポンスを、その型(kpi、timeseries、bar、table、text)に対応する dashboardbase ウィジェット契約に照らして検証します。response(エンドポイントが返した JSON 本文)またはpath(レスポンスを格納した JSON ファイルのローカルパス)を受け取ります。どちらか一方が必須です。widgetTypeは任意で、レスポンスエンベロープ内の型フィールドを上書きします。JSON として解析できるレスポンス値は解析済みの値として送信され、それ以外は未加工の文字列として送信されます。create_setup_link— セットアップファイルの共有可能な読み取り専用リンクを作成します。リンクは 48 時間後に期限切れとなります。上記と同様にcontentまたはpathを受け取ります。
いずれか一方を指定するルールは、リクエストを送信する前にローカルで適用されます。one of content or path is required(ウィジェットレスポンスツールの場合は one of response or path is required)。ローカルファイルを読み込めない場合は cannot read file: <path> で失敗します。上流から 2xx 以外のレスポンスが返された場合は dashboardbase error: HTTP <status>、タイムアウトを含め API に到達できない場合は dashboardbase unreachable で失敗します。
エンドポイントの出典
元の記録には、3 つのツール、その引数テーブル、3 つの環境変数、48 時間のリンク動作、認証情報による拒否動作が記載されていますが、上流の HTTP パスは公開されていません。以下の 3 つのパスは再構成したものであり、その旨を明記しています。
POST <base>/validate/setup-file、JSON 本文{"content": "..."}— 再構成(validate_setup_fileで使用)。POST <base>/validate/widget-response、JSON 本文{"response": ..., "widgetType": "..."}(指定されていない場合はwidgetTypeキーを省略)— 再構成(validate_widget_responseで使用)。POST <base>/setup-links、JSON 本文{"content": "..."}— 再構成(create_setup_linkで使用)。
CLI
各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドです。
npx @reneturcios/dashcheck validate_setup_file '{"path":"./setup.json"}'
npx @reneturcios/dashcheck validate_widget_response '{"response":"{\"type\":\"kpi\",\"value\":42}","widgetType":"kpi"}'
npx @reneturcios/dashcheck create_setup_link '{"content":"{\"widgets\":[]}"}'
npx @reneturcios/dashcheck --version
出力はツールの結果テキストです(成功時は上流の本文)。終了コード:成功時は 0、実行時エラー(検証、ファイル読み込み、上流の失敗を含む)時は 1、使用方法のエラー時は 2 です。
MCP サーバー
npx -y @reneturcios/dashcheck mcp
MCP クライアントの設定(キーは任意です。キーを使う場合は、クライアントの環境変数として指定してください):
{
"mcpServers": {
"dashcheck": {
"command": "npx",
"args": ["-y", "@reneturcios/dashcheck", "mcp"],
"env": {
"DASHBOARDBASE_API_KEY": "<your key>"
}
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/dashcheck
docker run --rm ghcr.io/cloudcorprecords/dashcheck validate_setup_file '{"path":"./setup.json"}'
開発
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch and injected file reader only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。