get_week_usage
Retrieve total usage metrics for the current week (Monday-Sunday) to monitor Claude Code session analytics and track token usage patterns.
Instructions
Get total usage metrics for the current week (Monday-Sunday)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:223-233 (handler)MCP CallToolRequest handler case for 'get_week_usage': calls telemetryService.getWeekUsage() and returns formatted UsageData as text content.case 'get_week_usage': { const usage = await this.telemetryService.getWeekUsage(); return { content: [ { type: 'text', text: this.formatUsageData('This Week', usage), }, ], }; }
- src/telemetry-service.ts:70-83 (handler)Core getWeekUsage implementation: defines Prometheus queries for 7d metric increases and builds UsageData from results.async getWeekUsage(): Promise<UsageData> { const queries = { tokens: `sum(increase(claude_code_token_usage_tokens_total[7d]))`, cost: `sum(increase(claude_code_cost_usage_USD_total[7d]))`, sessions: `sum(increase(claude_code_session_count_total[7d]))`, activeTime: `sum(increase(claude_code_active_time_seconds_total[7d]))`, linesOfCode: `sum(increase(claude_code_lines_of_code_count_total[7d]))`, commits: `sum(increase(claude_code_commit_count_total[7d]))`, editDecisions: `sum(increase(claude_code_code_edit_tool_decision_total[7d]))` }; const results = await this.executeQueries(queries); return this.buildUsageData(results); }
- src/index.ts:54-61 (registration)Tool registration in ListTools response: defines name, description, and empty inputSchema for get_week_usage.{ name: 'get_week_usage', description: 'Get total usage metrics for the current week (Monday-Sunday)', inputSchema: { type: 'object', properties: {}, }, },
- src/types.ts:27-35 (schema)UsageData interface defining the structure of usage metrics returned by getWeekUsage.export interface UsageData { tokens: number; cost: number; sessions: number; activeTime: number; linesOfCode: number; commits: number; editDecisions: number; }