apiVersion: dashboard.grafana.app/v2beta1 kind: Dashboard metadata: annotations: grafana.app/folder: dotcom grafana.app/saved-from-ui: Grafana Cloud (steady) labels: {} name: kotx6wj namespace: stacks-890472 spec: annotations: - kind: AnnotationQuery spec: builtIn: true enable: true hide: true iconColor: rgba(0, 211, 255, 1) name: Annotations & Alerts query: datasource: name: -- Grafana -- group: grafana kind: DataQuery spec: {} version: v0 cursorSync: 'Off' description: How many sessions have been created with the MCP App editable: true elements: panel-1: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: builder extrapolate: true format: time_series formattedQuery: " SELECT toStartOfInterval(timestamp, INTERVAL\ \ '$interval' SECOND) as date, blob1 as event, count() as total\n\ \ FROM 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from)\ \ AND timestamp <= toDateTime($to)\n AND blob1 = 'session_start'\n\ \ GROUP BY date, event\n ORDER BY date ASC\n" intervalFactor: 1 query: " SELECT toStartOfInterval(timestamp, INTERVAL '$interval'\ \ SECOND) as date, blob1 as event, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from) AND\ \ timestamp <= toDateTime($to)\n AND blob1 = 'session_start'\n\ \ GROUP BY date, event\n ORDER BY date ASC\n" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '120'\ \ SECOND) as date, blob1 as event, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime(1772623318)\ \ AND timestamp <= toDateTime(1772796118)\n AND blob1 = 'session_start'\n\ \ GROUP BY date, event\n ORDER BY date ASC" round: 0s skip_comments: true version: v0 refId: A queryOptions: {} transformations: [] description: Sessions are created when you make a request to the MCP worker id: 1 links: [] title: Sessions by Time vizConfig: group: timeseries kind: VizConfig spec: fieldConfig: defaults: color: mode: palette-classic custom: axisBorderShow: false axisCenteredZero: false axisColorMode: text axisLabel: '' axisPlacement: auto barAlignment: 0 barWidthFactor: 0.6 drawStyle: line fillOpacity: 0 gradientMode: none hideFrom: legend: false tooltip: false viz: false insertNulls: false lineInterpolation: linear lineWidth: 1 pointSize: 5 scaleDistribution: type: linear showPoints: auto showValues: false spanNulls: false stacking: group: A mode: none thresholdsStyle: mode: 'off' thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: legend: calcs: [] displayMode: list placement: bottom showLegend: true tooltip: hideZeros: false mode: single sort: none version: 13.0.0-22478626928 panel-4: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: builder extrapolate: true format: time_series formattedQuery: " SELECT toStartOfInterval(timestamp, INTERVAL\ \ '$interval' SECOND) as date, blob2 as tool, count() as total\n\ \ FROM 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from)\ \ AND timestamp <= toDateTime($to)\n AND blob1 = 'tool_called'\n\ \ and blob2 = 'exec'\n GROUP BY date, tool\n ORDER\ \ BY date ASC\n" intervalFactor: 1 query: " SELECT toStartOfInterval(timestamp, INTERVAL '$interval'\ \ SECOND) as date, blob2 as tool, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from)\ \ AND timestamp <= toDateTime($to)\n AND blob1 = 'tool_called'\n\ \ and blob2 = 'exec'\n GROUP BY date, tool\n ORDER\ \ BY date ASC\n" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '120'\ \ SECOND) as date, blob2 as tool, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime(1772623318)\ \ AND timestamp <= toDateTime(1772796118)\n AND blob1 = 'tool_called'\n\ \ and blob2 = 'exec'\n GROUP BY date, tool\n ORDER\ \ BY date ASC" round: 0s skip_comments: true version: v0 refId: A queryOptions: {} transformations: [] description: tool_called events for the exec tool. id: 4 links: [] title: Tool call (exec) vizConfig: group: stat kind: VizConfig spec: fieldConfig: defaults: color: mode: thresholds thresholds: mode: absolute steps: - color: blue value: 0 overrides: [] options: colorMode: value graphMode: area justifyMode: center orientation: auto percentChangeColorMode: standard reduceOptions: calcs: - sum fields: '' values: false showPercentChange: false textMode: auto wideLayout: true version: 13.0.0-22478626928 panel-2: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: builder extrapolate: true format: time_series formattedQuery: " SELECT toStartOfInterval(timestamp, INTERVAL\ \ '$interval' SECOND) as date, blob2 as tool, count() as total\n\ \ FROM 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from)\ \ AND timestamp <= toDateTime($to)\n AND blob1 = 'tool_called'\n\ \ and blob2 = 'search'\n GROUP BY date, tool\n ORDER\ \ BY date ASC\n" intervalFactor: 1 query: " SELECT toStartOfInterval(timestamp, INTERVAL '$interval'\ \ SECOND) as date, blob2 as tool, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from)\ \ AND timestamp <= toDateTime($to)\n AND blob1 = 'tool_called'\n\ \ and blob2 = 'search'\n GROUP BY date, tool\n\ \ ORDER BY date ASC\n" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '120'\ \ SECOND) as date, blob2 as tool, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime(1772623318)\ \ AND timestamp <= toDateTime(1772796118)\n AND blob1 = 'tool_called'\n\ \ and blob2 = 'search'\n GROUP BY date, tool\n\ \ ORDER BY date ASC" round: 0s skip_comments: true version: v0 refId: A queryOptions: {} transformations: [] description: tool_called events for the search tool. id: 2 links: [] title: Tool call (search) vizConfig: group: stat kind: VizConfig spec: fieldConfig: defaults: color: mode: thresholds thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: colorMode: value graphMode: area justifyMode: center orientation: auto percentChangeColorMode: standard reduceOptions: calcs: - sum fields: '' values: false showPercentChange: false textMode: auto wideLayout: true version: 13.0.0-22478626928 panel-6: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: builder extrapolate: true format: time_series formattedQuery: " SELECT toStartOfInterval(timestamp, INTERVAL\ \ '$interval' SECOND) as date, blob1 as event, count() as total\n\ \ FROM 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from)\ \ AND timestamp <= toDateTime($to)\n AND blob1 = 'session_start'\n\ \ GROUP BY date, event\n ORDER BY date ASC\n" intervalFactor: 1 query: " SELECT toStartOfInterval(timestamp, INTERVAL '$interval'\ \ SECOND) as date, blob1 as event, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime($from) AND\ \ timestamp <= toDateTime($to)\n AND blob1 = 'session_start'\n\ \ GROUP BY date, event\n ORDER BY date ASC\n" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '120'\ \ SECOND) as date, blob1 as event, count() as total\n FROM\ \ 'MCP_ANALYTICS'\n WHERE timestamp >= toDateTime(1772622707)\ \ AND timestamp <= toDateTime(1772795507)\n AND blob1 = 'session_start'\n\ \ GROUP BY date, event\n ORDER BY date ASC" round: 0s skip_comments: true version: v0 refId: A queryOptions: {} transformations: [] description: Sessions are created when you make a request to the MCP worker id: 6 links: [] title: Total Sessions vizConfig: group: stat kind: VizConfig spec: fieldConfig: defaults: color: mode: thresholds thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: colorMode: value graphMode: area justifyMode: auto orientation: auto percentChangeColorMode: standard reduceOptions: calcs: - sum fields: '' values: false showPercentChange: false textMode: auto wideLayout: true version: 13.0.0-22478626928 panel-7: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: code extrapolate: true format: time_series formatAs: time_series intervalFactor: 1 query: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, count() as sessions FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'session_start' GROUP BY date ORDER BY date ASC" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, count() as sessions FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'session_start' GROUP BY date ORDER BY date ASC" round: 0s showFormattedSQL: false showHelp: false skip_comments: true step: '' version: v0 refId: A queryOptions: {} transformations: [] description: session_start events from the tldraw MCP server (MCP_ANALYTICS dataset). Requires the MCP_ANALYTICS table in this datasource. id: 7 links: [] title: MCP sessions started vizConfig: group: timeseries kind: VizConfig spec: fieldConfig: defaults: color: mode: palette-classic custom: axisBorderShow: false axisCenteredZero: false axisColorMode: text axisLabel: '' axisPlacement: auto barAlignment: 0 barWidthFactor: 0.8 drawStyle: bars fillOpacity: 80 gradientMode: none hideFrom: legend: false tooltip: false viz: false insertNulls: false lineInterpolation: linear lineWidth: 0 pointSize: 5 scaleDistribution: type: linear showPoints: never showValues: false spanNulls: false stacking: group: A mode: none thresholdsStyle: mode: 'off' thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: annotations: clustering: -1 multiLane: false legend: calcs: [] displayMode: list enableFacetedFilter: false overflow: ellipsis placement: bottom showLegend: false tooltip: hideZeros: false maxHeight: 600 mode: multi sort: desc version: 13.2.0-29854286369 panel-10: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: code extrapolate: true format: time_series formatAs: time_series intervalFactor: 1 query: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, count() as sessions FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'session_end' GROUP BY date ORDER BY date ASC" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, count() as sessions FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'session_end' GROUP BY date ORDER BY date ASC" round: 0s showFormattedSQL: false showHelp: false skip_comments: true step: '' version: v0 refId: A queryOptions: {} transformations: [] description: session_end events from the tldraw MCP server (MCP_ANALYTICS dataset). Requires the MCP_ANALYTICS table in this datasource. id: 10 links: [] title: MCP sessions ended vizConfig: group: timeseries kind: VizConfig spec: fieldConfig: defaults: color: mode: palette-classic custom: axisBorderShow: false axisCenteredZero: false axisColorMode: text axisLabel: '' axisPlacement: auto barAlignment: 0 barWidthFactor: 0.8 drawStyle: bars fillOpacity: 80 gradientMode: none hideFrom: legend: false tooltip: false viz: false insertNulls: false lineInterpolation: linear lineWidth: 0 pointSize: 5 scaleDistribution: type: linear showPoints: never showValues: false spanNulls: false stacking: group: A mode: none thresholdsStyle: mode: 'off' thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: annotations: clustering: -1 multiLane: false legend: calcs: [] displayMode: list enableFacetedFilter: false overflow: ellipsis placement: bottom showLegend: false tooltip: hideZeros: false maxHeight: 600 mode: multi sort: desc version: 13.2.0-29854286369 panel-8: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: code extrapolate: true format: time_series formatAs: time_series intervalFactor: 1 query: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, blob2 as tool, count() as calls FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'tool_called' GROUP BY date, tool ORDER BY date ASC" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, blob2 as tool, count() as calls FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'tool_called' GROUP BY date, tool ORDER BY date ASC" round: 0s showFormattedSQL: false showHelp: false skip_comments: true step: '' version: v0 refId: A queryOptions: {} transformations: [] description: tool_called events split by tool name (search, exec). id: 8 links: [] title: MCP tool calls by tool vizConfig: group: timeseries kind: VizConfig spec: fieldConfig: defaults: color: mode: palette-classic custom: axisBorderShow: false axisCenteredZero: false axisColorMode: text axisLabel: '' axisPlacement: auto barAlignment: 0 barWidthFactor: 0.8 drawStyle: bars fillOpacity: 80 gradientMode: none hideFrom: legend: false tooltip: false viz: false insertNulls: false lineInterpolation: linear lineWidth: 0 pointSize: 5 scaleDistribution: type: linear showPoints: never showValues: false spanNulls: false stacking: group: A mode: normal thresholdsStyle: mode: 'off' thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: annotations: clustering: -1 multiLane: false legend: calcs: [] displayMode: list enableFacetedFilter: false overflow: ellipsis placement: bottom showLegend: true tooltip: hideZeros: false maxHeight: 600 mode: multi sort: desc version: 13.2.0-29854286369 panel-9: kind: Panel spec: data: kind: QueryGroup spec: queries: - kind: PanelQuery spec: hidden: false query: datasource: name: bdgu7tk03irr4e group: vertamedia-clickhouse-datasource kind: DataQuery spec: dateTimeType: DATETIME editorMode: code extrapolate: true format: time_series formatAs: time_series intervalFactor: 1 query: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, count() as reads FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'resource_called' GROUP BY date ORDER BY date ASC" rawQuery: "SELECT toStartOfInterval(timestamp, INTERVAL '$interval' SECOND) as date, count() as reads FROM 'MCP_ANALYTICS' WHERE timestamp >= toDateTime($from) AND timestamp <= toDateTime($to) AND blob1 = 'resource_called' GROUP BY date ORDER BY date ASC" round: 0s showFormattedSQL: false showHelp: false skip_comments: true step: '' version: v0 refId: A queryOptions: {} transformations: [] description: resource_called events for the tldraw-canvas UI resource. id: 9 links: [] title: MCP canvas resource reads vizConfig: group: timeseries kind: VizConfig spec: fieldConfig: defaults: color: mode: palette-classic custom: axisBorderShow: false axisCenteredZero: false axisColorMode: text axisLabel: '' axisPlacement: auto barAlignment: 0 barWidthFactor: 0.8 drawStyle: line fillOpacity: 25 gradientMode: opacity hideFrom: legend: false tooltip: false viz: false insertNulls: false lineInterpolation: linear lineWidth: 1.5 pointSize: 5 scaleDistribution: type: linear showPoints: never showValues: false spanNulls: false stacking: group: A mode: none thresholdsStyle: mode: 'off' thresholds: mode: absolute steps: - color: green value: 0 overrides: [] options: annotations: clustering: -1 multiLane: false legend: calcs: [] displayMode: list enableFacetedFilter: false overflow: ellipsis placement: bottom showLegend: false tooltip: hideZeros: false maxHeight: 600 mode: multi sort: desc version: 13.2.0-29854286369 layout: kind: GridLayout spec: items: - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-6 height: 13 width: 12 x: 0 y: 0 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-1 height: 13 width: 12 x: 12 y: 0 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-4 height: 13 width: 12 x: 0 y: 13 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-2 height: 13 width: 12 x: 12 y: 13 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-7 height: 8 width: 6 x: 0 y: 26 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-10 height: 8 width: 6 x: 6 y: 26 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-8 height: 8 width: 6 x: 12 y: 26 - kind: GridLayoutItem spec: element: kind: ElementReference name: panel-9 height: 8 width: 6 x: 18 y: 26 links: [] liveNow: false preload: false tags: - provisioned - repo:tldraw/tldraw timeSettings: autoRefresh: '' autoRefreshIntervals: - 5s - 10s - 30s - 1m - 5m - 15m - 30m - 1h - 2h - 1d fiscalYearStartMonth: 0 from: now-6h hideTimepicker: false timezone: browser to: now title: MCP app sessions variables: []