Skip to main content
Glama
Cursor Pro Limits MCP Server

Cursor Pro Limits MCP Server

Cursor Pro Limits MCP Server

A Model Context Protocol (MCP) server for monitoring Cursor Pro usage limits and API quotas. This server helps you track your daily usage across different AI services and stay within your Cursor Pro limits.

Features

  • 📊 Real-time Usage Monitoring: Track Sonnet 4.5, Gemini, and GPT-5 request usage

  • 🚨 Alert System: Get warnings when approaching limits

  • 📈 Usage Statistics: Detailed breakdown of current usage vs. limits

  • 🔧 Easy Integration: Works with any MCP-compatible client

  • 🎯 TypeScript: Fully typed with strict TypeScript configuration

Related MCP server: claudeusage-mcp

Cursor Pro Limits (Monthly)

Based on Cursor Pro subscription limits:

Pro Tier

  • Sonnet 4.5: 225 requests/month

  • Gemini: 550 requests/month

  • GPT-5: 500 requests/month

  • Total: 1,275 requests/month

Pro+ Tier

  • Sonnet 4.5: 675 requests/month

  • Gemini: 1,650 requests/month

  • GPT-5: 1,500 requests/month

  • Total: 3,825 requests/month

Ultra Tier

  • Sonnet 4.5: 4,500 requests/month

  • Gemini: 11,000 requests/month

  • GPT-5: 10,000 requests/month

  • Total: 25,500 requests/month

Installation

npm install cursor-pro-limits-mcp

Usage

As an MCP Server

  1. Configure your MCP client to use this server:

{
  "mcpServers": {
    "cursor-pro-limits": {
      "command": "npx",
      "args": ["cursor-pro-limits-mcp"]
    }
  }
}
  1. Available Tools:

get_usage_stats

Get comprehensive usage statistics for all services.

// Returns current usage, limits, percentages, and remaining requests

get_service_usage

Get detailed usage for a specific service.

Parameters:

  • service: "sonnet45" | "gemini" | "gpt5" | "total"

check_alerts

Check for services approaching or exceeding limits.

update_usage

Update usage statistics (for testing or manual updates).

Parameters:

  • sonnet45Requests (optional): Number of Sonnet 4.5 requests

  • geminiRequests (optional): Number of Gemini requests

  • gpt5Requests (optional): Number of GPT-5 requests

  • totalRequests (optional): Total number of requests

set_subscription_tier

Set the subscription tier (pro, pro-plus, ultra).

Parameters:

  • tier: Subscription tier ("pro", "pro-plus", or "ultra")

get_subscription_info

Get current subscription tier and limits information.

Programmatic Usage

import { CursorLimitsMonitor } from 'cursor-pro-limits-mcp';

// Create monitor for Pro tier (default)
const monitor = new CursorLimitsMonitor('pro');

// Get current usage stats
const stats = monitor.getUsageStats();
console.log(`Sonnet 4.5: ${stats.limits.sonnet45Requests}/${stats.quotas.maxSonnet45Requests}`);

// Check for alerts
const alerts = monitor.checkAlerts();
if (alerts.length > 0) {
  console.log('Warning: Approaching limits!');
}

// Update usage (e.g., from API response)
monitor.updateLimits({
  sonnet45Requests: 150,
  geminiRequests: 300,
  gpt5Requests: 200,
  totalRequests: 650
});

// Switch to Pro+ tier for higher limits
monitor.updateTier('pro-plus');
console.log(`Switched to ${monitor.getCurrentTier()} tier`);

Development

Prerequisites

  • Node.js 18.0.0 or higher

  • npm or yarn

Setup

# Clone the repository
git clone <repository-url>
cd cursor-pro-limits-mcp

# Install dependencies
npm install

# Build the project
npm run build

Available Scripts

# Build TypeScript
npm run build

# Watch mode for development
npm run dev

# Start the server
npm start

# Lint code
npm run lint

# Fix linting issues
npm run lint:fix

# Format code
npm run format

# Check formatting
npm run format:check

# Clean build directory
npm run clean

Code Quality

This project uses:

  • TypeScript with strict configuration

  • ESLint for code linting

  • Prettier for code formatting

  • No any types - fully typed codebase

API Reference

Types

interface CursorProLimits {
  sonnet45Requests: number;
  geminiRequests: number;
  gpt5Requests: number;
  totalRequests: number;
  lastUpdated: Date;
}

interface UsageStats {
  limits: CursorProLimits;
  quotas: CursorProQuotas;
  usagePercentages: {
    sonnet45: number;
    gemini: number;
    gpt5: number;
    total: number;
  };
  remaining: {
    sonnet45: number;
    gemini: number;
    gpt5: number;
    total: number;
  };
}

Methods

CursorLimitsMonitor

  • getUsageStats(): Get comprehensive usage statistics

  • getServiceUsage(service): Get usage for specific service

  • checkAlerts(): Check for services approaching limits

  • updateLimits(limits): Update usage statistics

  • onUpdate(callback): Subscribe to usage updates

Contributing

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Make your changes

  4. Run tests and linting: npm run lint && npm run format:check

  5. Commit your changes: git commit -m 'Add amazing feature'

  6. Push to the branch: git push origin feature/amazing-feature

  7. Open a Pull Request

License

MIT License - see LICENSE file for details.

Support

For issues and questions:

  • Open an issue on GitHub

  • Check the documentation

  • Review the TypeScript types for API reference

Available Tools

6 tools
check_alertsB

Check for services approaching or exceeding limits

Inputs: no named parameters.

get_service_usageC

Get usage statistics for a specific service

Inputs: service (required).

get_subscription_infoB

Get current subscription tier and limits

Inputs: no named parameters.

get_usage_statsB

Get current Cursor Pro usage statistics and limits

Inputs: no named parameters.

set_subscription_tierC

Set the subscription tier (pro, pro-plus, ultra)

Inputs: tier (required).

update_usageB

Update usage statistics (for testing or manual updates)

Inputs: sonnet45Requests, geminiRequests, gpt5Requests, totalRequests.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 6 tools

    Disambiguation4/5

    Most tools have distinct purposes, but 'get_usage_stats' and 'get_service_usage' could be confused as both retrieve usage data. The descriptions clarify that one is for overall Cursor Pro usage and the other for specific services, but the naming overlap might cause misselection. Other tools like 'check_alerts' and 'set_subscription_tier' are clearly unique.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using snake_case, such as 'check_alerts', 'get_service_usage', and 'set_subscription_tier'. There are no deviations in naming conventions, making the set predictable and easy to parse for an agent.

    Tool Count5/5

    With 6 tools, this server is well-scoped for managing Cursor Pro limits and subscriptions. Each tool serves a clear function, such as monitoring usage, checking alerts, and handling subscription tiers, without unnecessary bloat or missing essentials for the domain.

    Completeness4/5

    The toolset covers key aspects like monitoring usage, checking limits, and managing subscriptions, but lacks operations for historical data or detailed analytics. Minor gaps exist, such as no tool for listing all services or viewing past alerts, but agents can work around these with the provided tools.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      Not graded
      maintenance
      Provides real-time visibility into Claude Pro and Max subscription usage limits directly within Claude Code by utilizing local OAuth tokens. It enables users to monitor session and weekly usage across different models and receive alerts regarding rate-limiting status.
      4
      -
    • A
      license
      A
      quality
      C
      maintenance
      Real-time Claude.ai subscription awareness for AI coding assistants. Surfaces live utilization, forecasts limits, gates expensive operations, and measures real per-task cost.
      5
      16 npm
      6
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Monitors your Cursor usage and provides a conserve flag to the agent, helping you manage request quota by batching questions, preferring defaults, and cutting unnecessary confirmations.
      10
      31 npm
      2
      MIT