Outlook MCP server for AI agents

Read, search, send, reply to and file Outlook email, and list, create, update and answer calendar events, through Microsoft Graph.

OutlookOAUTH2

Runs with your users' own Outlook accounts. Credentials stay on prompt-tm.com.

20 tools · 0 triggers

Auth
OAuth 2.0 (sign in with the app)
Tools
20
Triggers
0
Category
Communication, Productivity

Tools and triggers

  • Get the signed-in user

    OUTLOOK_GET_PROFILE

    Returns the signed-in user's name, email address and user ID.read-only

  • List mail folders

    OUTLOOK_LIST_MAIL_FOLDERS

    Lists the top-level mail folders with their IDs and unread and total counts.read-only

  • List messages

    OUTLOOK_LIST_MESSAGES

    Lists messages in the whole mailbox or one folder. Use `search` for a keyword search (KQL, such as `from:ada subject:invoice`) or `filter` for exact conditions; Graph doesn't allow `search` together with `orderby`.read-only

  • Get a message

    OUTLOOK_GET_MESSAGE

    Returns one message with its sender, recipients, body and flags.read-only

  • Send an email

    OUTLOOK_SEND_MAIL

    Sends a new message right away. It is saved in Sent Items unless `save_to_sent_items` is false.

  • Create a draft

    OUTLOOK_CREATE_DRAFT

    Saves a new message in Drafts without sending it. Send it later with Send a draft.

  • Send a draft

    OUTLOOK_SEND_DRAFT

    Sends a message saved in Drafts.

  • Reply to a message

    OUTLOOK_REPLY

    Replies to the sender, or to everyone on the message when `reply_all` is true. The comment goes above the quoted original.

  • Forward a message

    OUTLOOK_FORWARD

    Forwards a message to new recipients, with an optional comment above it.

  • Update a message

    OUTLOOK_UPDATE_MESSAGE

    Marks a message read or unread, sets its categories, importance or follow-up flag.

  • Move a message

    OUTLOOK_MOVE_MESSAGE

    Moves a message to another folder and returns it with its new ID.

  • Delete a message

    OUTLOOK_DELETE_MESSAGE

    Deletes a message. To keep a copy the user can restore, move it to `deleteditems` instead.destructive

  • List calendars

    OUTLOOK_LIST_CALENDARS

    Lists the user's calendars with their IDs, owners and whether the user can edit them.read-only

  • List events in a time range

    OUTLOOK_LIST_EVENTS_IN_RANGE

    Lists the events between two times in the default calendar or one calendar, with each occurrence of a recurring series on its own. This is the call for questions like "what's on tomorrow".read-only

  • List events

    OUTLOOK_LIST_EVENTS

    Lists events as stored: single events and recurring series masters, not their occurrences. For a day or week view use List events in a time range.read-only

  • Get an event

    OUTLOOK_GET_EVENT

    Returns one event with its time, location, attendees and their responses, and the online meeting link.read-only

  • Create an event

    OUTLOOK_CREATE_EVENT

    Creates an event in the main calendar or another one. With attendees, Outlook sends them invitations.

  • Update an event

    OUTLOOK_UPDATE_EVENT

    Changes an event's fields. Only the fields given change; `attendees` replaces the whole attendee list.

  • Delete an event

    OUTLOOK_DELETE_EVENT

    Deletes an event. Deleting a meeting on the organizer's calendar sends the attendees a cancellation.destructive

  • Respond to an invitation

    OUTLOOK_RESPOND_TO_EVENT

    Accepts, tentatively accepts or declines a meeting invitation, with an optional note to the organizer.

Try Outlook now

Sign in, connect your account and run any of these in the playground, or ask your agent through the router.

Try it free

Connect via MCP

Create an MCP server for Outlook in the dashboard, then add its URL to your client. This is the Claude Code command; the client guide has the others.

terminal
claude mcp add --transport http outlook \
  "https://www.prompt-tm.com/mcp/<server id>?user_id=<your user>" \
  --header "x-api-key: ptm_…"

Connect via REST

Run a tool with one request. The response is { data, error, successful, log_id } for every tool.

terminal
curl -X POST https://www.prompt-tm.com/api/v3/tools/execute/OUTLOOK_GET_PROFILE \
  -H "x-api-key: $PROMPT_TM_KEY" -H "content-type: application/json" \
  -d '{ "user_id": "alice", "arguments": {} }'

Outlook questions