get_subscription_info
Retrieve current subscription tier and usage limits for Cursor Pro, including AI service quotas and remaining requests.
Instructions
Get current subscription tier and limits
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:381-416 (handler)The core handler function for the 'get_subscription_info' tool. It fetches the current subscription tier and usage statistics from the CursorLimitsMonitor and formats them into a detailed markdown response including limits, usage percentages, and tier comparisons.private async handleGetSubscriptionInfo() { const tier = this.monitor.getCurrentTier(); const stats = this.monitor.getUsageStats(); const content = ` # Subscription Information ## Current Tier: ${tier.toUpperCase()} ## Monthly Limits - **Sonnet 4.5**: ${stats.quotas.maxSonnet45Requests} requests/month - **Gemini**: ${stats.quotas.maxGeminiRequests} requests/month - **GPT-5**: ${stats.quotas.maxGpt5Requests} requests/month - **Total**: ${stats.quotas.maxTotalRequests} requests/month ## Current Usage - **Sonnet 4.5**: ${stats.limits.sonnet45Requests}/${stats.quotas.maxSonnet45Requests} (${stats.usagePercentages.sonnet45.toFixed(1)}%) - **Gemini**: ${stats.limits.geminiRequests}/${stats.quotas.maxGeminiRequests} (${stats.usagePercentages.gemini.toFixed(1)}%) - **GPT-5**: ${stats.limits.gpt5Requests}/${stats.quotas.maxGpt5Requests} (${stats.usagePercentages.gpt5.toFixed(1)}%) - **Total**: ${stats.limits.totalRequests}/${stats.quotas.maxTotalRequests} (${stats.usagePercentages.total.toFixed(1)}%) ## Available Tiers - **Pro**: 225 Sonnet 4.5, 550 Gemini, 500 GPT-5 (1,275 total) - **Pro+**: 675 Sonnet 4.5, 1,650 Gemini, 1,500 GPT-5 (3,825 total) - **Ultra**: 4,500 Sonnet 4.5, 11,000 Gemini, 10,000 GPT-5 (25,500 total) `.trim(); return { content: [ { type: 'text', text: content, }, ], }; }
- src/index.ts:112-119 (registration)The tool registration entry in the ListTools response, defining the name, description, and input schema (no parameters required).{ name: 'get_subscription_info', description: 'Get current subscription tier and limits', inputSchema: { type: 'object', properties: {}, }, },
- src/index.ts:156-158 (registration)The dispatch case in the CallToolRequest handler that routes calls to 'get_subscription_info' to the specific handler method.case 'get_subscription_info': return await this.handleGetSubscriptionInfo();
- src/index.ts:115-118 (schema)The input schema for the 'get_subscription_info' tool, which requires no parameters (empty object).inputSchema: { type: 'object', properties: {}, },