Outlook Calendar

live ProductivitySaaS

Outlook / Microsoft 365 Calendar via Graph API: list events, get event details, check calendars, and find free/busy time for the signed-in user.

5 tools
0ms auth
free tier 50 calls/day

Tools

list_events

List upcoming events from the user's Outlook / Microsoft 365 calendar within a time window. Returns subject, start/end times, location, organizer, all-day flag, and online meeting URL for each event.

No parameters required.

Try it
get_event

Get full details of a single Outlook / Microsoft 365 calendar event by its ID. Returns subject, start/end times, location, organizer, attendees, body, all-day flag, and online meeting URL. Use after l

No parameters required.

Try it
list_calendars

List all calendars accessible in the user's Outlook / Microsoft 365 account. Returns each calendar's ID, name, owner, edit permission, and whether it is the default calendar. Use to discover which cal

No parameters required.

Try it
find_meeting_times

Return the user's busy time windows from their Outlook / Microsoft 365 calendar over the next N days — a lightweight free/busy view. Each window includes start, end, subject, and all-day flag. Use to

No parameters required.

Try it
get_profile

Get the signed-in user's Microsoft 365 / Outlook profile: display name, primary email (mail), and user principal name. Use to confirm whose calendar 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_calendar/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_calendar/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_events","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("list_events", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("outlook / microsoft 365 calendar via graph api: list events, get event details, check calendars, and find free/busy time for the signed-in user");