Tasks & Contacts MCP

Privacy notice

What this service is

A Model Context Protocol connector operated by Ian Anderson. It lets an AI assistant you choose (an "MCP client", such as Claude or ChatGPT) read and manage your Microsoft To Do tasks and Outlook contacts on your behalf. Work or school accounts can also use contacts in shared or delegated mailboxes they are authorized to access; personal Microsoft accounts are limited to their own contacts.

What it accesses

Only your To Do tasks and Outlook contacts your Microsoft account is permitted to access, using your own Microsoft sign-in. Every connection requests the base delegated permissions Tasks.ReadWrite, Contacts.ReadWrite, MailboxSettings.Read, User.Read, and offline_access. A work or school connection additionally requests Contacts.ReadWrite.Shared; a personal Microsoft account never requests that permission. Standard openid and profile scopes support sign-in. For work or school accounts, Contacts.ReadWrite.Shared covers only contacts shared with or delegated to the signed-in user; it does not grant access to arbitrary mailboxes. MailboxSettings.Read covers Outlook categories, working hours, and mailbox time zone. Neither permission grants access to message or calendar contents. The service cannot read email, calendar, files, or directory data, and it holds no application-wide permissions: every request runs as you and can only reach what you can reach. Task and contact content is read on demand and returned to your connected MCP client, where it is processed by that client's model provider under their privacy terms.

What it stores

Your Microsoft sign-in tokens, encrypted with AES-256-GCM under a key held in Cloudflare Worker Secrets, in a per-account Cloudflare Durable Object. Alongside them: an opaque derived account identifier, the permission list, your mailbox time zone, and the non-sensitive Microsoft cloud profile that prevents credentials from being sent to a different cloud. An organization offboarding index stores the Microsoft Entra tenant and object identifiers plus connection times because the derived vault names cannot be enumerated backwards. Contact change proposals and server-side duplicate-search state are encrypted and expire after 15 minutes. Mutation progress and completed retry results for resumable task creation and contact merging are encrypted and expire after 24 hours; they can contain the fields needed to reconcile and replay that exact operation. Your email address is never used as a storage key, and task or contact content is not retained outside those encrypted, time-bounded records. Records created through the service may carry an opaque Microsoft Graph operation marker containing no request content.

Logging

Request URLs, headers, and bodies are never logged, and platform invocation logs are disabled. The service emits fixed-shape operational events only. When the operator enables audit logging, an event carries exactly the tool name, an outcome, and a duration -- never arguments, results, or account identifiers. Content-free workload events may also carry Graph unit, retry, throttle, page, and byte counts; tenant offboarding events carry aggregate counts only.

Third parties

Cloudflare (hosting and key-value storage), Microsoft (identity and the source of your data), and the MCP client you connect with its model provider. No other third party receives your data, and no data is sold or used for advertising or model training by this service.

Retention and deletion

Credentials are kept until you disconnect. Encrypted proposals and read continuation state expire after 15 minutes; encrypted mutation journals expire after 24 hours. Durable Object alarms physically delete them at those deadlines even if the account is idle. Use this service’s Disconnect Microsoft account page to delete its encrypted credentials and all of that short-lived state, followed by best-effort MCP-grant and index cleanup, or remove the application at myapps.microsoft.com; that revokes the Microsoft grant so the credentials can no longer be refreshed. Grants to individual MCP clients expire on their own within 30 days. The operator can also delete a tenant’s indexed pre-snapshot vault data and MCP grants without erasing an account deliberately reconnected after the sweep began. Neither path deletes tasks or contacts in Microsoft 365, including opaque operation markers already attached to records. To reach Ian Anderson about this notice, use the operator link below.