IrisIris

Connect AI assistants to Iris

Iris speaks the Model Context Protocol, so Claude and other MCP-capable assistants can read your plan and act on it — with permissions you choose, and a full activity log.

Setup

Add Iris as a remote MCP server / custom connector in your AI client:

https://www.iris-plan.com/api/mcp
  1. In Claude (web, desktop, or mobile): Settings → Connectors → Add custom connector, paste the URL above.
  2. Your client discovers Iris's sign-in automatically and opens a browser window. Sign in with your normal Iris account.
  3. Choose what the assistant may access — per area, read-only or read & write — then Authorize.

Manage or revoke access anytime in Settings → Connections. Revocation takes effect on the assistant's very next request.

Permissions

Permissions are chosen on the Iris consent screen, not in the OAuth scope box — if your client asks for OAuth scopes, leave the defaults. Each area can be off, read-only, or read & write:

  • TasksTasks, subtasks, and task lists
  • CalendarCalendar events, including recurring series
  • FocusThe FOCUS list — what you're working on right now

Profile basics (name, timezone) are always shared with a connected app. Meeting recordings, transcripts, and your Iris chat history are never accessible over MCP, under any permission.

Available tools

ToolWhat it doesNeeds
iris_get_contextTimezone, defaults, task lists, calendars, scheduling preferencesProfile
iris_searchKeyword search across tasks, lists, events, calendarsAny read
iris_list_tasksList tasks with filtersTasks: read
iris_list_eventsList events in a window (recurring series expanded)Calendar: read
iris_focusRead or change the focus listFocus
iris_create_taskCreate a task, optionally with subtasksTasks: write
iris_update_taskEdit or complete a taskTasks: write
iris_create_task_listCreate a task listTasks: write
iris_create_eventCreate an event or recurring seriesCalendar: write
iris_update_eventEdit an event, an occurrence, or a seriesCalendar: write
iris_auto_schedulePropose (or create) time blocks for unscheduled tasksTasks: read (+ Calendar: write to apply)
iris_delete_taskDelete one task and its subtasksTasks: write
iris_delete_eventDelete one event or occurrenceCalendar: write

Conventions for tool builders

  • Times. Every datetime is an absolute ISO-8601 instant with an explicit Z or ±HH:MM offset. Date-only fields (YYYY-MM-DD) resolve in the user's timezone, which iris_get_context returns.
  • Recurring events. Occurrences carry synthetic ids of the form <master-uuid>#<start-iso>. Pass them back verbatim to change one occurrence; use scope: this | this_and_future | all to widen.
  • Deletes. There is no bulk delete. Delete tools remove exactly one task or event per call and cannot be undone.
  • Rate limits. Requests are rate-limited per user and per client; 429 responses carry Retry-After.

Security & data handling

  • Authorization uses OAuth 2.1 with PKCE. Iris never shows your password to the connected app, and access tokens expire after one hour with automatic refresh.
  • Permissions are enforced twice: in the Iris API layer, and independently by row-level security in the database — a token without a permission physically cannot touch those rows.
  • Every tool call is written to an append-only activity log (visible in Settings → Connections). The log records what happened — never the content of your data.
  • Disconnecting an app in Settings blocks its next request immediately. A global "sign out everywhere" additionally invalidates refresh tokens; an already-issued access token can remain valid for up to one hour.

Questions or issues? Contact us.