mcpField
W
WidgetDash

WidgetDash

ローカル
widgetdash.appその他01 日前に更新

WidgetDash について

WidgetDashは、iPhoneのウィジェットやLive Activitiesに数値・ステータスデータを送信し、読み取るMCPサーバーです。MCPクライアント経由でAIエージェントにウィジェットを更新させたい人向けです。

主な機能

  1. 01値や指標セットの送信・更新
  2. 02データソースとウィジェット表示内容の読み取り
  3. 03数値、テキスト、ステータス、進捗、パーセンテージ、タイムスタンプの表示
  4. 04データソースの削除とLive Activitiesの終了

活用シーン

  1. 01iPhoneウィジェットへのStripe MRR表示
  2. 02ロック画面ウィジェットでのGitHubリポジトリ情報の追跡
  3. 03サーバーの稼働状態、CPU、稼働時間の表示
  4. 04ビルド後のCIステータス表示

MCP 対応

MCPクライアントに、WidgetDashデータの書き込み、読み取り、一覧表示、削除ツールを提供します。stdioで起動でき、アクセスにはAPIキーを使います。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"purian-widgetdash": {
"command": "npx",
"args": [
"-y",
"widgetdash-mcp"
],
"env": {
"WIDGETDASH_WRITE_KEY": "<WIDGETDASH_WRITE_KEY>",
"WIDGETDASH_READ_KEY": "<WIDGETDASH_READ_KEY>",
"WIDGETDASH_API_URL": "<WIDGETDASH_API_URL>"
}
}
}
}
起動コマンドnpx -y widgetdash-mcp
設定が必要な環境変数
WIDGETDASH_WRITE_KEYシークレットWidgetDash write key (from https://widgetdash.app/app). Required to push or delete widget data.
WIDGETDASH_READ_KEYシークレットOptional WidgetDash read key for read-only tools. Falls back to the write key.
WIDGETDASH_API_URLAPI base URL.

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

パッケージ
npmwidgetdash-mcp0.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

WidgetDash MCP サーバー

AI エージェントを使って、iPhoneに好きな数値を表示できます。

WidgetDashは、iPhoneのホーム画面ウィジェット、ロック画面ウィジェット、ライブアクティビティに、さまざまなサービスの数値を表示します。このModel Context Protocolサーバーを使うと、Claude Desktop、Claude Code、CursorなどのMCPクライアントからウィジェットにデータを送信し、読み取ることができます。たとえば、次のように頼むだけです。

「StripeのMRRをiPhoneのウィジェットに表示して。」

必要なもの

  1. 無料のWidgetDash iOSアプリ:https://apps.apple.com/us/app/widgetdash/id6761054679。ホーム画面またはロック画面にWidgetDashウィジェットを追加してください。
  2. APIキー。https://widgetdash.app/appで取得できます。
    • 書き込みキー:エージェントがウィジェットのデータを作成、更新できるようにします。
    • 読み取りキー(任意):読み取り専用のアクセス権を付与します。省略した場合、読み取りツールでは書き込みキーを使用します。
  3. Node.js 18以降(npxが付属しています)。

セットアップ

Claude Code
claude mcp add widgetdash -e WIDGETDASH_WRITE_KEY=your-write-key -- npx -y widgetdash-mcp
Claude Desktop

claude_desktop_config.jsonを編集し(「設定」→「開発者」→「設定を編集」)、Claude Desktopを再起動してください。

{
  "mcpServers": {
    "widgetdash": {
      "command": "npx",
      "args": ["-y", "widgetdash-mcp"],
      "env": {
        "WIDGETDASH_WRITE_KEY": "your-write-key",
        "WIDGETDASH_READ_KEY": "your-read-key"
      }
    }
  }
}
Cursor

すべてのプロジェクトに設定する場合は~/.cursor/mcp.jsonに、1つのプロジェクトに設定する場合は.cursor/mcp.jsonに追加してください。

{
  "mcpServers": {
    "widgetdash": {
      "command": "npx",
      "args": ["-y", "widgetdash-mcp"],
      "env": { "WIDGETDASH_WRITE_KEY": "your-write-key" }
    }
  }
}

stdioサーバーを起動できる他のMCPクライアントも、同じ方法で設定できます。コマンドはnpx -y widgetdash-mcpで、キーは以下の環境変数に設定します。

環境変数
変数必須説明
WIDGETDASH_WRITE_KEY書き込み時に必須https://widgetdash.app/appで取得できる書き込みキーです。push_metrics、push_number、delete_sourceで必要です。
WIDGETDASH_READ_KEYいいえ読み取りキーです。list_sourcesとget_widget_dataで使用します。設定されていない場合は、書き込みキーが使われます。
WIDGETDASH_API_URLいいえAPIのベースURLです。デフォルト:https://api.widgetdash.app。

プロンプトの例

  • 「StripeのMRRをiPhoneのウィジェットに表示して。」(エージェントがStripeツールで数値を読み取り、push_numberを呼び出します。)
  • 「今日のGitHubスター数、未解決のIssue、未解決のPRを、リポジトリ用のロック画面ウィジェットに表示して。」
  • 「CPUをプログレスバー、稼働時間を数値、ステータスを緑の『正常』バッジで表示する『Server』ウィジェットを作成して。」
  • 「ビルドが完了するたびに、『CI』ウィジェットのステータスを『成功』または『失敗』に設定して。」
  • 「今、WidgetDashウィジェットには何が表示されていますか?」
  • 「古い『test』ソースをウィジェットから削除して。」

ツール

ツール機能
push_numberソースの値を1つ設定します。例:MRR = $12,400。ソース内の他の指標はそのままです。指標はラベルで照合されます。ソースがまだ存在しない場合は作成されます。
push_metricsソースを作成または更新します。タイトル(display_name)、SF Symbolのicon、category、sort_order(新規ソースのみ。並べ替えはアプリで行います)、およびmetricsリスト全体を設定します。このリストは、ソースの現在の指標を置き換えます。
list_sourcesソース(キー、タイトル、アイコン、非表示または表示)と、プランで許可されているソース数を一覧表示します。無料プランでは5件まで利用できます。
get_widget_data現在ウィジェットに表示されている内容を表示します。有効なソースすべてとその指標、最終更新時刻を表示するほか、単一のソースを指定できます。
delete_sourceソースを完全に削除し、そのソースのライブアクティビティを終了します。
メトリクス

各メトリクスには label、value、任意の type、任意の color、任意の wide があります。

  • type は、ウィジェットで値をどのように表示するかを設定します。

    • number:大きく太字の数値です。
    • text:通常の文字列です。
    • status:色付きのバッジです。
    • progress:バーです。値は 0〜100 である必要があり、末尾の % は自動的に削除されます。
    • percentage:コンパクトなパーセント表示です。
    • timestamp:時刻を、「8 hours ago」のようなリアルタイムの相対時間で表示します。ISO 8601 形式の時刻(2026-10-23T05:00:00Z)または Unix エポック秒を送信してください。読み取り時には、相対時間と正確な時刻が表示されます。

    type を省略すると、数値のように見える値(42、$12,400、3.5%)は number に、それ以外は text になります。push_number を使うと、既存のメトリクスは現在の type、color、wide を維持し、ソースのその他のメトリクスは保存されていた状態で再送信されます。タイムスタンプは正確な時刻を維持し、ソースの色ルールで選択された色は引き続きそのルールに従います。

  • color:green、red、yellow、blue、gray、orange、purple または cyan です。

  • wide:true にすると、長いテキスト(タイトルなど)の場合に、大型ウィジェット(iOS アプリ 1.8 以降)でメトリクスが全幅の独立した行に表示されます。同じ行を共有するほかのテキストは最大 2 行まで表示されます。ほかのメトリクスを 1 行に保つには、幅広メトリクスを最後に配置してください。

  • icon:SF Symbol の名前を指定します。例:dollarsign.circle.fill、chart.bar.fill、server.rack、heart.fill。

省略したフィールド(display_name、icon、category、raw_data)は現在の値を維持します。sort_order が適用されるのは新しいソースのみです。ソースが作成されると、アプリで設定された順序が使われるため、エージェントがその順序を元に戻すことはできません。

セキュリティ

  • 書き込みキーで書き込めるのは、自分のウィジェットデータのみです。 ほかのユーザーのデータや、自分のアカウントの請求情報にはアクセスできません。
  • キーは、WidgetDash API へのリクエストの Authorization ヘッダーにのみ指定してください。サーバーがキーをログに記録することはなく、返すエラーテキストからも削除されます。
  • 書き込みキーはパスワードと同様に扱ってください。漏えいした場合は、https://widgetdash.app/app でキーをローテーションしてください。
  • サーバーが通信するのは WIDGETDASH_API_URL のみです。デフォルト値は https://api.widgetdash.app です。

開発

npm install
npm run build        # compiles src/ to dist/
npm test             # builds, then runs the end-to-end tests

npm test は、WidgetDash API のメモリ内モック(test/mock-api.mjs)に対して、すべてのツールを実際の MCP クライアント経由で stdio を使って実行します。ネットワークもキーも不要で、本番環境に接続することはありません。

対話形式で試すには、npx @modelcontextprotocol/inspector node dist/index.js を実行してください。

MCP レジストリ

server.json は、スキーマ 2025-12-11 に準拠した、名前 io.github.purian/widgetdash-mcp での公式 MCP レジストリへの登録情報です。npm の所有権確認では、package.json の mcpName フィールドがこの名前と一致している必要があります。ステータス:ドラフト。 まだ公開されておらず、レジストリもプレビュー段階です。そのため、mcp-publisher publish を実行する前に、server.json が現在のスキーマに準拠しているか確認してください。

ライセンス

MIT © WidgetDash

コメント

MCP は初めてですか?

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

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