Skip to main content
Glama
Cloud-li1

mcp-outlook-calendar

by Cloud-li1

mcp-outlook-calendar

MCP Server for Microsoft Outlook Calendar and To Do via Microsoft Graph API.

0. 自用迁移笔记

git clone https://github.com/Cloud-li1/mcp-outlook-calendar.git
cd mcp-outlook-calendar
cp .env.example .env
# 编辑 .env,填入 OUTLOOK_CLIENT_ID(Azure 应用注册里拿)
pip install -e .
python3 src/server.py  # 首次运行完成 device code 认证,之后 token 自动缓存

Azure 应用注册 → 身份验证 → 允许公共客户端流 → 是 API 权限:Calendars.ReadWrite + Tasks.ReadWrite(委托) 如换机器,~/.cache/mcp-outlook-calendar/token_cache.bin 需重新认证

Related MCP server: Outlook Universal MCP Server

Prerequisites

  1. Register an app at Azure Portal

    • Supported account types: "Accounts in any organizational directory and personal Microsoft accounts"

    • Redirect URI: https://login.microsoftonline.com/common/oauth2/nativeclient

    • API Permissions → Add Calendars.ReadWrite and Tasks.ReadWrite (both delegated)

  2. Copy the Application (client) ID

Setup

cp .env.example .env
# Edit .env: paste your OUTLOOK_CLIENT_ID
pip install -e .

Usage

python3 src/server.py

On first run, the server prints a device code URL and code to stderr. Open the URL, enter the code, sign in with your Microsoft account. The token is cached at ~/.cache/mcp-outlook-calendar/token_cache.bin and auto-refreshes.

Migration to any MCP-compatible AI tool

Copy the "outlook-calendar" block from opencode-mcp.json into your tool's MCP config file, adjusting "cwd" to where you placed this project.

Available Tools

Tool

Description

list_calendars

List all user calendars

list_events

List events in a date range

create_event

Create a calendar event (with optional attendees, online meeting, reminders)

update_event

Update an existing event

delete_event

Delete an event

get_event

Get full details of a single event

list_task_lists

List all To Do task lists

list_tasks

List tasks, optionally filtered by status

create_task

Create a task (with due date, importance, reminder)

update_task

Update task fields (including marking complete)

delete_task

Delete a task

get_task

Get full details of a single task

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers