get_subscription_info
Check your current Cursor Pro subscription tier and usage limits to monitor API quotas for Sonnet 4.5, Gemini, and GPT-5 services with alerts when approaching limits.
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 handler function that implements the logic for 'get_subscription_info' tool. It fetches the current subscription tier and usage stats from the monitor, formats a markdown report with tier info, limits, usage, and available tiers, and returns it as text content.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)Tool registration in the tools array provided to the MCP server, defining the name, description, and input schema (no required parameters).{ name: 'get_subscription_info', description: 'Get current subscription tier and limits', inputSchema: { type: 'object', properties: {}, }, },
- src/index.ts:115-118 (schema)Input schema definition for the tool: an empty object, indicating no input parameters are required.inputSchema: { type: 'object', properties: {}, },
- src/index.ts:156-157 (registration)Dispatch/registration in the switch statement of the tool request handler, routing calls to the specific handler method.case 'get_subscription_info': return await this.handleGetSubscriptionInfo();