@sam2kb/m365-mcp 1.0.1 → 1.0.2

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 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
@@ -35,7 +35,11 @@ Built from the best of both `office365-connector` (delegated OAuth, multi-accoun
35
35
  - `Chat.Read` / `Chat.ReadWrite` (Teams)
36
36
  - `User.Read` + `offline_access`
37
37
 
38
- No tenant-wide `Mail.Read.All` or `Files.Read.All` needed.
38
+ These are delegated scopes, not tenant-wide application permissions. Set
39
+ `M365_MCP_READ_ONLY=true` before authentication and when running the server to
40
+ request only the read variants and disable mutating MCP tools.
41
+
42
+ Organization-wide mail application permissions such as `Mail.Read.All` are not used.
39
43
 
40
44
  ## Setup
41
45
 
@@ -106,7 +110,10 @@ m365-mcp-auth login --account=work
106
110
  When running from a source checkout, use `node dist/auth-cli.js` instead of
107
111
  `m365-mcp-auth`.
108
112
 
109
- Follow the on-screen URL + code to sign in. Tokens are stored securely in `~/.m365-mcp/auth/` by default. Set `M365_MCP_AUTH_DIR` to use another location.
113
+ Follow the on-screen URL + code to sign in. Access and refresh tokens are stored
114
+ as plaintext JSON in `~/.m365-mcp/auth/` by default, protected with directory
115
+ mode `0700` and file mode `0600` where supported. Set `M365_MCP_AUTH_DIR` to
116
+ use another protected location.
110
117
 
111
118
  ### 5. Configure an MCP Client
112
119
 
@@ -246,12 +253,35 @@ npm run build # compile TypeScript
246
253
 
247
254
  ## Security
248
255
 
249
- - **Delegated OAuth** — app acts as the authenticated user. No tenant-wide access.
256
+ - **Delegated OAuth** — the app acts as the authenticated user; it does not use
257
+ application credentials or tenant-wide mail permissions.
250
258
  - **Device code flow** — you never type your password into anything but Microsoft's login page.
251
- - **Tokens stored with 0600 permissions** in `~/.m365-mcp/auth/` by default, configurable with `M365_MCP_AUTH_DIR`.
259
+ - **Sensitive reads** — mail, files, calendar entries, contacts, Teams messages,
260
+ tasks, and user profiles can enter the MCP client's model context.
261
+ - **Real side effects** — send, reply, move, create, update, and delete tools
262
+ change Microsoft 365 data. Configure your MCP client to require explicit user
263
+ approval before it invokes them.
264
+ - **MCP safety annotations** — every tool declares read-only, destructive,
265
+ idempotent, and open-world hints for clients that enforce tool policies.
266
+ - **Enforced read-only mode** — set `M365_MCP_READ_ONLY=true` both when
267
+ authenticating and running the server. The auth flow requests read-only Graph
268
+ scopes, mutating tools are omitted from discovery, and direct calls are blocked.
269
+ - **Local token storage** — access and refresh tokens are plaintext JSON protected
270
+ by `0700` directories and `0600` files where supported. Protect
271
+ `~/.m365-mcp/auth/` or your configured `M365_MCP_AUTH_DIR`.
252
272
  - **Auto-refresh** — tokens refreshed before expiry, expired refresh tokens trigger re-auth.
253
273
  - **No telemetry, no analytics, no third-party calls** besides `login.microsoftonline.com` and `graph.microsoft.com`.
254
274
 
275
+ To delete a local token, remove its account:
276
+
277
+ ```bash
278
+ m365-mcp-auth remove work
279
+ ```
280
+
281
+ If a token or device may be compromised, also revoke the application's consent
282
+ from the Microsoft account or Entra ID portal. Re-authenticate after changing
283
+ `M365_MCP_READ_ONLY` so the stored token reflects the intended scope set.
284
+
255
285
  ## License
256
286
 
257
287
  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
- const SCOPES = [
19
- "offline_access",
20
- "User.Read",
21
- "Mail.Read",
22
- "Mail.ReadWrite",
23
- "Mail.Send",
24
- "Calendars.Read",
25
- "Calendars.ReadWrite",
26
- "Contacts.Read",
27
- "Contacts.ReadWrite",
28
- "Files.Read.All",
29
- "Tasks.ReadWrite",
30
- "Chat.Read",
31
- "Chat.ReadWrite",
32
- ].join(" ");
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 });
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 token = await getAccessToken(this.accountName);
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: { Authorization: `Bearer ${token}` },
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":"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"}
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;
@@ -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.1",
3
+ "version": "1.0.2",
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.0.0"
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.4"
52
+ "vitest": "^3.2.7"
53
53
  },
54
54
  "engines": {
55
55
  "node": ">=18"