outlook_create_contact
Create a new contact.
How to use it
outlook_create_contact is exposed by the Outlook MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the outlook_create_contact tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
Install Outlook MCP
uv tool install outlook-graph-mcpOther tools in Outlook MCP (39)
Check if authenticated and whether read-only mode is active.
Set categories on a message.
One structured "since last call" digest composing mail/events/contacts deltas. Returns counts + urgentflagged mail + top-5 bysender + new/cancelled events. Each resource has an independent deltatoken; stale-token recovery (HTTP 410) auto-resyncs that resource and surfaces meta.resync. First-call sna
Mark task as completed.
Create event with location, attendees, recurrence, online meeting support.
Create task with due date, importance, recurrence.
Delete a contact.
Delete a calendar event.
Delete a Focused Inbox override by ID.
Delete a message. Soft delete (Deleted Items) by default. permanent: true for hard delete.
Delete a task.
Set follow-up flag: flagged, complete, or notFlagged.
Forward a message to one or more recipients with optional comment.
Get full contact details by ID.
Get full event details: attendees, body, online meeting URL, recurrence.
List contacts with cursor pagination.
List only contact changes since the last call. Deletes come back as {id, isdeleted: True}. Cursor is stateless.
List events in a date range. Expands recurring events. Configurable via days, after, before.
List only event changes inside a window since the last call. start and end (ISO 8601) required on the first call (Graph constraint — no whole-calendar sync). Deletes come back as {id, isdeleted: True}. Cursor is stateless.
List mail folders with counts, parentid, and childcount. Pass recursive=true to walk the full folder tree (subfolders included).
List messages in a folder. folder accepts display names, well-known names, or Graph IDs. Filter by read status, sender, date range, Focused Inbox classification. Pagination via skip.
List only inbox changes since the last call. First call returns a full snapshot plus a deltatoken; subsequent calls (token passed back) return only added/updated/deleted items. Deletes come back as {id, isdeleted: True}. Cursor is stateless — agent persists and replays.
List Focused Inbox per-sender override rules.
List To Do lists.
List tasks with status filter and pagination.
Mark a message as read or unread.
Move a message to a folder by name or ID.
Get full message by ID. Format: text, html, or full (both). Pass includedeferredsend=True to also surface the draft's scheduled delivery time.
Bulk read up to 20 messages by ID via Graph $batch in one round-trip. Per-message shape matches outlookreadmessage byte-for-byte for the same (format, concise, includedeferredsend). Partial-failure tolerant: 404s on some IDs surface in failures[] without failing the whole call. Use NOT N outlookread
Move a message between Focused Inbox and Other (focused / other).
Reply or reply-all to a message.
RSVP to an event: accept, decline, or tentative. Optionally include a message.
Search contacts by name or email.
Search mail using KQL query. Optionally scope to a folder by name or ID.
Send email. Supports TO/CC/BCC, HTML body, importance level.
Upsert a per-sender Focused Inbox override (focused / other). Case-insensitive sender matching; PATCH-if-exists, else POST.
Update contact fields.
Update event fields (subject, time, location, body). Only patches changed fields.
Update task fields.