@sam2kb/m365-mcp 1.0.1 → 1.0.3
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/.env.example +4 -0
- package/README.md +57 -10
- package/SKILL.md +31 -0
- package/dist/auth.d.ts +1 -0
- package/dist/auth.js +34 -21
- package/dist/auth.js.map +1 -1
- package/dist/graph.js +12 -2
- package/dist/graph.js.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/security.d.ts +22 -0
- package/dist/security.js +98 -0
- package/dist/security.js.map +1 -0
- package/package.json +3 -3
package/.env.example
CHANGED
|
@@ -4,6 +4,10 @@ M365_ACCOUNT=work
|
|
|
4
4
|
# IANA timezone used for Microsoft Graph calendar operations
|
|
5
5
|
M365_TIMEZONE=America/New_York
|
|
6
6
|
|
|
7
|
+
# Optional safety mode: request read-only OAuth scopes, hide mutating tools,
|
|
8
|
+
# and reject direct calls to them.
|
|
9
|
+
# M365_MCP_READ_ONLY=true
|
|
10
|
+
|
|
7
11
|
# Optional auth storage override (default: ~/.m365-mcp/auth)
|
|
8
12
|
# Use an absolute path; variable expansion is not supported by every .env loader.
|
|
9
13
|
# M365_MCP_AUTH_DIR=/absolute/path/to/m365-mcp-auth
|
package/README.md
CHANGED
|
@@ -1,27 +1,44 @@
|
|
|
1
1
|
# m365-mcp
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@sam2kb/m365-mcp)
|
|
4
|
+
[](https://clawhub.ai/sam2kb/skills/m365-mcp)
|
|
5
|
+
|
|
3
6
|
**Production-grade Microsoft 365 MCP server** — Email, Calendar, Contacts, OneDrive, Teams, Tasks, and Users via delegated OAuth.
|
|
4
7
|
|
|
5
8
|
Built from the best of both `office365-connector` (delegated OAuth, multi-account) and `mcp-microsoft365` (MCP protocol, full scope), with all the gaps fixed: pagination, rate limiting, retry logic, proper timezone handling, and TypeScript throughout.
|
|
6
9
|
|
|
7
10
|
## Why this exists
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
This comparison reflects the code shipped in
|
|
13
|
+
[`mcp-microsoft365` v1.0.0](https://clawhub.ai/makhatib/skills/mcp-microsoft365)
|
|
14
|
+
and
|
|
15
|
+
[`office365-connector` v2.0.0](https://clawhub.ai/tirandagan/skills/office365-connector)
|
|
16
|
+
as reviewed on July 18, 2026.
|
|
17
|
+
|
|
18
|
+
| Feature | `mcp-microsoft365` | `office365-connector` | **`m365-mcp`** |
|
|
10
19
|
|---|---|---|---|
|
|
11
|
-
| Auth
|
|
20
|
+
| Auth flow | Client credentials (app-only) | Device code + client secret | **Public-client device code** |
|
|
21
|
+
| Access model | Application permissions (tenant-wide) | Delegated (signed-in user) | **Delegated (signed-in user)** |
|
|
22
|
+
| Client secret | Required | Required and stored locally | **None** ✅ |
|
|
12
23
|
| MCP server | ✅ | ❌ (CLI scripts) | ✅ |
|
|
13
24
|
| Multi-account | ❌ | ✅ | ✅ |
|
|
14
25
|
| Pagination | ❌ | ❌ | ✅ |
|
|
15
|
-
|
|
|
26
|
+
| Graph 429 retries | ❌ | ❌ (not implemented in shipped code) | ✅ |
|
|
27
|
+
| Read-only mode | ❌ | ❌ | ✅ |
|
|
16
28
|
| Email | ✅ | ✅ | ✅ |
|
|
17
29
|
| Calendar | ✅ | ✅ | ✅ |
|
|
18
|
-
| Contacts | ❌ |
|
|
30
|
+
| Contacts | ❌ | ❌ (documented, not shipped) | ✅ |
|
|
19
31
|
| OneDrive | ✅ | ❌ | ✅ |
|
|
20
32
|
| Teams | ✅ | ❌ | ✅ |
|
|
21
33
|
| Tasks | ✅ | ❌ | ✅ |
|
|
22
34
|
| Users | ✅ | ❌ | ✅ |
|
|
23
|
-
|
|
|
24
|
-
|
|
|
35
|
+
| Implementation | TypeScript | JavaScript CLI | TypeScript |
|
|
36
|
+
| Interface coverage | 19 MCP tools | CLI scripts | **38 MCP tools** |
|
|
37
|
+
|
|
38
|
+
`m365-mcp` does not store a client secret or password. Tenant and client IDs are
|
|
39
|
+
non-secret identifiers; sensitive OAuth access and refresh tokens are stored
|
|
40
|
+
locally as permission-restricted plaintext files. See [Security](#security) for
|
|
41
|
+
the storage and revocation details.
|
|
25
42
|
|
|
26
43
|
## Scope
|
|
27
44
|
|
|
@@ -35,7 +52,11 @@ Built from the best of both `office365-connector` (delegated OAuth, multi-accoun
|
|
|
35
52
|
- `Chat.Read` / `Chat.ReadWrite` (Teams)
|
|
36
53
|
- `User.Read` + `offline_access`
|
|
37
54
|
|
|
38
|
-
|
|
55
|
+
These are delegated scopes, not tenant-wide application permissions. Set
|
|
56
|
+
`M365_MCP_READ_ONLY=true` before authentication and when running the server to
|
|
57
|
+
request only the read variants and disable mutating MCP tools.
|
|
58
|
+
|
|
59
|
+
Organization-wide mail application permissions such as `Mail.Read.All` are not used.
|
|
39
60
|
|
|
40
61
|
## Setup
|
|
41
62
|
|
|
@@ -106,7 +127,10 @@ m365-mcp-auth login --account=work
|
|
|
106
127
|
When running from a source checkout, use `node dist/auth-cli.js` instead of
|
|
107
128
|
`m365-mcp-auth`.
|
|
108
129
|
|
|
109
|
-
Follow the on-screen URL + code to sign in.
|
|
130
|
+
Follow the on-screen URL + code to sign in. Access and refresh tokens are stored
|
|
131
|
+
as plaintext JSON in `~/.m365-mcp/auth/` by default, protected with directory
|
|
132
|
+
mode `0700` and file mode `0600` where supported. Set `M365_MCP_AUTH_DIR` to
|
|
133
|
+
use another protected location.
|
|
110
134
|
|
|
111
135
|
### 5. Configure an MCP Client
|
|
112
136
|
|
|
@@ -246,12 +270,35 @@ npm run build # compile TypeScript
|
|
|
246
270
|
|
|
247
271
|
## Security
|
|
248
272
|
|
|
249
|
-
- **Delegated OAuth** — app acts as the authenticated user
|
|
273
|
+
- **Delegated OAuth** — the app acts as the authenticated user; it does not use
|
|
274
|
+
application credentials or tenant-wide mail permissions.
|
|
250
275
|
- **Device code flow** — you never type your password into anything but Microsoft's login page.
|
|
251
|
-
- **
|
|
276
|
+
- **Sensitive reads** — mail, files, calendar entries, contacts, Teams messages,
|
|
277
|
+
tasks, and user profiles can enter the MCP client's model context.
|
|
278
|
+
- **Real side effects** — send, reply, move, create, update, and delete tools
|
|
279
|
+
change Microsoft 365 data. Configure your MCP client to require explicit user
|
|
280
|
+
approval before it invokes them.
|
|
281
|
+
- **MCP safety annotations** — every tool declares read-only, destructive,
|
|
282
|
+
idempotent, and open-world hints for clients that enforce tool policies.
|
|
283
|
+
- **Enforced read-only mode** — set `M365_MCP_READ_ONLY=true` both when
|
|
284
|
+
authenticating and running the server. The auth flow requests read-only Graph
|
|
285
|
+
scopes, mutating tools are omitted from discovery, and direct calls are blocked.
|
|
286
|
+
- **Local token storage** — access and refresh tokens are plaintext JSON protected
|
|
287
|
+
by `0700` directories and `0600` files where supported. Protect
|
|
288
|
+
`~/.m365-mcp/auth/` or your configured `M365_MCP_AUTH_DIR`.
|
|
252
289
|
- **Auto-refresh** — tokens refreshed before expiry, expired refresh tokens trigger re-auth.
|
|
253
290
|
- **No telemetry, no analytics, no third-party calls** besides `login.microsoftonline.com` and `graph.microsoft.com`.
|
|
254
291
|
|
|
292
|
+
To delete a local token, remove its account:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
m365-mcp-auth remove work
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
If a token or device may be compromised, also revoke the application's consent
|
|
299
|
+
from the Microsoft account or Entra ID portal. Re-authenticate after changing
|
|
300
|
+
`M365_MCP_READ_ONLY` so the stored token reflects the intended scope set.
|
|
301
|
+
|
|
255
302
|
## License
|
|
256
303
|
|
|
257
304
|
MIT
|
package/SKILL.md
CHANGED
|
@@ -8,6 +8,19 @@ metadata:
|
|
|
8
8
|
bins:
|
|
9
9
|
- m365-mcp
|
|
10
10
|
- m365-mcp-auth
|
|
11
|
+
envVars:
|
|
12
|
+
- name: M365_ACCOUNT
|
|
13
|
+
required: false
|
|
14
|
+
description: Optional account name selected from the local account store.
|
|
15
|
+
- name: M365_TIMEZONE
|
|
16
|
+
required: false
|
|
17
|
+
description: Optional IANA timezone for calendar operations; defaults to UTC.
|
|
18
|
+
- name: M365_MCP_AUTH_DIR
|
|
19
|
+
required: false
|
|
20
|
+
description: Optional absolute path for the local OAuth account and token store.
|
|
21
|
+
- name: M365_MCP_READ_ONLY
|
|
22
|
+
required: false
|
|
23
|
+
description: Set true to request read-only scopes and disable all mutating tools.
|
|
11
24
|
install:
|
|
12
25
|
- kind: node
|
|
13
26
|
package: "@sam2kb/m365-mcp"
|
|
@@ -56,6 +69,24 @@ Production-grade Microsoft 365 MCP server combining the best of office365-connec
|
|
|
56
69
|
|
|
57
70
|
- List org users, profile lookup, manager lookup
|
|
58
71
|
|
|
72
|
+
## Security and consent
|
|
73
|
+
|
|
74
|
+
- The server contacts only Microsoft's OAuth and Graph services:
|
|
75
|
+
`login.microsoftonline.com` and `graph.microsoft.com`.
|
|
76
|
+
- Device-code OAuth grants delegated access as the signed-in user. Read tools can
|
|
77
|
+
expose private mail, files, calendars, contacts, Teams chats, tasks, and user data.
|
|
78
|
+
- Send, reply, move, create, update, and delete tools change real Microsoft 365
|
|
79
|
+
data. Configure the MCP client to require explicit user approval for those tools.
|
|
80
|
+
- Tools publish standard MCP read-only, destructive, idempotent, and open-world
|
|
81
|
+
annotations so compatible clients can apply confirmation policies.
|
|
82
|
+
- Set `M365_MCP_READ_ONLY=true` for an enforced least-privilege mode. It requests
|
|
83
|
+
read-only OAuth scopes, omits mutating tools from discovery, and rejects direct
|
|
84
|
+
calls to them.
|
|
85
|
+
- Refresh and access tokens are stored as plaintext JSON under
|
|
86
|
+
`~/.m365-mcp/auth/` (or `M365_MCP_AUTH_DIR`), protected with directory mode
|
|
87
|
+
`0700` and file mode `0600` where supported. Protect that directory and revoke
|
|
88
|
+
the app's Microsoft account consent if a token or device is compromised.
|
|
89
|
+
|
|
59
90
|
## Setup
|
|
60
91
|
|
|
61
92
|
ClawHub installs the prebuilt npm package automatically. For a manual install:
|
package/dist/auth.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AccountConfig, AccountsStore, TokenData } from "./types.js";
|
|
8
8
|
export declare function resolveAuthDir(env?: NodeJS.ProcessEnv, homeDir?: string): string;
|
|
9
|
+
export declare function resolveScopes(env?: NodeJS.ProcessEnv): string;
|
|
9
10
|
export declare function ensureDirs(): void;
|
|
10
11
|
export declare function getTokenPath(accountName: string): string;
|
|
11
12
|
export declare function loadAccounts(): AccountsStore;
|
package/dist/auth.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import * as fs from "node:fs";
|
|
8
8
|
import * as path from "node:path";
|
|
9
9
|
import * as os from "node:os";
|
|
10
|
+
import { envFlag } from "./security.js";
|
|
10
11
|
export function resolveAuthDir(env = process.env, homeDir = os.homedir()) {
|
|
11
12
|
const configuredDir = env.M365_MCP_AUTH_DIR?.trim();
|
|
12
13
|
return configuredDir ? path.resolve(configuredDir) : path.join(homeDir, ".m365-mcp", "auth");
|
|
@@ -14,22 +15,24 @@ export function resolveAuthDir(env = process.env, homeDir = os.homedir()) {
|
|
|
14
15
|
const AUTH_DIR = resolveAuthDir();
|
|
15
16
|
const ACCOUNTS_PATH = path.join(AUTH_DIR, "accounts.json");
|
|
16
17
|
const TOKENS_DIR = path.join(AUTH_DIR, "tokens");
|
|
17
|
-
// Scopes for delegated access — reads/writes YOUR data only, not the whole tenant
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
18
|
+
// Scopes for delegated access — reads/writes YOUR data only, not the whole tenant.
|
|
19
|
+
export function resolveScopes(env = process.env) {
|
|
20
|
+
const scopes = [
|
|
21
|
+
"offline_access",
|
|
22
|
+
"User.Read",
|
|
23
|
+
"Mail.Read",
|
|
24
|
+
"Calendars.Read",
|
|
25
|
+
"Contacts.Read",
|
|
26
|
+
"Files.Read.All",
|
|
27
|
+
"Tasks.Read",
|
|
28
|
+
"Chat.Read",
|
|
29
|
+
];
|
|
30
|
+
if (!envFlag(env.M365_MCP_READ_ONLY)) {
|
|
31
|
+
scopes.push("Mail.ReadWrite", "Mail.Send", "Calendars.ReadWrite", "Contacts.ReadWrite", "Tasks.ReadWrite", "Chat.ReadWrite");
|
|
32
|
+
}
|
|
33
|
+
return scopes.join(" ");
|
|
34
|
+
}
|
|
35
|
+
const SCOPES = resolveScopes();
|
|
33
36
|
// ─── helpers ────────────────────────────────────────────────────────
|
|
34
37
|
export function ensureDirs() {
|
|
35
38
|
fs.mkdirSync(AUTH_DIR, { recursive: true, mode: 0o700 });
|
|
@@ -135,6 +138,14 @@ function saveTokens(config, tokens) {
|
|
|
135
138
|
return data;
|
|
136
139
|
}
|
|
137
140
|
// ─── HTTPS helper ───────────────────────────────────────────────────
|
|
141
|
+
class OAuthError extends Error {
|
|
142
|
+
code;
|
|
143
|
+
constructor(code, description) {
|
|
144
|
+
super(`Auth error${code ? ` [${code}]` : ""}: ${description}`);
|
|
145
|
+
this.code = code;
|
|
146
|
+
this.name = "OAuthError";
|
|
147
|
+
}
|
|
148
|
+
}
|
|
138
149
|
async function httpsPost(url, body) {
|
|
139
150
|
const resp = await fetch(url, {
|
|
140
151
|
method: "POST",
|
|
@@ -143,7 +154,7 @@ async function httpsPost(url, body) {
|
|
|
143
154
|
});
|
|
144
155
|
const data = await resp.json();
|
|
145
156
|
if (!resp.ok) {
|
|
146
|
-
throw new
|
|
157
|
+
throw new OAuthError(typeof data.error === "string" ? data.error : undefined, data.error_description ?? resp.statusText);
|
|
147
158
|
}
|
|
148
159
|
return data;
|
|
149
160
|
}
|
|
@@ -257,14 +268,16 @@ export async function authenticate(accountName, onPrompt) {
|
|
|
257
268
|
return saveTokens(config, tokens);
|
|
258
269
|
}
|
|
259
270
|
catch (err) {
|
|
260
|
-
|
|
271
|
+
const errorCode = err instanceof OAuthError ? err.code : undefined;
|
|
272
|
+
if (errorCode === "authorization_pending" ||
|
|
273
|
+
err.message.includes("AADSTS70016")) {
|
|
261
274
|
continue;
|
|
262
275
|
}
|
|
263
|
-
if (
|
|
264
|
-
|
|
276
|
+
if (errorCode === "authorization_declined" ||
|
|
277
|
+
errorCode === "access_denied") {
|
|
265
278
|
throw new Error("User declined authorization.");
|
|
266
279
|
}
|
|
267
|
-
if (
|
|
280
|
+
if (errorCode === "expired_token" ||
|
|
268
281
|
err.message.includes("AADSTS70019")) {
|
|
269
282
|
throw new Error("Device code expired. Please try again.");
|
|
270
283
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/graph.js
CHANGED
|
@@ -152,12 +152,22 @@ export class GraphClient {
|
|
|
152
152
|
}
|
|
153
153
|
/** Download raw file content with retry on transient failures */
|
|
154
154
|
async download(url, maxBytes = 50_000) {
|
|
155
|
-
const
|
|
155
|
+
const downloadUrl = new URL(url);
|
|
156
|
+
if (downloadUrl.protocol !== "https:") {
|
|
157
|
+
throw new Error("Download URL must use HTTPS");
|
|
158
|
+
}
|
|
159
|
+
// Graph may return a pre-authenticated SharePoint/OneDrive download URL.
|
|
160
|
+
// Never forward the Microsoft Graph bearer token to another origin.
|
|
161
|
+
const headers = {};
|
|
162
|
+
if (downloadUrl.origin === new URL(GRAPH_BASE).origin) {
|
|
163
|
+
const token = await getAccessToken(this.accountName);
|
|
164
|
+
headers.Authorization = `Bearer ${token}`;
|
|
165
|
+
}
|
|
156
166
|
let attempt = 0;
|
|
157
167
|
let delay = RETRY_BACKOFF_MS;
|
|
158
168
|
while (true) {
|
|
159
169
|
const resp = await fetch(url, {
|
|
160
|
-
headers
|
|
170
|
+
headers,
|
|
161
171
|
});
|
|
162
172
|
if (resp.status === 429 && attempt < MAX_RETRIES) {
|
|
163
173
|
const retryAfter = resp.headers.get("Retry-After");
|
package/dist/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,9 +17,11 @@ import { registerFilesTools, filesToolSchemas } from "./tools/files.js";
|
|
|
17
17
|
import { registerTeamsTools, teamsToolSchemas } from "./tools/teams.js";
|
|
18
18
|
import { registerTasksTools, tasksToolSchemas } from "./tools/tasks.js";
|
|
19
19
|
import { registerUsersTools, usersToolSchemas } from "./tools/users.js";
|
|
20
|
+
import { annotateTools, assertToolAllowed, envFlag, toolsForMode, } from "./security.js";
|
|
20
21
|
// ─── Config ──────────────────────────────────────────────────────────
|
|
21
22
|
const ACCOUNT_NAME = process.env.M365_ACCOUNT || undefined;
|
|
22
23
|
const TIMEZONE = process.env.M365_TIMEZONE || "UTC";
|
|
24
|
+
const READ_ONLY = envFlag(process.env.M365_MCP_READ_ONLY);
|
|
23
25
|
// ─── Init ────────────────────────────────────────────────────────────
|
|
24
26
|
const client = new GraphClient(TIMEZONE, ACCOUNT_NAME);
|
|
25
27
|
const mailTools = registerMailTools(client);
|
|
@@ -30,7 +32,7 @@ const teamsTools = registerTeamsTools(client);
|
|
|
30
32
|
const tasksTools = registerTasksTools(client);
|
|
31
33
|
const usersTools = registerUsersTools(client);
|
|
32
34
|
// ─── Tool catalog ────────────────────────────────────────────────────
|
|
33
|
-
const allTools = [
|
|
35
|
+
const allTools = toolsForMode(annotateTools([
|
|
34
36
|
...mailToolSchemas,
|
|
35
37
|
...calendarToolSchemas,
|
|
36
38
|
...contactsToolSchemas,
|
|
@@ -38,9 +40,10 @@ const allTools = [
|
|
|
38
40
|
...teamsToolSchemas,
|
|
39
41
|
...tasksToolSchemas,
|
|
40
42
|
...usersToolSchemas,
|
|
41
|
-
];
|
|
43
|
+
]), READ_ONLY);
|
|
42
44
|
// ─── Tool router ─────────────────────────────────────────────────────
|
|
43
45
|
async function handleToolCall(name, args) {
|
|
46
|
+
assertToolAllowed(name, READ_ONLY);
|
|
44
47
|
// Mail
|
|
45
48
|
if (name === "m365_mail_list")
|
|
46
49
|
return mailTools.mail_list(args);
|
|
@@ -146,7 +149,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
146
149
|
async function main() {
|
|
147
150
|
const transport = new StdioServerTransport();
|
|
148
151
|
await server.connect(transport);
|
|
149
|
-
console.error(`m365-mcp v1.0.0 running (account: ${ACCOUNT_NAME ?? "default"}, tz: ${TIMEZONE})`);
|
|
152
|
+
console.error(`m365-mcp v1.0.0 running (account: ${ACCOUNT_NAME ?? "default"}, tz: ${TIMEZONE}, read-only: ${READ_ONLY})`);
|
|
150
153
|
}
|
|
151
154
|
main().catch(console.error);
|
|
152
155
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime safety controls and MCP tool annotations.
|
|
3
|
+
*/
|
|
4
|
+
export interface ToolDefinition {
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface ToolSafetyAnnotations {
|
|
10
|
+
readOnlyHint: boolean;
|
|
11
|
+
destructiveHint: boolean;
|
|
12
|
+
idempotentHint: boolean;
|
|
13
|
+
openWorldHint: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function envFlag(value: string | undefined): boolean;
|
|
16
|
+
export declare function isMutatingTool(name: string): boolean;
|
|
17
|
+
export declare function toolSafetyAnnotations(name: string): ToolSafetyAnnotations;
|
|
18
|
+
export declare function annotateTools<T extends ToolDefinition>(tools: readonly T[]): Array<T & {
|
|
19
|
+
annotations: ToolSafetyAnnotations;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function toolsForMode<T extends ToolDefinition>(tools: readonly T[], readOnly: boolean): T[];
|
|
22
|
+
export declare function assertToolAllowed(name: string, readOnly: boolean): void;
|
package/dist/security.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime safety controls and MCP tool annotations.
|
|
3
|
+
*/
|
|
4
|
+
const READ_ONLY_TOOLS = new Set([
|
|
5
|
+
"m365_mail_list",
|
|
6
|
+
"m365_mail_read",
|
|
7
|
+
"m365_mail_search",
|
|
8
|
+
"m365_mail_folders",
|
|
9
|
+
"m365_calendar_list",
|
|
10
|
+
"m365_calendar_today",
|
|
11
|
+
"m365_calendar_week",
|
|
12
|
+
"m365_calendar_availability",
|
|
13
|
+
"m365_contacts_list",
|
|
14
|
+
"m365_contacts_search",
|
|
15
|
+
"m365_contacts_read",
|
|
16
|
+
"m365_files_list",
|
|
17
|
+
"m365_files_search",
|
|
18
|
+
"m365_files_read",
|
|
19
|
+
"m365_files_info",
|
|
20
|
+
"m365_teams_chats",
|
|
21
|
+
"m365_teams_messages",
|
|
22
|
+
"m365_tasks_lists",
|
|
23
|
+
"m365_tasks_list",
|
|
24
|
+
"m365_users_list",
|
|
25
|
+
"m365_users_profile",
|
|
26
|
+
"m365_users_manager",
|
|
27
|
+
]);
|
|
28
|
+
const KNOWN_MUTATING_TOOLS = new Set([
|
|
29
|
+
"m365_mail_send",
|
|
30
|
+
"m365_mail_reply",
|
|
31
|
+
"m365_mail_move",
|
|
32
|
+
"m365_mail_delete",
|
|
33
|
+
"m365_mail_mark_read",
|
|
34
|
+
"m365_calendar_create",
|
|
35
|
+
"m365_calendar_update",
|
|
36
|
+
"m365_calendar_delete",
|
|
37
|
+
"m365_contacts_create",
|
|
38
|
+
"m365_contacts_update",
|
|
39
|
+
"m365_contacts_delete",
|
|
40
|
+
"m365_files_create_folder",
|
|
41
|
+
"m365_teams_send",
|
|
42
|
+
"m365_tasks_create",
|
|
43
|
+
"m365_tasks_update",
|
|
44
|
+
"m365_tasks_delete",
|
|
45
|
+
]);
|
|
46
|
+
const DESTRUCTIVE_TOOLS = new Set([
|
|
47
|
+
"m365_mail_move",
|
|
48
|
+
"m365_mail_delete",
|
|
49
|
+
"m365_mail_mark_read",
|
|
50
|
+
"m365_calendar_update",
|
|
51
|
+
"m365_calendar_delete",
|
|
52
|
+
"m365_contacts_update",
|
|
53
|
+
"m365_contacts_delete",
|
|
54
|
+
"m365_tasks_update",
|
|
55
|
+
"m365_tasks_delete",
|
|
56
|
+
]);
|
|
57
|
+
const IDEMPOTENT_TOOLS = new Set([
|
|
58
|
+
"m365_mail_mark_read",
|
|
59
|
+
"m365_calendar_update",
|
|
60
|
+
"m365_calendar_delete",
|
|
61
|
+
"m365_contacts_update",
|
|
62
|
+
"m365_contacts_delete",
|
|
63
|
+
"m365_tasks_update",
|
|
64
|
+
"m365_tasks_delete",
|
|
65
|
+
]);
|
|
66
|
+
export function envFlag(value) {
|
|
67
|
+
return /^(1|true|yes|on)$/i.test(value?.trim() ?? "");
|
|
68
|
+
}
|
|
69
|
+
export function isMutatingTool(name) {
|
|
70
|
+
return !READ_ONLY_TOOLS.has(name);
|
|
71
|
+
}
|
|
72
|
+
export function toolSafetyAnnotations(name) {
|
|
73
|
+
const mutating = isMutatingTool(name);
|
|
74
|
+
const unknown = mutating && !KNOWN_MUTATING_TOOLS.has(name);
|
|
75
|
+
return {
|
|
76
|
+
readOnlyHint: !mutating,
|
|
77
|
+
destructiveHint: unknown || DESTRUCTIVE_TOOLS.has(name),
|
|
78
|
+
idempotentHint: !mutating || IDEMPOTENT_TOOLS.has(name),
|
|
79
|
+
openWorldHint: true,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export function annotateTools(tools) {
|
|
83
|
+
return tools.map((tool) => ({
|
|
84
|
+
...tool,
|
|
85
|
+
annotations: toolSafetyAnnotations(tool.name),
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
export function toolsForMode(tools, readOnly) {
|
|
89
|
+
return readOnly
|
|
90
|
+
? tools.filter((tool) => !isMutatingTool(tool.name))
|
|
91
|
+
: [...tools];
|
|
92
|
+
}
|
|
93
|
+
export function assertToolAllowed(name, readOnly) {
|
|
94
|
+
if (readOnly && isMutatingTool(name)) {
|
|
95
|
+
throw new Error(`Tool "${name}" is disabled because M365_MCP_READ_ONLY is enabled`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sam2kb/m365-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Production-grade Microsoft 365 MCP server — email, calendar, contacts, OneDrive, Teams, tasks, and users via delegated OAuth",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
46
|
+
"@modelcontextprotocol/sdk": "^1.29.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/node": "^20.10.0",
|
|
50
50
|
"tsx": "^4.7.0",
|
|
51
51
|
"typescript": "^5.3.0",
|
|
52
|
-
"vitest": "^3.2.
|
|
52
|
+
"vitest": "^3.2.7"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=18"
|