@softeria/ms-365-mcp-server 0.38.0 → 0.40.0

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.
@@ -148,6 +148,24 @@
148
148
  "scopes": ["Mail.ReadWrite"],
149
149
  "llmTip": "Create a forward draft (does not send). Useful when user wants to review before sending."
150
150
  },
151
+ {
152
+ "pathPattern": "/me/messages/{message-id}/createReply",
153
+ "method": "post",
154
+ "toolName": "create-reply-draft",
155
+ "scopes": ["Mail.ReadWrite"]
156
+ },
157
+ {
158
+ "pathPattern": "/me/messages/{message-id}/createReplyAll",
159
+ "method": "post",
160
+ "toolName": "create-reply-all-draft",
161
+ "scopes": ["Mail.ReadWrite"]
162
+ },
163
+ {
164
+ "pathPattern": "/me/messages/{message-id}/send",
165
+ "method": "post",
166
+ "toolName": "send-draft-message",
167
+ "scopes": ["Mail.Send"]
168
+ },
151
169
  {
152
170
  "pathPattern": "/me/events",
153
171
  "method": "get",
@@ -2497,7 +2497,7 @@ const create_forward_draft_Body = z.object({
2497
2497
  Message: z.union([microsoft_graph_message, z.object({}).partial().strict()]),
2498
2498
  Comment: z.string().nullable()
2499
2499
  }).partial().strict();
2500
- const reply_mail_message_Body = z.object({
2500
+ const create_reply_draft_Body = z.object({
2501
2501
  Message: z.union([microsoft_graph_message, z.object({}).partial().strict()]),
2502
2502
  Comment: z.string().nullable()
2503
2503
  }).partial().strict();
@@ -3584,7 +3584,7 @@ const schemas = {
3584
3584
  microsoft_graph_messageCollectionResponse,
3585
3585
  microsoft_graph_attachmentCollectionResponse,
3586
3586
  create_forward_draft_Body,
3587
- reply_mail_message_Body,
3587
+ create_reply_draft_Body,
3588
3588
  microsoft_graph_attendeeBase,
3589
3589
  microsoft_graph_outlookGeoCoordinates,
3590
3590
  microsoft_graph_locationType,
@@ -5818,6 +5818,48 @@ resource.`,
5818
5818
  ],
5819
5819
  response: z.void()
5820
5820
  },
5821
+ {
5822
+ method: "post",
5823
+ path: "/me/messages/:messageId/createReply",
5824
+ alias: "create-reply-draft",
5825
+ description: `Create a draft to reply to the sender of a message in either JSON or MIME format. When using JSON format:
5826
+ - Specify either a comment or the body property of the message parameter. Specifying both will return an HTTP 400 Bad Request error.
5827
+ - If replyTo is specified in the original message, per Internet Message Format (RFC 2822), you should send the reply to the recipients in replyTo, and not the recipients in from.
5828
+ - You can update the draft later to add reply content to the body or change other message properties. When using MIME format:
5829
+ - Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.
5830
+ - Add any attachments and S/MIME properties to the MIME content. Send the draft message in a subsequent operation. Alternatively, reply to a message in a single operation.`,
5831
+ requestFormat: "json",
5832
+ parameters: [
5833
+ {
5834
+ name: "body",
5835
+ description: `Action parameters`,
5836
+ type: "Body",
5837
+ schema: create_reply_draft_Body
5838
+ }
5839
+ ],
5840
+ response: z.void()
5841
+ },
5842
+ {
5843
+ method: "post",
5844
+ path: "/me/messages/:messageId/createReplyAll",
5845
+ alias: "create-reply-all-draft",
5846
+ description: `Create a draft to reply to the sender and all recipients of a message in either JSON or MIME format. When using JSON format:
5847
+ - Specify either a comment or the body property of the message parameter. Specifying both will return an HTTP 400 Bad Request error.
5848
+ - If the original message specifies a recipient in the replyTo property, per Internet Message Format (RFC 2822), you should send the reply to the recipients in the replyTo and toRecipients properties, and not the recipients in the from and toRecipients properties.
5849
+ - You can update the draft later to add reply content to the body or change other message properties. When using MIME format:
5850
+ - Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.
5851
+ - Add any attachments and S/MIME properties to the MIME content. Send the draft message in a subsequent operation. Alternatively, reply-all to a message in a single action.`,
5852
+ requestFormat: "json",
5853
+ parameters: [
5854
+ {
5855
+ name: "body",
5856
+ description: `Action parameters`,
5857
+ type: "Body",
5858
+ schema: create_reply_draft_Body
5859
+ }
5860
+ ],
5861
+ response: z.void()
5862
+ },
5821
5863
  {
5822
5864
  method: "post",
5823
5865
  path: "/me/messages/:messageId/forward",
@@ -5869,7 +5911,7 @@ resource.`,
5869
5911
  name: "body",
5870
5912
  description: `Action parameters`,
5871
5913
  type: "Body",
5872
- schema: reply_mail_message_Body
5914
+ schema: create_reply_draft_Body
5873
5915
  }
5874
5916
  ],
5875
5917
  response: z.void()
@@ -5889,11 +5931,19 @@ resource.`,
5889
5931
  name: "body",
5890
5932
  description: `Action parameters`,
5891
5933
  type: "Body",
5892
- schema: reply_mail_message_Body
5934
+ schema: create_reply_draft_Body
5893
5935
  }
5894
5936
  ],
5895
5937
  response: z.void()
5896
5938
  },
5939
+ {
5940
+ method: "post",
5941
+ path: "/me/messages/:messageId/send",
5942
+ alias: "send-draft-message",
5943
+ description: `Send an existing draft message. The draft message can be a new message draft, reply draft, reply-all draft, or a forward draft. This method saves the message in the Sent Items folder. Alternatively, send a new message in a single operation.`,
5944
+ requestFormat: "json",
5945
+ response: z.void()
5946
+ },
5897
5947
  {
5898
5948
  method: "get",
5899
5949
  path: "/me/onenote/notebooks",
@@ -16,13 +16,13 @@ const TOOL_CATEGORIES = {
16
16
  },
17
17
  personal: {
18
18
  name: "personal",
19
- pattern: /mail|calendar|drive|contact|todo|onenote|attachment|draft|event|file|folder/i,
20
- description: "Personal productivity tools (mail, calendar, files, contacts, tasks, notes)"
19
+ pattern: /mail|calendar|drive|contact|todo|onenote|attachment|draft|event|file|folder|search|query/i,
20
+ description: "Personal productivity tools (mail, calendar, files, contacts, tasks, notes, search)"
21
21
  },
22
22
  work: {
23
23
  name: "work",
24
- pattern: /team|channel|chat|sharepoint|planner|site|list|shared/i,
25
- description: "Organization/work tools (Teams, SharePoint, shared mailboxes)",
24
+ pattern: /team|channel|chat|sharepoint|planner|site|list|shared|search|query/i,
25
+ description: "Organization/work tools (Teams, SharePoint, shared mailboxes, search)",
26
26
  requiresOrgMode: true
27
27
  },
28
28
  excel: {
@@ -1,10 +1,10 @@
1
- 2026-02-09 22:59:33 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
2
- 2026-02-09 22:59:33 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
3
- 2026-02-09 22:59:33 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
4
- 2026-02-09 22:59:33 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me/messages
5
- 2026-02-09 22:59:33 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me/calendar
6
- 2026-02-09 22:59:34 INFO: Using environment variables for secrets
7
- 2026-02-09 22:59:34 INFO: Using environment variables for secrets
8
- 2026-02-09 22:59:34 INFO: Using environment variables for secrets
9
- 2026-02-09 22:59:34 INFO: Using environment variables for secrets
10
- 2026-02-09 22:59:34 INFO: Using environment variables for secrets
1
+ 2026-02-11 19:20:36 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
2
+ 2026-02-11 19:20:36 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
3
+ 2026-02-11 19:20:36 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me
4
+ 2026-02-11 19:20:36 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me/messages
5
+ 2026-02-11 19:20:36 INFO: [GRAPH CLIENT] Final URL being sent to Microsoft: https://graph.microsoft.com/v1.0/me/calendar
6
+ 2026-02-11 19:20:37 INFO: Using environment variables for secrets
7
+ 2026-02-11 19:20:37 INFO: Using environment variables for secrets
8
+ 2026-02-11 19:20:37 INFO: Using environment variables for secrets
9
+ 2026-02-11 19:20:37 INFO: Using environment variables for secrets
10
+ 2026-02-11 19:20:37 INFO: Using environment variables for secrets
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softeria/ms-365-mcp-server",
3
- "version": "0.38.0",
3
+ "version": "0.40.0",
4
4
  "description": " A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -148,6 +148,24 @@
148
148
  "scopes": ["Mail.ReadWrite"],
149
149
  "llmTip": "Create a forward draft (does not send). Useful when user wants to review before sending."
150
150
  },
151
+ {
152
+ "pathPattern": "/me/messages/{message-id}/createReply",
153
+ "method": "post",
154
+ "toolName": "create-reply-draft",
155
+ "scopes": ["Mail.ReadWrite"]
156
+ },
157
+ {
158
+ "pathPattern": "/me/messages/{message-id}/createReplyAll",
159
+ "method": "post",
160
+ "toolName": "create-reply-all-draft",
161
+ "scopes": ["Mail.ReadWrite"]
162
+ },
163
+ {
164
+ "pathPattern": "/me/messages/{message-id}/send",
165
+ "method": "post",
166
+ "toolName": "send-draft-message",
167
+ "scopes": ["Mail.Send"]
168
+ },
151
169
  {
152
170
  "pathPattern": "/me/events",
153
171
  "method": "get",