← Package Index
mcp-outlook mcp
v1.1.0 · MCP Tool · communication · registry.pascalai.org
Microsoft Graph API — Outlook Mail + Calendar. Mail: messages (list with filter/search), get_message, send, reply, forward, move_message, delete_message, mark_message, folders. Calendar: calendars, events, get_event, create_event, update_event, delete_event. Auth via access_token or MSGRAPH_ACCESS_TOKEN env var; auto-refresh with refresh_token+client_id+client_secret.
outlook microsoft office365 email calendar graph-api communication productivity
Input Parameters
Parameter Type Description
operationrequired
string
Operation to perform. One of: messages, get_message, send, reply, forward, move_message, delete_message, mark_message, folders, calendars, events, get_event, create_event, update_event, delete_event.
accessTokenoptional
string
OAuth2 access token. Can also be set via MSGRAPH_ACCESS_TOKEN env var.
refreshTokenoptional
string
OAuth2 refresh token for auto-refresh. Can also be set via MSGRAPH_REFRESH_TOKEN env var.
clientIdoptional
string
Azure app client ID. Can also be set via MSGRAPH_CLIENT_ID env var.
clientSecretoptional
string
Azure app client secret. Can also be set via MSGRAPH_CLIENT_SECRET env var.
tenantoptional
string
Azure AD tenant ID or 'common'. Default: common. Can also be set via MSGRAPH_TENANT env var. Default: common.
messageIdoptional
string
Message ID — required for get_message, reply, forward, move_message, delete_message, mark_message.
eventIdoptional
string
Event ID — required for get_event, update_event, delete_event.
folderIdoptional
string
Folder name or ID to list from for messages operation. Default: inbox. Default: inbox.
destFolderoptional
string
Destination folder ID for move_message operation.
toAddroptional
string
Recipient(s), comma-separated email addresses. Required for send and forward.
cCAddroptional
string
CC addresses, comma-separated.
bCCAddroptional
string
BCC addresses, comma-separated.
subjectoptional
string
Email or event subject. Required for send and create_event.
bodyoptional
string
Plain text body for send.
htmlBodyoptional
string
HTML body (overrides body for send).
commentoptional
string
Reply or forward comment text.
filteroptional
string
OData $filter for messages or events. E.g. 'isRead eq false', 'start/dateTime ge 2024-03-01T00:00:00'.
searchoptional
string
Full-text search string for messages or events.
topoptional
integer
Max results to return. Default: 20. Default: 20.
skipoptional
integer
Skip N results for pagination.
calendarIdoptional
string
Calendar ID for events/create_event. Default: primary calendar.
startDToptional
string
Event start datetime (ISO 8601, e.g. '2024-03-15T10:00:00'). Required for create_event.
endDToptional
string
Event end datetime (ISO 8601, e.g. '2024-03-15T11:00:00').
timeZoneoptional
string
IANA timezone for event start/end. Default: UTC. Default: UTC.
locationoptional
string
Event location display name.
attendeesoptional
string
Event attendees, comma-separated email addresses.
descriptionoptional
string
Event description/body (HTML supported).
markAsReadoptional
boolean
For mark_message: true = mark as read, false = mark as unread.
Output Fields
Field Type Description
value
array[object]
id
string
subject
string
ok
boolean
event_id
string
Examples
List unread emails from inbox
// Input
{
"operation": "messages",
"accessToken": "eyJ...",
"filter": "isRead eq false",
"top": 10
}
// Output
{
"value": []
}
Send an email
// Input
{
"operation": "send",
"accessToken": "eyJ...",
"toAddr": "colleague@company.com",
"subject": "Meeting Tomorrow",
"body": "Hi, can we meet at 10am?"
}
// Output
{
"ok": true
}
Reply to a message
// Input
{
"operation": "reply",
"accessToken": "eyJ...",
"messageId": "AAMkAGI2...",
"comment": "Thanks for the update!"
}
// Output
{
"ok": true
}
Create a calendar event
// Input
{
"operation": "create_event",
"accessToken": "eyJ...",
"subject": "Team standup",
"startDT": "2024-03-15T09:00:00",
"endDT": "2024-03-15T09:30:00",
"timeZone": "America/New_York",
"attendees": "alice@company.com,bob@company.com",
"location": "Conference Room A"
}
// Output
{
"id": "AAMkAGI2...",
"subject": "Team standup"
}
List upcoming events
// Input
{
"operation": "events",
"accessToken": "eyJ...",
"top": 5
}
// Output
{
"value": []
}
Install & Discovery
Install
ppm install mcp-outlook
Get JSON Schema
GET /v1/packages/mcp-outlook/1.1.0/schema
Discover by keyword
GET /v1/mcp/discover?q=outlook
Discovery hint: Install with ppm install mcp-outlook or invoke remotely via POST /v1/invoke/mcp-outlook on the MCP Service.