Outlook Mail

liveProductivitySaaS

Outlook / Microsoft 365 Mail via Graph API: read inbox, fetch messages, list folders, and search email for the signed-in user.

5tools
0msauth
free tier50 calls/day

Tools

outlook_list_messages

List email messages from an Outlook / Microsoft 365 mailbox folder (default: inbox). Returns compact message summaries (subject, sender, received time, preview, read status, attachment flag). Supports

No parameters required.

▶Try it
outlook_get_message

Get the full content of a single Outlook / Microsoft 365 email message by its ID, including subject, sender, recipients (to/cc), received time, and the full body (HTML or text). Use after outlook_list

No parameters required.

▶Try it
outlook_list_folders

List the mail folders in an Outlook / Microsoft 365 mailbox, with display names, unread counts, and total item counts. Use to discover folder names/IDs before listing messages.

No parameters required.

▶Try it
outlook_search_messages

Search across an entire Outlook / Microsoft 365 mailbox by keyword. Returns matching email summaries (subject, sender, received time, preview). Use to find emails by topic, sender, or content regardle

No parameters required.

▶Try it
outlook_get_profile

Get the signed-in user's Microsoft 365 / Outlook profile: display name, email address, user principal name, job title, and mobile phone. Use to identify whose mailbox is connected.

No parameters required.

▶Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/outlook_mail/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/outlook_mail/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"outlook_list_messages","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("outlook_list_messages", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("outlook / microsoft 365 mail via graph api: read inbox, fetch messages, list folders, and search email for the signed-in user");