@jbctechsolutions/mcp-office365

MCP server for Microsoft 365 -- mail, calendar, contacts, tasks, teams, people, and planner.
A Model Context Protocol (MCP) server that provides 181 tools for full read/write access to Microsoft 365. Manage your emails, calendar events, contacts, tasks, notes, Teams channels and chats, people directory, and Planner boards directly through MCP.
Features Overview
| Category | Tools | Description |
|---|
| Mail -- Reading | 9 | Folders, search, delta sync, conversations, unread counts |
| Mail -- Sending & Drafts | 16 | Send, draft, reply, forward with two-phase approval |
| Mail -- Signatures | 2 | Email signature management |
| Mail -- Organization | 24 | Read/unread, flags, categories, importance, move, delete, batch ops |
| Mail -- Rules | 4 | Inbox rule management |
| Mail -- Categories | 4 | Master category management |
| Mail -- Focused Inbox | 4 | Focused inbox override management |
| Mail -- Settings & Auto-Replies | 4 | Automatic replies, mailbox settings |
| Mail -- Tips & Headers | 3 | Mail tips, message headers, MIME export |
| Attachments | 2 | List and download email attachments |
| Calendar -- Events | 11 | List, search, create, update, delete, RSVP, recurring instances |
| Calendar -- Groups | 2 | Calendar group management |
| Calendar -- Permissions | 4 | Calendar sharing permissions |
| Calendar -- Rooms | 2 | Room lists and meeting rooms |
| Contacts & Folders | 13 | CRUD contacts, contact folders, photos |
| Tasks & Task Lists | 13 | To Do tasks with recurrence, task lists |
| Checklist Items | 5 | Subtasks on To Do tasks |
| Linked Resources | 4 | Linked resources on To Do tasks |
| Task Attachments | 4 | File attachments on To Do tasks |
| Notes (AppleScript only) | 3 | List, read, and search Outlook notes |
| Scheduling | 2 | Free/busy availability, meeting time suggestions |
| Teams -- Channels | 8 | Channel CRUD, team members |
| Teams -- Channel Messages | 6 | Read and send channel messages with replies |
| Teams -- Chats | 6 | 1:1 and group chats, send messages |
| People & Presence | 8 | People search, org chart, presence status |
| Planner | 17 | Plans, buckets, tasks, task details with ETag |
| Accounts | 1 | List configured Exchange accounts |
| Total | 181 | |
Quick Start
Install and run
npx -y @jbctechsolutions/mcp-office365
By default the server uses the Microsoft Graph API backend (cross-platform, full read/write access).
To use the AppleScript backend (classic Outlook for Mac only, limited features), set the environment variable:
USE_APPLESCRIPT=1
Pre-authenticate (optional)
npx @jbctechsolutions/mcp-office365 auth
npx @jbctechsolutions/mcp-office365 auth --status
npx @jbctechsolutions/mcp-office365 auth --logout
Claude Desktop configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Graph API backend (default):
{
"mcpServers": {
"office365": {
"command": "npx",
"args": ["-y", "@jbctechsolutions/mcp-office365"]
}
}
}
AppleScript backend (macOS + classic Outlook only):
{
"mcpServers": {
"office365": {
"command": "npx",
"args": ["-y", "@jbctechsolutions/mcp-office365"],
"env": {
"USE_APPLESCRIPT": "1"
}
}
}
}
Claude Code configuration
Option 1: Plugin (recommended) -- add to ~/.claude/settings.json:
{
"extraKnownMarketplaces": {
"jbctechsolutions": {
"source": {
"source": "github",
"repo": "jbctechsolutions/mcp-office365"
}
}
},
"enabledPlugins": {
"office365@jbctechsolutions": true
}
}
Option 2: Manual -- add .mcp.json to your project or ~/.claude/.mcp.json globally:
{
"mcpServers": {
"office365": {
"command": "npx",
"args": ["-y", "@jbctechsolutions/mcp-office365"]
}
}
}
Authentication
Device Code Flow (Graph API)
- The server displays a device code and URL
- Visit https://microsoft.com/devicelogin
- Enter the code and sign in with your Microsoft account
- Grant the requested permissions
Tokens are stored in ~/.outlook-mcp/tokens.json and refreshed automatically.
Custom Azure AD App Registration
For production, work accounts with conditional access, or full control over the app lifecycle: