update_usage
Update usage statistics for Cursor Pro's AI service quotas, including Sonnet 4.5, Gemini, and GPT-5 request counts, to maintain accurate tracking of API limits.
Instructions
Update usage statistics (for testing or manual updates)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| geminiRequests | No | Number of Gemini requests | |
| gpt5Requests | No | Number of GPT-5 requests | |
| sonnet45Requests | No | Number of Sonnet 4.5 requests | |
| totalRequests | No | Total number of requests |
Implementation Reference
- src/index.ts:72-96 (registration)Registration of the 'update_usage' tool in the ListTools response, defining its name, description, and input schema.name: 'update_usage', description: 'Update usage statistics (for testing or manual updates)', inputSchema: { type: 'object', properties: { sonnet45Requests: { type: 'number', description: 'Number of Sonnet 4.5 requests', }, geminiRequests: { type: 'number', description: 'Number of Gemini requests', }, gpt5Requests: { type: 'number', description: 'Number of GPT-5 requests', }, totalRequests: { type: 'number', description: 'Total number of requests', }, }, }, },
- src/index.ts:305-341 (handler)The handler function that implements the 'update_usage' tool logic: validates optional arguments, constructs partial updates, calls monitor.updateLimits, and returns success response.private async handleUpdateUsage(args: { sonnet45Requests?: number; geminiRequests?: number; gpt5Requests?: number; totalRequests?: number; }) { const updates: Partial<{ sonnet45Requests: number; geminiRequests: number; gpt5Requests: number; totalRequests: number; }> = {}; if (args.sonnet45Requests !== undefined) { updates.sonnet45Requests = args.sonnet45Requests; } if (args.geminiRequests !== undefined) { updates.geminiRequests = args.geminiRequests; } if (args.gpt5Requests !== undefined) { updates.gpt5Requests = args.gpt5Requests; } if (args.totalRequests !== undefined) { updates.totalRequests = args.totalRequests; } this.monitor.updateLimits(updates); return { content: [ { type: 'text', text: `✅ Usage statistics updated successfully.`, }, ], }; }
- src/cursorLimitsMonitor.ts:89-97 (helper)Supporting helper method in CursorLimitsMonitor that merges partial limit updates into the state and notifies callbacks.public updateLimits(newLimits: Partial<CursorProLimits>): void { this.limits = { ...this.limits, ...newLimits, lastUpdated: new Date(), }; this.notifyCallbacks(); }