@chrischall/office-outlook-mcp 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/mcp.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +23 -6
- package/dist/bundle.js +320 -63
- package/dist/tools/_paging.js +102 -0
- package/dist/tools/mail.js +72 -12
- package/dist/tools/writes.js +35 -25
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/server.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "MCP server for Outlook / Microsoft 365 — mail, calendar, contacts and tasks via natural language",
|
|
10
|
-
"version": "0.
|
|
10
|
+
"version": "0.6.1"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "Outlook (Microsoft 365)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "MCP server for Outlook / Microsoft 365 — triage unread mail, reply, answer meeting invites and schedule meetings, plus folders, calendar, contacts and tasks, with confirmation before anything is sent",
|
|
18
|
-
"version": "0.
|
|
18
|
+
"version": "0.6.1",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
package/.claude-plugin/mcp.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "office-outlook-mcp",
|
|
3
3
|
"displayName": "Outlook (Microsoft 365)",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.6.1",
|
|
5
5
|
"description": "Outlook / Microsoft 365 for Claude — triage unread mail, reply, answer meeting invites and schedule meetings, plus folders, calendar, contacts and tasks, with confirmation before anything is sent, using your signed-in browser session",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Chris Hall",
|
package/README.md
CHANGED
|
@@ -119,8 +119,9 @@ Everything is optional — with nothing set, the server captures from the browse
|
|
|
119
119
|
`outlook_update_message`, `outlook_move_message`, `outlook_create_event`,
|
|
120
120
|
`outlook_update_event`, `outlook_respond_to_invite`, `outlook_delete_event`,
|
|
121
121
|
`outlook_reply`.
|
|
122
|
-
|
|
123
|
-
`
|
|
122
|
+
Some skip the confirmation because nothing reaches anyone else:
|
|
123
|
+
`outlook_create_draft` (the draft stays in Drafts until you send it from
|
|
124
|
+
Outlook), `outlook_reply` with `draftOnly: true` (the reply stays in Drafts),
|
|
124
125
|
`outlook_respond_to_invite` with `sendResponse: false`, and
|
|
125
126
|
`outlook_delete_event` on your own appointment with no attendees or on a
|
|
126
127
|
meeting the organizer already cancelled (in each, only your calendar
|
|
@@ -129,9 +130,12 @@ changes).
|
|
|
129
130
|
**Meetings** — `outlook_find_meeting_times` asks Outlook's Scheduling
|
|
130
131
|
Assistant for slots when everyone is free, and `outlook_get_schedule` shows
|
|
131
132
|
each person's busy blocks. Each suggested slot carries `createEventArgs`,
|
|
132
|
-
which `outlook_create_event` accepts unchanged. `outlook_create_event`
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
which `outlook_create_event` accepts unchanged. `outlook_create_event`
|
|
134
|
+
attaches a Microsoft Teams meeting by default and returns its join link; pass
|
|
135
|
+
`teamsMeeting: false` to leave it off. `outlook_update_event` never changes how
|
|
136
|
+
people join a meeting unless asked: pass `teamsMeeting: true` to add a Teams
|
|
137
|
+
meeting to an event that lacks one, and the confirmation says so in plain
|
|
138
|
+
words. Only the organizer
|
|
135
139
|
can update a meeting. `outlook_respond_to_invite` accepts, tentatively accepts
|
|
136
140
|
or declines an invite, by its message id or its event id.
|
|
137
141
|
`outlook_delete_event` deletes an event you organize — one occurrence by the
|
|
@@ -202,10 +206,23 @@ each asks you to confirm first — except a reply saved with `draftOnly: true`
|
|
|
202
206
|
(it stays in Drafts until you send it) and an invite response with
|
|
203
207
|
`sendResponse: false` (only your calendar changes; the organizer is not told).
|
|
204
208
|
|
|
209
|
+
## Paging from a time
|
|
210
|
+
|
|
211
|
+
`outlook_get_unread` and `outlook_list_messages` also page **oldest first**
|
|
212
|
+
from a point in time: pass `from` as an ISO 8601 UTC time
|
|
213
|
+
(`2026-10-01T00:00:00Z`). The result carries `next_from` — pass it back
|
|
214
|
+
unchanged as `from` for the next page — and `has_more`. To backfill, start
|
|
215
|
+
from an old time and keep passing `next_from` until `has_more` is false; then
|
|
216
|
+
keep polling with the last `next_from` to pick up new mail (an empty page
|
|
217
|
+
returns the same position). Messages that share a timestamp are never skipped
|
|
218
|
+
or repeated across pages, and marking mail read between pages loses nothing.
|
|
219
|
+
`from` cannot be combined with `nextLink`, `sinceHours`, `search` or `skip`.
|
|
220
|
+
|
|
205
221
|
## Confirmations
|
|
206
222
|
|
|
207
223
|
Every write asks you to confirm before anything is sent or changed (except a
|
|
208
|
-
draft-only reply and a silent invite response — see
|
|
224
|
+
new draft, a draft-only reply and a silent invite response — see
|
|
225
|
+
[Tools](#tools)). A client
|
|
209
226
|
that can show a confirmation prompt (Claude Code) shows one. On a client that
|
|
210
227
|
cannot, the first call does nothing and returns a `confirmation-required`
|
|
211
228
|
preview plus a `confirmToken`; only a repeat call with that token performs the
|