get_today_usage
Retrieve today's Claude usage metrics including tokens, cost, sessions, and activity to monitor consumption and track patterns.
Instructions
Get total usage metrics for today (tokens, cost, sessions, activity)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/telemetry-service.ts:52-68 (handler)The primary handler function that fetches today's usage metrics from Prometheus using predefined PromQL queries over the last 1 day and constructs the UsageData object.async getTodayUsage(): Promise<UsageData> { const startOfDay = this.getStartOfDay(); const now = new Date(); const queries = { tokens: `sum(increase(claude_code_token_usage_tokens_total[1d]))`, cost: `sum(increase(claude_code_cost_usage_USD_total[1d]))`, sessions: `sum(increase(claude_code_session_count_total[1d]))`, activeTime: `sum(increase(claude_code_active_time_seconds_total[1d]))`, linesOfCode: `sum(increase(claude_code_lines_of_code_count_total[1d]))`, commits: `sum(increase(claude_code_commit_count_total[1d]))`, editDecisions: `sum(increase(claude_code_code_edit_tool_decision_total[1d]))` }; const results = await this.executeQueries(queries); return this.buildUsageData(results); }
- src/index.ts:46-52 (registration)Tool registration in the ListTools response, defining name, description, and empty input schema.{ name: 'get_today_usage', description: 'Get total usage metrics for today (tokens, cost, sessions, activity)', inputSchema: { type: 'object', properties: {}, },
- src/index.ts:211-221 (handler)MCP CallToolRequest handler case that calls the telemetry service method and returns formatted text response.case 'get_today_usage': { const usage = await this.telemetryService.getTodayUsage(); return { content: [ { type: 'text', text: this.formatUsageData('Today', usage), }, ], }; }
- src/types.ts:27-35 (schema)TypeScript interface defining the structure of UsageData returned by the handler.export interface UsageData { tokens: number; cost: number; sessions: number; activeTime: number; linesOfCode: number; commits: number; editDecisions: number; }