Outlook Mail

live Utility

MCP server for Outlook Mail

5 tools
0ms auth
free tier 50 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("mcp server for outlook mail");