@mcp-z/mcp-outlook 2.2.0 → 2.2.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/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for Outlook integration with OAuth authentication, message search, and batch operations
|
|
4
4
|
|
|
5
|
+
Requires Node.js >=20. The examples use `npx`, included with npm, to run this server and `@mcp-z/cli`.
|
|
6
|
+
|
|
5
7
|
## Common uses
|
|
6
8
|
|
|
7
9
|
- Search and read messages
|
|
@@ -12,6 +14,11 @@ MCP server for Outlook integration with OAuth authentication, message search, an
|
|
|
12
14
|
|
|
13
15
|
MCP supports stdio and HTTP.
|
|
14
16
|
|
|
17
|
+
Both the 2025 and 2026-07-28 protocol revisions are served, over either transport, from the same
|
|
18
|
+
server. Your client negotiates whichever it speaks. A 2025 client keeps working with no change,
|
|
19
|
+
and support for it is not being dropped. The 2026-07-28 revision is stateless, so a client speaking
|
|
20
|
+
it sends no `initialize` handshake and carries no session id.
|
|
21
|
+
|
|
15
22
|
**Stdio**
|
|
16
23
|
```json
|
|
17
24
|
{
|
|
@@ -40,7 +47,7 @@ MCP supports stdio and HTTP.
|
|
|
40
47
|
}
|
|
41
48
|
```
|
|
42
49
|
|
|
43
|
-
`start` is an extension used by `npx @mcp-z/cli up` to launch HTTP servers for you.
|
|
50
|
+
`start` is an extension used by `npx @mcp-z/cli up` to launch HTTP servers for you. The HTTP endpoint is `/mcp`.
|
|
44
51
|
|
|
45
52
|
## Create a Microsoft app
|
|
46
53
|
|
|
@@ -49,10 +56,10 @@ MCP supports stdio and HTTP.
|
|
|
49
56
|
3. Click New registration.
|
|
50
57
|
4. Choose a name and select a supported account type.
|
|
51
58
|
5. Copy the Application (client) ID and Directory (tenant) ID.
|
|
52
|
-
6. Select
|
|
53
|
-
- For stdio, choose "
|
|
54
|
-
- For
|
|
55
|
-
- For local hosting, add
|
|
59
|
+
6. Select the credential platform that matches your transport:
|
|
60
|
+
- For stdio, choose "Mobile and desktop applications" under Authentication and add the loopback redirect URI.
|
|
61
|
+
- For HTTP, choose "Web" and add your public `/oauth/callback` URL. Local HTTP uses the port configured with `--port` or `PORT`.
|
|
62
|
+
- For local hosting, add `http://localhost` for the [ephemeral redirect URL](https://en.wikipedia.org/wiki/Ephemeral_port).
|
|
56
63
|
7. Enable OAuth2 scopes in API Permissions: openid profile offline_access https://graph.microsoft.com/User.Read https://graph.microsoft.com/Mail.ReadWrite https://graph.microsoft.com/Mail.Send https://graph.microsoft.com/MailboxSettings.ReadWrite
|
|
57
64
|
|
|
58
65
|
## OAuth modes
|
|
@@ -91,7 +98,7 @@ Example (http) - Create .mcp.json:
|
|
|
91
98
|
"mcpServers": {
|
|
92
99
|
"outlook": {
|
|
93
100
|
"type": "http",
|
|
94
|
-
"url": "http://localhost:3000",
|
|
101
|
+
"url": "http://localhost:3000/mcp",
|
|
95
102
|
"start": {
|
|
96
103
|
"command": "npx",
|
|
97
104
|
"args": ["-y", "@mcp-z/mcp-outlook", "--port=3000"],
|
|
@@ -107,7 +114,7 @@ Example (http) - Create .mcp.json:
|
|
|
107
114
|
|
|
108
115
|
Local (default): omit REDIRECT_URI → ephemeral loopback. Cloud: set REDIRECT_URI to your public /oauth/callback and expose the service publicly.
|
|
109
116
|
|
|
110
|
-
Note: start block is a helper in
|
|
117
|
+
Note: the `start` block is a helper in `npx @mcp-z/cli up` for starting an HTTP server from your `.mcp.json`. See [@mcp-z/cli](https://github.com/mcp-z/cli) for details.
|
|
111
118
|
|
|
112
119
|
### Device code
|
|
113
120
|
|
|
@@ -158,10 +165,10 @@ HTTP only. Requires a public base URL. CSV export and `/files` are disabled in D
|
|
|
158
165
|
|
|
159
166
|
```bash
|
|
160
167
|
# List tools
|
|
161
|
-
mcp-z inspect --servers outlook --tools
|
|
168
|
+
npx -y @mcp-z/cli inspect --servers outlook --tools
|
|
162
169
|
|
|
163
170
|
# Call a tool
|
|
164
|
-
mcp-z call outlook message-search '{"query":"from:alice@example.com"}'
|
|
171
|
+
npx -y @mcp-z/cli call-tool outlook message-search '{"query":"from:alice@example.com"}'
|
|
165
172
|
```
|
|
166
173
|
|
|
167
174
|
## Tools
|
|
@@ -189,7 +196,7 @@ mcp-z call outlook message-search '{"query":"from:alice@example.com"}'
|
|
|
189
196
|
|
|
190
197
|
## Configuration reference
|
|
191
198
|
|
|
192
|
-
See `server.json` for all supported environment variables, CLI arguments, and defaults.
|
|
199
|
+
See [`server.json`](https://github.com/mcp-z/mcp-outlook/blob/master/server.json) for all supported environment variables, CLI arguments, and defaults.
|
|
193
200
|
|
|
194
201
|
## Storage backends
|
|
195
202
|
|
|
@@ -207,6 +214,6 @@ TOKEN_STORE_URI=redis://localhost:6379 mcp-outlook
|
|
|
207
214
|
|
|
208
215
|
A protocol whose adapter is missing fails at startup naming the package to install.
|
|
209
216
|
|
|
210
|
-
|
|
217
|
+
## Documentation
|
|
211
218
|
|
|
212
219
|
[API Docs](https://mcp-z.github.io/mcp-outlook)
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type { ReadResourceResult, ServerContext } from '@mcp-z/server';
|
|
1
|
+
import type { ReadResourceResult, ResourceConfig, ServerContext } from '@mcp-z/server';
|
|
2
2
|
import { ResourceTemplate } from '@mcp-z/server';
|
|
3
3
|
export default function createResource(): {
|
|
4
4
|
name: string;
|
|
5
5
|
template: ResourceTemplate;
|
|
6
|
-
config:
|
|
7
|
-
cacheHint?: import("@mcp-z/server").CacheHint;
|
|
8
|
-
};
|
|
6
|
+
config: ResourceConfig;
|
|
9
7
|
handler: (uri: URL, variables: {
|
|
10
8
|
id: string;
|
|
11
9
|
}, extra: ServerContext) => Promise<ReadResourceResult>;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type { ReadResourceResult, ServerContext } from '@mcp-z/server';
|
|
1
|
+
import type { ReadResourceResult, ResourceConfig, ServerContext } from '@mcp-z/server';
|
|
2
2
|
import { ResourceTemplate } from '@mcp-z/server';
|
|
3
3
|
export default function createResource(): {
|
|
4
4
|
name: string;
|
|
5
5
|
template: ResourceTemplate;
|
|
6
|
-
config:
|
|
7
|
-
cacheHint?: import("@mcp-z/server").CacheHint;
|
|
8
|
-
};
|
|
6
|
+
config: ResourceConfig;
|
|
9
7
|
handler: (uri: URL, variables: {
|
|
10
8
|
id: string;
|
|
11
9
|
}, extra: ServerContext) => Promise<ReadResourceResult>;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type { ReadResourceResult, ServerContext } from '@mcp-z/server';
|
|
1
|
+
import type { ReadResourceResult, ResourceConfig, ServerContext } from '@mcp-z/server';
|
|
2
2
|
import { ResourceTemplate } from '@mcp-z/server';
|
|
3
3
|
export default function createResource(): {
|
|
4
4
|
name: string;
|
|
5
5
|
template: ResourceTemplate;
|
|
6
|
-
config:
|
|
7
|
-
cacheHint?: import("@mcp-z/server").CacheHint;
|
|
8
|
-
};
|
|
6
|
+
config: ResourceConfig;
|
|
9
7
|
handler: (uri: URL, variables: {
|
|
10
8
|
id: string;
|
|
11
9
|
}, extra: ServerContext) => Promise<ReadResourceResult>;
|