{"title":"NoBS DDOG MCP Usage","description":"Tracks Datadog MCP tool call usage against rate limits: 50,000 monthly tool calls and 50 requests/10 seconds burst limit.","widgets":[{"id":5847291036485721,"definition":{"title":"Monthly Quota Burndown (50,000 calls/month)","type":"group","layout_type":"ordered","widgets":[{"id":8192736450281937,"definition":{"type":"note","content":"## Monthly Quota\n\n**50,000 tool calls/month** across the org.\n\nThe burndown chart tracks cumulative usage against the monthly ceiling. Filter by user or client with the template variables above.","background_color":"white","font_size":"14","text_align":"left","vertical_align":"top","show_tick":false,"tick_pos":"50%","tick_edge":"left"},"layout":{"x":0,"y":0,"width":3,"height":3}},{"id":6382917450293817,"definition":{"title":"Total Tool Calls","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"usage"}]}],"autoscale":false,"precision":0},"layout":{"x":3,"y":0,"width":3,"height":3}},{"id":2918374650291837,"definition":{"title":"Remaining","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"limit","data_source":"metrics","query":"max:datadog.mcp.quota.monthly.limit{*}","aggregator":"last"},{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"limit - usage"}],"conditional_formats":[{"comparator":"<=","value":5000,"palette":"white_on_red"},{"comparator":"<=","value":15000,"palette":"white_on_yellow"},{"comparator":">","value":15000,"palette":"white_on_green"}]}],"autoscale":false,"precision":0},"layout":{"x":6,"y":0,"width":3,"height":3}},{"id":1928374650918273,"definition":{"title":"% Used","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"limit","data_source":"metrics","query":"max:datadog.mcp.quota.monthly.limit{*}","aggregator":"last"},{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"(usage / limit) * 100"}],"conditional_formats":[{"comparator":">=","value":90,"palette":"white_on_red"},{"comparator":">=","value":70,"palette":"white_on_yellow"},{"comparator":"<","value":70,"palette":"white_on_green"}]}],"autoscale":false,"custom_unit":"%","precision":1},"layout":{"x":9,"y":0,"width":3,"height":3}},{"id":8372910456382917,"definition":{"title":"Cumulative Tool Calls vs Monthly Limit","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()"}],"formulas":[{"formula":"cumsum(usage)","alias":"This Month"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"thick"},"display_type":"area"},{"response_format":"timeseries","queries":[{"name":"usage_prev","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()"}],"formulas":[{"formula":"calendar_shift(cumsum(usage_prev), '-1mo', 'UTC', 'preserve_duration')","alias":"Last Month"}],"style":{"palette":"warm","line_type":"dashed","line_width":"normal"},"display_type":"line"}],"markers":[{"label":"Monthly Limit (50,000)","value":"y = 50000","display_type":"error dashed"}]},"layout":{"x":0,"y":3,"width":8,"height":4}},{"id":7291837465029183,"definition":{"title":"Daily Tool Calls by User","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {user_email}.as_count()"}],"formulas":[{"formula":"usage"}],"style":{"palette":"dog_classic"},"display_type":"bars"},{"response_format":"timeseries","queries":[{"name":"usage_prev","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()"}],"formulas":[{"formula":"calendar_shift(usage_prev, '-1mo', 'UTC', 'preserve_duration')","alias":"Last Month Total"}],"style":{"palette":"warm","line_type":"dashed","line_width":"normal"},"display_type":"line"}]},"layout":{"x":8,"y":3,"width":4,"height":4}}]},"layout":{"x":0,"y":0,"width":12,"height":8}},{"id":3928174650391822,"definition":{"title":"Burst Rate Limits (50 req/10s)","type":"group","layout_type":"ordered","widgets":[{"id":6192837465019283,"definition":{"type":"note","content":"## Burst Limit\n\n**50 req / 10 sec**\n\nPer-user burst ceiling.","background_color":"white","font_size":"14","text_align":"left","vertical_align":"top","show_tick":false,"tick_pos":"50%","tick_edge":"left"},"layout":{"x":0,"y":0,"width":2,"height":3}},{"id":5192837465029183,"definition":{"title":"Burst Limit (per 10s)","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"burst","data_source":"metrics","query":"max:datadog.mcp.quota.burst.limit{*}","aggregator":"last"}],"formulas":[{"formula":"burst"}]}],"autoscale":false,"precision":0},"layout":{"x":2,"y":0,"width":2,"height":3}},{"id":3192837465029184,"definition":{"title":"Total Sessions","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"sessions","data_source":"metrics","query":"sum:datadog.mcp.session.starts{$user_email,$client}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"sessions"}]}],"autoscale":false,"precision":0},"layout":{"x":4,"y":0,"width":2,"height":3}},{"id":4192837465029183,"definition":{"title":"Tool Call Volume per 10s (watch for burst spikes)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"rate","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {user_email}.as_count().rollup(sum, 10)"}],"formulas":[{"formula":"rate"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"markers":[{"label":"Burst Limit (50 req/10s)","value":"y = 50","display_type":"error dashed"}]},"layout":{"x":6,"y":0,"width":6,"height":3}}]},"layout":{"x":0,"y":8,"width":12,"height":4}},{"id":7291038465201938,"definition":{"title":"Usage Breakdown","type":"group","layout_type":"ordered","widgets":[{"id":3358128583445681,"definition":{"title":"Tool Calls by User - Month Over Month","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"query1","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {user_email}.as_count()"}],"formulas":[{"formula":"query1"}],"style":{"palette":"dog_classic","order_by":"values","line_type":"solid","line_width":"normal"},"display_type":"line"},{"response_format":"timeseries","queries":[{"name":"prev","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()"}],"formulas":[{"formula":"calendar_shift(prev, '-1mo', 'UTC', 'preserve_duration')","alias":"Last Month Total"}],"style":{"palette":"warm","line_type":"dashed","line_width":"normal"},"display_type":"line"}]},"layout":{"x":0,"y":0,"width":4,"height":3}},{"id":1977107223949996,"definition":{"title":"Tool Calls by Tool Name - Month Over Month","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"query1","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {tool_name}.as_count()"}],"formulas":[{"formula":"query1"}],"style":{"palette":"dog_classic","order_by":"values","line_type":"solid","line_width":"normal"},"display_type":"line"},{"response_format":"timeseries","queries":[{"name":"prev","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()"}],"formulas":[{"formula":"calendar_shift(prev, '-1mo', 'UTC', 'preserve_duration')","alias":"Last Month Total"}],"style":{"palette":"warm","line_type":"dashed","line_width":"normal"},"display_type":"line"}]},"layout":{"x":4,"y":0,"width":4,"height":3}},{"id":4347601287079091,"definition":{"title":"Tool Calls by Client - Month Over Month","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"query1","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {client}.as_count()"}],"formulas":[{"formula":"query1"}],"style":{"palette":"dog_classic","order_by":"values","line_type":"solid","line_width":"normal"},"display_type":"line"},{"response_format":"timeseries","queries":[{"name":"prev","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client}.as_count()"}],"formulas":[{"formula":"calendar_shift(prev, '-1mo', 'UTC', 'preserve_duration')","alias":"Last Month Total"}],"style":{"palette":"warm","line_type":"dashed","line_width":"normal"},"display_type":"line"}]},"layout":{"x":8,"y":0,"width":4,"height":3}}]},"layout":{"x":0,"y":12,"width":12,"height":4}},{"id":9182736450192836,"definition":{"title":"Per-User Activity Report","show_title":true,"type":"group","layout_type":"ordered","widgets":[{"id":9384756012938472,"definition":{"title":"Top Users by Tool Calls","type":"toplist","requests":[{"response_format":"scalar","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {user_email}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"usage"}],"sort":{"count":10,"order_by":[{"type":"formula","index":0,"order":"desc"}]}}]},"layout":{"x":0,"y":0,"width":5,"height":5}},{"id":9485761023948572,"definition":{"title":"Top Tools by Call Volume","type":"toplist","requests":[{"response_format":"scalar","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {tool_name}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"usage"}],"sort":{"count":10,"order_by":[{"type":"formula","index":0,"order":"desc"}]}}]},"layout":{"x":5,"y":0,"width":7,"height":5}},{"id":9687123045968712,"definition":{"title":"Top Tools per User","type":"query_table","requests":[{"response_format":"scalar","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {user_email,tool_name}.as_count()","aggregator":"sum"}],"sort":{"count":25,"order_by":[{"type":"formula","index":0,"order":"desc"}]},"formulas":[{"formula":"usage","cell_display_mode":"bar"}]}]},"layout":{"x":0,"y":5,"width":12,"height":7}},{"id":9586712034958672,"definition":{"title":"Tool Calls by User x Client","type":"query_table","requests":[{"response_format":"scalar","queries":[{"name":"usage","data_source":"metrics","query":"count:datadog.mcp.tool.usage{$user_email,$client} by {user_email,client}.as_count()","aggregator":"sum"}],"sort":{"count":25,"order_by":[{"type":"formula","index":0,"order":"desc"}]},"formulas":[{"formula":"usage","cell_display_mode":"bar"}]}]},"layout":{"x":0,"y":12,"width":12,"height":4}}]},"layout":{"x":0,"y":16,"width":12,"height":17}},{"id":1029384756019283,"definition":{"title":"Audit Trail Enhancement (Requires Setup)","type":"group","layout_type":"ordered","widgets":[{"id":1039485761029384,"definition":{"type":"note","content":"## Audit Trail - MCP Activity\n\nMCP tool calls are logged as audit events at `@http.url_details.path:/api/unstable/mcp-server/mcp`.\n\n---\n\n### Available Fields (beyond OOTB metrics)\n\n- **@usr.email** -- who made the call\n- **@http.useragent** -- full client string (e.g. `Cursor/3.0.16 (darwin arm64)`)\n- **@http.status_code** -- response status (success/failure)\n- **@network.client.geoip** -- user location (city, state, country)\n- **@metadata.api_key.id** -- which API key was used\n- **@metadata.application_key.id** -- which app key was used\n- **@auth_method** -- authentication method\n\n### How to Query\n\nIn the [Audit Trail Explorer](/audit), use:\n```\n@http.url_details.path:\"/api/unstable/mcp-server/mcp\"\n```\n\n### To Enable Log-Based Dashboard Widgets\n\nAudit events live in a dedicated store, not regular log indexes. To build log-based widgets on this dashboard:\n\n1. Go to [Audit Trail Settings](/organization-settings/audit-trail-settings)\n2. Set up **Audit Event Forwarding** to pipe events into a log index\n3. Filter forwarding to: `@http.url_details.path:\"/api/unstable/mcp-server/mcp\"`\n4. Once flowing, add log-based timeseries/toplist widgets here using `source:audit`\n\nSee [Forwarding Audit Events docs](https://docs.datadoghq.com/account_management/audit_trail/forwarding_audit_events/) for setup details.","background_color":"yellow","font_size":"14","text_align":"left","vertical_align":"top","show_tick":false,"tick_pos":"50%","tick_edge":"left"},"layout":{"x":0,"y":0,"width":12,"height":6}}]},"layout":{"x":0,"y":33,"width":12,"height":1}}],"template_variables":[{"name":"user_email","prefix":"user_email","available_values":["*","jeff_nobs.tech","nick_nobs.tech","ben_nobs.tech"],"default":"*"},{"name":"client","prefix":"client","available_values":["*","anthropic/claudeai","claude-code"],"default":"*"}],"layout_type":"ordered","notify_list":[],"pause_auto_refresh":false,"reflow_type":"fixed","tags":["ai:modified_with_ai"]}