Skip to main content
Glama
DUROV-OS

Dashboard MCP

by DUROV-OS

Dashboard MCP

MCP 커넥터 + AI 에이전트가 완전히 제어하는 대시보드용 read-only 웹 뷰어. 각각 고유한 slug, 파일 및 URL /d/<slug>을 가진 임의 개수의 독립적인 대시보드를 지원합니다.

라이브 서비스: https://dashboard.89-207-254-32.nip.io

  • 대시보드 목록: /

  • 특정 대시보드 (read-only, 5초마다 자동 새로고침): /d/<slug>

  • JSON API (역시 read-only): /api/dashboards, /api/dashboards/<slug>

  • MCP 엔드포인트 (OAuth 필요): /mcp

작동 방식

  • mcp_app.py — 단일 MCPServer를 생성하며, OAuth(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 하나.

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