@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 your MCP transport (stdio for local and http for remote) and platform
53
- - For stdio, choose "Authentication", + Add Redirect URI, "Mobile and desktop applications" platform
54
- - For http, choose "Authentication", + Add Redirect URI, "Web" platform, add your URL (default is http://localhost:3000/oauth/callback based on the --port or PORT)
55
- - For local hosting, add "http://localhost" for [Ephemeral redirect URL](https://en.wikipedia.org/wiki/Ephemeral_port)
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 "npx @mcp-z/cli up" for starting an http server from your .mpc.json. See [@mcp-z/cli](https://github.com/mcp-z/cli) for details.
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
- ### Documentation
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: import("@modelcontextprotocol/server").ResourceMetadata & {
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: import("@modelcontextprotocol/server").ResourceMetadata & {
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: import("@modelcontextprotocol/server").ResourceMetadata & {
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>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-z/mcp-outlook",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "MCP server for Outlook integration with OAuth authentication, message search, and batch operations",
5
5
  "keywords": [
6
6
  "outlook",