# create_recurring_event

Create a recurring calendar event via EventKit. Supports daily, weekly, monthly, and yearly recurrence with configurable intervals. Requires macOS 26+ Swift bridge.

Agent View of the PolicyLayer registry record for `create_recurring_event`. HTML page: https://policylayer.com/tools/io-github-heznpc-iconnect/create-recurring-event

## Facts

- Tool: `create_recurring_event`
- Server: Iconnect (`iconnect-mcp`) — https://policylayer.com/tools/io-github-heznpc-iconnect.md
- Install: `npx -y iconnect-mcp`
- Homepage: https://github.com/heznpc/iConnect
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_recurring_event",
    "arguments": {}
  }
}
```

## Why create_recurring_event is rated Medium

This tool creates calendar events, which is a Write operation—it adds new data to the system reversibly (events can be deleted afterward). While not Destructive (events aren't irretrievably purged), it modifies persistent calendar state. Severity is medium because widespread calendar pollution by an errant agent could disrupt scheduling and require cleanup, but individual event creation is not catastrophic.

From the tool's own definition: "Tool description states 'Create a recurring calendar event via EventKit,' indicating irreversible data creation in the calendar system. The term 'Create' combined with 'recurring event' demonstrates persistent modification of calendar state."

## Use case

AI agents use create_recurring_event to create or update resources in Iconnect, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Iconnect environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Iconnect:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_recurring_event": {
      "limits": [
        {
          "counter": "create_recurring_event_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Iconnect (278)

- `delete_contact` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-contact.md
- `delete_event` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-event.md
- `delete_note` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-note.md
- `delete_photos` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-photos.md
- `delete_playlist` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-playlist.md
- `delete_reminder` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-reminder.md
- `delete_reminder_list` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-reminder-list.md
- `delete_shortcut` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/delete-shortcut.md
- `memory_forget` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/memory-forget.md
- `move_note` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/move-note.md
- `remove_from_playlist` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/remove-from-playlist.md
- `semantic_clear` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/semantic-clear.md
- `spotlight_clear` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/spotlight-clear.md
- `trash_file` — Destructive — https://policylayer.com/tools/io-github-heznpc-iconnect/trash-file.md
- `activate_tab` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/activate-tab.md
- `ai_agent` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/ai-agent.md
- `ai_chat` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/ai-chat.md
- `ai_plan_metrics` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/ai-plan-metrics.md
- `connect_bluetooth` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/connect-bluetooth.md
- `disconnect_bluetooth` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/disconnect-bluetooth.md
- `edit_shortcut` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/edit-shortcut.md
- `event_subscribe` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/event-subscribe.md
- `generate_image` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/generate-image.md
- `generate_text` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/generate-text.md
- `gws_raw` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/gws-raw.md
- `import_shortcut` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/import-shortcut.md
- `keynote_start_slideshow` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/keynote-start-slideshow.md
- `launch_app` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/launch-app.md
- `local_llm_generate` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/local-llm-generate.md
- `minimize_window` — Execute — https://policylayer.com/tools/io-github-heznpc-iconnect/minimize-window.md
- …and 248 more: https://policylayer.com/tools/io-github-heznpc-iconnect.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-heznpc-iconnect · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-heznpc-iconnect
