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
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_subscription_info"
}
}Input 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: {}, },