mcpField
D
dashcheck

dashcheck

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

dashcheck について

dashcheckは、dashboardbaseのセットアップファイルとウィジェット応答を検証するクライアント兼MCPサーバーです。48時間で期限切れとなる読み取り専用リンクも作成できます。

主な機能

  1. 01セットアップのスキーマ、レイアウト、バインディング、内容を検証
  2. 02種類に応じたウィジェットJSONの検証
  3. 0348時間で期限切れとなる読み取り専用リンクの作成
  4. 04セットアップや応答ファイルをローカルから読み込み

活用シーン

  1. 01公開前のダッシュボード設定の確認
  2. 02ウィジェットエンドポイント応答の検証
  3. 03一時的な読み取り専用レビュー用の設定共有

MCP 対応

セットアップ検証、ウィジェット応答検証、セットアップリンク作成のツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-dashcheck": {
"command": "npx",
"args": [
"-y",
"@reneturcios/dashcheck"
]
}
}
}
起動コマンドnpx -y @reneturcios/dashcheck

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/dashcheck0.1.0
ocighcr.io/cloudcorprecords/dashcheck:0.1.0

ツール

3

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
pathstringいいえこの呼び出しで使用するファイルパス。
contentstringいいえこの呼び出しで使用するコンテンツ。

詳細

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。