Skip to main content
Glama
DUROV-OS

Dashboard MCP

by DUROV-OS

Dashboard MCP

MCPコネクタ + 読み取り専用ウェブビューア。ダッシュボードはAIエージェントが完全に制御します。独立したダッシュボードを任意の数だけサポートし、それぞれが独自のslug、ファイル、URL /d/<slug> を持ちます。

ライブサービス: https://dashboard.89-207-254-32.nip.io

  • ダッシュボード一覧: /

  • 特定のダッシュボード (読み取り専用、5秒ごとに自動更新): /d/<slug>

  • JSON API (こちらも読み取り専用): /api/dashboards, /api/dashboards/<slug>

  • MCPエンドポイント (OAuthが必要): /mcp

仕組み

  • mcp_app.py — 単一の MCPServer を作成します。OAuth (OAUTH_* 変数が設定されている場合) 付き、またはなし (ローカル開発用)。

  • tools.py — MCPツール (@mcp.tool()): list_dashboards, create_dashboard, get_dashboard, update_dashboard_meta, delete_dashboard, add_widget, update_widget, remove_widget, reorder_widgets, replace_widgets。これがエージェントがダッシュボードを管理する手段です。/mcp でOAuthによって保護されています。

  • web.py — 公開HTMLページとJSON API (@mcp.custom_route、SDKのドキュメントによると認証は不要) — ブラウザで人が閲覧するためのものです。

  • models.py — ウィジェットのpydanticスキーマ: text, list, stats, progress, chart。

  • store.py — ファイルストレージ。data/dashboards/ にダッシュボードごとにJSONが1つあります。

Related MCP server: Agent Team MCP Server

ウィジェットの種類

{"type": "text", "title": "Заметка", "body": "..."}
{"type": "list", "title": "Задачи", "ordered": false, "items": [{"label": "...", "value": "...", "note": "..."}]}
{"type": "stats", "title": "Метрики", "items": [{"label": "MRR", "value": "128k", "unit": "₽", "delta": "+12%", "trend": "up"}]}
{"type": "progress", "title": "Прогресс", "items": [{"label": "Q3", "value": 62, "max": 100, "color": "#395b4b"}]}
{"type": "chart", "title": "Динамика", "chartType": "line", "labels": ["Пн","Вт"], "series": [{"name": "Заказы", "data": [3, 7]}]}

共通フィールド: title (任意), size: sm|md|lg|full (グリッド内の幅)。

ローカルでの起動

pip install -r requirements.txt
cp .env.example .env   # можно оставить OAUTH_* пустыми — сервер поднимется без auth
MCP_TRANSPORT=streamable-http python server.py
# либо просто `python server.py` для stdio (claude mcp add / MCP Inspector)

Claude にコネクタを接続する方法

  1. サーバー上に静的OAuthクライアントが作成されています (Client ID/Secret は別途発行されます)。

  2. Claude で: Settings → Connectors → Add custom connector。

    • URL: https://dashboard.89-207-254-32.nip.io/mcp

    • Client ID / Client Secret — デプロイ時に発行された値を使用します。

  3. 認証後、エージェントは tools.py のツールを使用できるようになります。

デプロイ

本番サーバーはこのリポジトリを自動的に取得します: deploy/deploy.sh がcronで2分ごとに実行され、ローカルの HEAD と origin/main を比較し、新しいコミットがあれば git reset --hard + docker compose up -d --build + /healthz のチェックを行います。main に git push するだけで、本番環境の変更は約~2分以内に自動的に反映されます。

最終確認デプロイ: 2026-08-19T15:29:01Z

Related MCP Connectors

Related MCP Servers