MCP Server Documentation

Give your AI agents a calendar brain with the Model Context Protocol server

What is MCP?

The Model Context Protocol (MCP) allows AI assistants like Claude to access external tools and data sources. The rrule.net MCP server gives AI agents deterministic, explainable scheduling capabilities.

Free tier available

The rrule.net MCP server is currently free and authless (no API token required). Rate limit: 100 requests per 24 hours per IP.

Configuration for Claude Desktop

Method 1: Via Settings UI (Recommended)

  1. Open Claude Desktop
  2. Go to Settings → Connectors
  3. Click "Add custom connector"
  4. Enter URL: https://mcp.rrule.net
  5. Click "Add"

Note: This method requires Claude Desktop Pro, Max, Team, or Enterprise plan.

Method 2: Via Configuration File

Add this to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "rrule-net-free": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.rrule.net"
      ]
    }
  }
}

After updating the configuration, restart Claude Desktop completely (Cmd+Q then relaunch).

Available Tools

The free tier provides 3 read-only tools for schedule validation, simulation, and explanation.

validate_schedule

Validate and normalize a schedule from recurrence JSON, natural language, cron, or RRule format

Input:

  • input: Schedule rule (e.g., "Every Monday at 9am", "0 9 * * 1", "FREQ=DAILY;BYHOUR=9")
  • recurrence: Optional canonical recurrence JSON for composed schedules
  • timezone: IANA timezone identifier (e.g., "Europe/Paris", "America/New_York")
  • language: Optional language for explanation ("en" or "fr")

Returns: Canonical recurrence JSON, optional legacy RRule projection, explanation, confidence score, next occurrence

simulate_schedule

Simulate future occurrences of recurrence JSON or a legacy RRule with timezone-aware DST handling

Input:

  • recurrence: Canonical recurrence JSON, recommended for new integrations
  • rrule: Legacy object with dtstart (ISO 8601 UTC) and rule (RRule string)
  • timezone: IANA timezone identifier for interpretation
  • count: Number of occurrences to simulate (1-100, default: 10)

Returns: List of ISO 8601 UTC timestamps, automatically handles DST transitions

describe_schedule

Get a human-readable explanation of a recurrence schedule in natural language

Input:

  • recurrence: Canonical recurrence JSON, recommended for composed schedules
  • rrule: Legacy object with dtstart and rule
  • timezone: IANA timezone identifier
  • language: Optional language for explanation ("en" or "fr")

Returns: Human-readable explanation with confidence score

Example Usage

User prompt to Claude:

"Validate the schedule 'Every first Monday of the month at 10am' in America/New_York, then simulate the next 12 occurrences."

Claude uses MCP tools to:

  1. Call validate_schedule with the natural language input
  2. Receive canonical recurrence JSON and, when possible, a legacy RRule projection
  3. Call simulate_schedule with the recurrence JSON
  4. Return 12 occurrences with automatic DST handling (EST/EDT transitions)

Other example prompts:

  • "Normalize this cron expression: 0 9 * * 1"
  • "Show me the next 5 dates for FREQ=WEEKLY;BYDAY=MO;BYHOUR=9"
  • "Explain this rule in French: FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=9"
  • "Is '0 */4 * * *' a valid schedule?"

MCP server endpoint: https://mcp.rrule.net