@floriscornel/teams-mcp 0.4.1 → 0.6.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.
- package/README.md +25 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/services/graph.d.ts +4 -11
- package/dist/services/graph.d.ts.map +1 -1
- package/dist/services/graph.js +76 -56
- package/dist/services/graph.js.map +1 -1
- package/dist/tools/chats.d.ts +8 -0
- package/dist/tools/chats.d.ts.map +1 -1
- package/dist/tools/chats.js +153 -0
- package/dist/tools/chats.js.map +1 -1
- package/dist/tools/search.d.ts +19 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +76 -377
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/teams.d.ts +10 -0
- package/dist/tools/teams.d.ts.map +1 -1
- package/dist/tools/teams.js +163 -0
- package/dist/tools/teams.js.map +1 -1
- package/dist/types/graph.d.ts +2 -17
- package/dist/types/graph.d.ts.map +1 -1
- package/package.json +11 -10
package/README.md
CHANGED
|
@@ -61,6 +61,20 @@ To use this MCP server in Cursor/Claude/VS Code, add the following configuration
|
|
|
61
61
|
- Create new 1:1 or group conversations
|
|
62
62
|
- Retrieve chat message history with filtering and pagination
|
|
63
63
|
- Send messages to existing chats
|
|
64
|
+
- Edit previously sent chat messages
|
|
65
|
+
- Soft delete chat messages
|
|
66
|
+
|
|
67
|
+
### ✏️ Message Management
|
|
68
|
+
- **Edit & Delete**
|
|
69
|
+
- Update (edit) sent messages in chats and channels
|
|
70
|
+
- Soft delete messages in chats and channels (marks as deleted without permanent removal)
|
|
71
|
+
- Only message senders can update/delete their own messages
|
|
72
|
+
- Support for Markdown formatting, mentions, and importance levels on edits
|
|
73
|
+
|
|
74
|
+
### 📎 Media & Attachments
|
|
75
|
+
- **Hosted Content**
|
|
76
|
+
- Download hosted content (images, files) from chat and channel messages
|
|
77
|
+
- Access inline images and attachments shared in conversations
|
|
64
78
|
|
|
65
79
|
### 🔍 Advanced Search & Discovery
|
|
66
80
|
- **Message Search**
|
|
@@ -76,6 +90,8 @@ The following tools now support rich message formatting in Teams channels and ch
|
|
|
76
90
|
- `send_channel_message`
|
|
77
91
|
- `send_chat_message`
|
|
78
92
|
- `reply_to_channel_message`
|
|
93
|
+
- `update_channel_message`
|
|
94
|
+
- `update_chat_message`
|
|
79
95
|
|
|
80
96
|
### Format Options
|
|
81
97
|
|
|
@@ -151,8 +167,9 @@ npm run auth
|
|
|
151
167
|
- `Channel.ReadBasic.All` - Read channel information
|
|
152
168
|
- `ChannelMessage.Read.All` - Read channel messages
|
|
153
169
|
- `ChannelMessage.Send` - Send channel messages
|
|
170
|
+
- `ChannelMessage.ReadWrite` - Edit and delete channel messages
|
|
154
171
|
- `Chat.Read` - Read chat messages
|
|
155
|
-
- `Chat.ReadWrite` - Create and manage chats
|
|
172
|
+
- `Chat.ReadWrite` - Create and manage chats (including edit/delete messages)
|
|
156
173
|
- `Mail.Read` - Required for Microsoft Search API
|
|
157
174
|
- `Calendars.Read` - Required for Microsoft Search API
|
|
158
175
|
- `Files.Read.All` - Required for Microsoft Search API
|
|
@@ -185,6 +202,8 @@ npm run build && node dist/index.js
|
|
|
185
202
|
- `list_channels` - List channels in a specific team
|
|
186
203
|
- `get_channel_messages` - Retrieve messages from a team channel with pagination and filtering
|
|
187
204
|
- `send_channel_message` - Send a message to a team channel
|
|
205
|
+
- `update_channel_message` - Edit a previously sent channel message
|
|
206
|
+
- `delete_channel_message` - Soft delete a channel message (supports replies)
|
|
188
207
|
- `list_team_members` - List members of a specific team
|
|
189
208
|
|
|
190
209
|
#### Chat Operations
|
|
@@ -192,6 +211,11 @@ npm run build && node dist/index.js
|
|
|
192
211
|
- `get_chat_messages` - Retrieve messages from a specific chat with pagination and filtering
|
|
193
212
|
- `send_chat_message` - Send a message to a chat
|
|
194
213
|
- `create_chat` - Create a new 1:1 or group chat
|
|
214
|
+
- `update_chat_message` - Edit a previously sent chat message
|
|
215
|
+
- `delete_chat_message` - Soft delete a chat message
|
|
216
|
+
|
|
217
|
+
#### Media Operations
|
|
218
|
+
- `download_message_hosted_content` - Download hosted content (images, files) from messages
|
|
195
219
|
|
|
196
220
|
#### Search Operations
|
|
197
221
|
- `search_messages` - Search across all Teams messages using KQL syntax
|
package/dist/index.js
CHANGED
|
@@ -55,7 +55,7 @@ async function authenticate() {
|
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
57
|
if (result) {
|
|
58
|
-
// Save authentication info (for quick status checks)
|
|
58
|
+
// Save authentication info (for quick status checks via CLI)
|
|
59
59
|
const authInfo = {
|
|
60
60
|
clientId: CLIENT_ID,
|
|
61
61
|
authenticated: true,
|
|
@@ -144,7 +144,7 @@ async function startMcpServer() {
|
|
|
144
144
|
// Create MCP server
|
|
145
145
|
const server = new McpServer({
|
|
146
146
|
name: "teams-mcp",
|
|
147
|
-
version: "0.
|
|
147
|
+
version: "0.6.0",
|
|
148
148
|
});
|
|
149
149
|
// Initialize Graph service (singleton)
|
|
150
150
|
const graphService = GraphService.getInstance();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAGL,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qDAAqD;AACrD,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAEjE,6CAA6C;AAC7C,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AAEF,2BAA2B;AAC3B,KAAK,UAAU,YAAY;IACzB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAkB;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,SAAS;aACrB;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,qDAAqD;aACnE;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAgC,MAAM,MAAM,CAAC,wBAAwB,CAAC;YAChF,MAAM,EAAE,gBAAgB;YACxB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACnE,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAGL,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qDAAqD;AACrD,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAEjE,6CAA6C;AAC7C,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AAEF,2BAA2B;AAC3B,KAAK,UAAU,YAAY;IACzB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAkB;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,SAAS;aACrB;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,qDAAqD;aACnE;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAgC,MAAM,MAAM,CAAC,wBAAwB,CAAC;YAChF,MAAM,EAAE,gBAAgB;YACxB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACnE,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,6DAA6D;YAC7D,MAAM,QAAQ,GAAG;gBACf,QAAQ,EAAE,SAAS;gBACnB,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE;gBAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ;aAClC,CAAC;YAEF,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAEtE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5E,mDAAmD;QACnD,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YAE1D,mCAAmC;YACnC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBAEvB,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,+BAA+B;IACjC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,+BAA+B;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;AAC7F,CAAC;AAED,mBAAmB;AACnB,KAAK,UAAU,cAAc;IAC3B,oBAAoB;IACpB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAEhD,qBAAqB;IACrB,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE1C,eAAe;IACf,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,eAAe;IACf,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,cAAc,CAAC;QACpB,KAAK,MAAM;YACT,MAAM,YAAY,EAAE,CAAC;YACrB,OAAO;QACT,KAAK,OAAO;YACV,MAAM,SAAS,EAAE,CAAC;YAClB,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,MAAM,EAAE,CAAC;YACf,OAAO;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,iFAAiF,CAClF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,iFAAiF,CAClF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO;QACT,KAAK,SAAS;YACZ,gCAAgC;YAChC,MAAM,cAAc,EAAE,CAAC;YACvB,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/services/graph.d.ts
CHANGED
|
@@ -5,26 +5,19 @@ export interface AuthStatus {
|
|
|
5
5
|
displayName?: string | undefined;
|
|
6
6
|
expiresAt?: string | undefined;
|
|
7
7
|
}
|
|
8
|
-
interface StoredAuthInfo {
|
|
9
|
-
clientId?: string;
|
|
10
|
-
authenticated: boolean;
|
|
11
|
-
timestamp: string;
|
|
12
|
-
expiresAt?: string;
|
|
13
|
-
token?: string;
|
|
14
|
-
}
|
|
15
8
|
export declare class GraphService {
|
|
16
9
|
private static instance;
|
|
17
10
|
private client;
|
|
18
|
-
private readonly authPath;
|
|
19
11
|
private isInitialized;
|
|
20
|
-
private
|
|
12
|
+
private tokenExpiresAt;
|
|
13
|
+
private msalApp;
|
|
14
|
+
private msalAccount;
|
|
21
15
|
static getInstance(): GraphService;
|
|
22
16
|
private initializeClient;
|
|
17
|
+
private acquireToken;
|
|
23
18
|
getAuthStatus(): Promise<AuthStatus>;
|
|
24
19
|
getClient(): Promise<Client>;
|
|
25
20
|
isAuthenticated(): boolean;
|
|
26
21
|
validateToken(token: string): string | undefined;
|
|
27
|
-
getAuthInfo(): Promise<StoredAuthInfo>;
|
|
28
22
|
}
|
|
29
|
-
export {};
|
|
30
23
|
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/services/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/services/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAkB3D,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,WAAW,CAA0B;IAE7C,MAAM,CAAC,WAAW,IAAI,YAAY;YAOpB,gBAAgB;YA8DhB,YAAY;IAoBpB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAqBpC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAWlC,eAAe,IAAI,OAAO;IAI1B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAqBjD"}
|
package/dist/services/graph.js
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
|
-
import { join } from "node:path";
|
|
1
|
+
import { PublicClientApplication } from "@azure/msal-node";
|
|
4
2
|
import { Client } from "@microsoft/microsoft-graph-client";
|
|
3
|
+
import { cachePlugin } from "../msal-cache.js";
|
|
4
|
+
const CLIENT_ID = "14d82eec-204b-4c2f-b7e8-296a70dab67e";
|
|
5
|
+
const AUTHORITY = "https://login.microsoftonline.com/common";
|
|
6
|
+
const DELEGATED_SCOPES = [
|
|
7
|
+
"User.Read",
|
|
8
|
+
"User.ReadBasic.All",
|
|
9
|
+
"Team.ReadBasic.All",
|
|
10
|
+
"Channel.ReadBasic.All",
|
|
11
|
+
"ChannelMessage.Read.All",
|
|
12
|
+
"ChannelMessage.Send",
|
|
13
|
+
"TeamMember.Read.All",
|
|
14
|
+
"Chat.ReadBasic",
|
|
15
|
+
"Chat.ReadWrite",
|
|
16
|
+
];
|
|
5
17
|
export class GraphService {
|
|
6
18
|
static instance;
|
|
7
19
|
client;
|
|
8
|
-
authPath = join(homedir(), ".msgraph-mcp-auth.json");
|
|
9
20
|
isInitialized = false;
|
|
10
|
-
|
|
21
|
+
tokenExpiresAt;
|
|
22
|
+
msalApp;
|
|
23
|
+
msalAccount;
|
|
11
24
|
static getInstance() {
|
|
12
25
|
if (!GraphService.instance) {
|
|
13
26
|
GraphService.instance = new GraphService();
|
|
@@ -18,34 +31,70 @@ export class GraphService {
|
|
|
18
31
|
if (this.isInitialized)
|
|
19
32
|
return;
|
|
20
33
|
try {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// Create Graph client with the saved token
|
|
32
|
-
this.client = Client.initWithMiddleware({
|
|
33
|
-
authProvider: {
|
|
34
|
-
getAccessToken: async () => {
|
|
35
|
-
if (!this.authInfo?.token) {
|
|
36
|
-
throw new Error("No token available");
|
|
37
|
-
}
|
|
38
|
-
return this.authInfo.token;
|
|
34
|
+
// Priority 1: AUTH_TOKEN environment variable (direct token injection)
|
|
35
|
+
const envToken = process.env.AUTH_TOKEN;
|
|
36
|
+
if (envToken) {
|
|
37
|
+
const validatedToken = this.validateToken(envToken);
|
|
38
|
+
if (validatedToken) {
|
|
39
|
+
this.client = Client.initWithMiddleware({
|
|
40
|
+
authProvider: {
|
|
41
|
+
getAccessToken: async () => validatedToken,
|
|
39
42
|
},
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
});
|
|
44
|
+
this.isInitialized = true;
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// Priority 2: MSAL with cached refresh token for automatic token renewal
|
|
49
|
+
this.msalApp = new PublicClientApplication({
|
|
50
|
+
auth: {
|
|
51
|
+
clientId: CLIENT_ID,
|
|
52
|
+
authority: AUTHORITY,
|
|
53
|
+
},
|
|
54
|
+
cache: {
|
|
55
|
+
cachePlugin,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
const accounts = await this.msalApp.getTokenCache().getAllAccounts();
|
|
59
|
+
if (accounts.length === 0) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.msalAccount = accounts[0];
|
|
63
|
+
// Verify we can acquire a token
|
|
64
|
+
const result = await this.msalApp.acquireTokenSilent({
|
|
65
|
+
scopes: DELEGATED_SCOPES,
|
|
66
|
+
account: this.msalAccount,
|
|
67
|
+
});
|
|
68
|
+
if (!result) {
|
|
69
|
+
return;
|
|
43
70
|
}
|
|
71
|
+
this.tokenExpiresAt = result.expiresOn ?? undefined;
|
|
72
|
+
// Create Graph client with MSAL-backed auth provider for automatic token refresh
|
|
73
|
+
this.client = Client.initWithMiddleware({
|
|
74
|
+
authProvider: {
|
|
75
|
+
getAccessToken: () => this.acquireToken(),
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
this.isInitialized = true;
|
|
44
79
|
}
|
|
45
80
|
catch (error) {
|
|
46
81
|
console.error("Failed to initialize Graph client:", error);
|
|
47
82
|
}
|
|
48
83
|
}
|
|
84
|
+
async acquireToken() {
|
|
85
|
+
if (!this.msalApp || !this.msalAccount) {
|
|
86
|
+
throw new Error("MSAL not initialized");
|
|
87
|
+
}
|
|
88
|
+
const result = await this.msalApp.acquireTokenSilent({
|
|
89
|
+
scopes: DELEGATED_SCOPES,
|
|
90
|
+
account: this.msalAccount,
|
|
91
|
+
});
|
|
92
|
+
if (!result) {
|
|
93
|
+
throw new Error("Failed to acquire access token. Please re-authenticate: npx @floriscornel/teams-mcp@latest authenticate");
|
|
94
|
+
}
|
|
95
|
+
this.tokenExpiresAt = result.expiresOn ?? undefined;
|
|
96
|
+
return result.accessToken;
|
|
97
|
+
}
|
|
49
98
|
async getAuthStatus() {
|
|
50
99
|
await this.initializeClient();
|
|
51
100
|
if (!this.client) {
|
|
@@ -57,7 +106,7 @@ export class GraphService {
|
|
|
57
106
|
isAuthenticated: true,
|
|
58
107
|
userPrincipalName: me?.userPrincipalName ?? undefined,
|
|
59
108
|
displayName: me?.displayName ?? undefined,
|
|
60
|
-
expiresAt: this.
|
|
109
|
+
expiresAt: this.tokenExpiresAt?.toISOString(),
|
|
61
110
|
};
|
|
62
111
|
}
|
|
63
112
|
catch (error) {
|
|
@@ -83,7 +132,6 @@ export class GraphService {
|
|
|
83
132
|
}
|
|
84
133
|
try {
|
|
85
134
|
const payload = JSON.parse(atob(tokenSplits[1]));
|
|
86
|
-
// aud can be a string or an array
|
|
87
135
|
const audiences = Array.isArray(payload.aud) ? payload.aud : [payload.aud];
|
|
88
136
|
if (!audiences.includes("https://graph.microsoft.com")) {
|
|
89
137
|
console.error("Invalid JWT token: Not a valid Microsoft Graph token");
|
|
@@ -96,33 +144,5 @@ export class GraphService {
|
|
|
96
144
|
}
|
|
97
145
|
return token;
|
|
98
146
|
}
|
|
99
|
-
async getAuthInfo() {
|
|
100
|
-
const authToken = process.env.AUTH_TOKEN;
|
|
101
|
-
if (authToken) {
|
|
102
|
-
return this.validateToken(authToken)
|
|
103
|
-
? {
|
|
104
|
-
authenticated: true,
|
|
105
|
-
timestamp: new Date().toISOString(),
|
|
106
|
-
token: authToken,
|
|
107
|
-
}
|
|
108
|
-
: {
|
|
109
|
-
authenticated: false,
|
|
110
|
-
timestamp: new Date().toISOString(),
|
|
111
|
-
token: "",
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
try {
|
|
115
|
-
const authData = await fs.readFile(this.authPath, "utf8");
|
|
116
|
-
return JSON.parse(authData);
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
console.error(`Error reading auth info from '${this.authPath}':`, error);
|
|
120
|
-
return {
|
|
121
|
-
authenticated: false,
|
|
122
|
-
timestamp: new Date().toISOString(),
|
|
123
|
-
token: "",
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
147
|
}
|
|
128
148
|
//# sourceMappingURL=graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/services/graph.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/services/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAE7D,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AASF,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,CAAe;IAC9B,MAAM,CAAqB;IAC3B,aAAa,GAAG,KAAK,CAAC;IACtB,cAAc,CAAmB;IACjC,OAAO,CAAsC;IAC7C,WAAW,CAA0B;IAE7C,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;wBACtC,YAAY,EAAE;4BACZ,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc;yBAC3C;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAuB,CAAC;gBACzC,IAAI,EAAE;oBACJ,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,SAAS;iBACrB;gBACD,KAAK,EAAE;oBACL,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC;YACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE/B,gCAAgC;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACnD,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,IAAI,CAAC,WAAW;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;YAEpD,iFAAiF;YACjF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBACtC,YAAY,EAAE;oBACZ,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;iBAC1C;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YACnD,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,IAAI,CAAC,WAAW;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QACpD,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9C,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,IAAI,SAAS;gBACrD,WAAW,EAAE,EAAE,EAAE,WAAW,IAAI,SAAS;gBACzC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE;aAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACtE,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/tools/chats.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { GraphService } from "../services/graph.js";
|
|
3
|
+
/**
|
|
4
|
+
* Registers all chat-related MCP tools on the given server.
|
|
5
|
+
* Tools include: list_chats, get_chat_messages, send_chat_message,
|
|
6
|
+
* create_chat, update_chat_message, and delete_chat_message.
|
|
7
|
+
*
|
|
8
|
+
* @param server - The MCP server instance to register tools on.
|
|
9
|
+
* @param graphService - The Microsoft Graph service used for API calls.
|
|
10
|
+
*/
|
|
3
11
|
export declare function registerChatTools(server: McpServer, graphService: GraphService): void;
|
|
4
12
|
//# sourceMappingURL=chats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAczD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAczD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAinB9E"}
|
package/dist/tools/chats.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { markdownToHtml } from "../utils/markdown.js";
|
|
3
3
|
import { processMentionsInHtml } from "../utils/users.js";
|
|
4
|
+
/**
|
|
5
|
+
* Registers all chat-related MCP tools on the given server.
|
|
6
|
+
* Tools include: list_chats, get_chat_messages, send_chat_message,
|
|
7
|
+
* create_chat, update_chat_message, and delete_chat_message.
|
|
8
|
+
*
|
|
9
|
+
* @param server - The MCP server instance to register tools on.
|
|
10
|
+
* @param graphService - The Microsoft Graph service used for API calls.
|
|
11
|
+
*/
|
|
4
12
|
export function registerChatTools(server, graphService) {
|
|
5
13
|
// List user's chats
|
|
6
14
|
server.tool("list_chats", "List all recent chats (1:1 conversations and group chats) that the current user participates in. Returns chat topics, types, and participant information.", {}, async () => {
|
|
@@ -373,5 +381,150 @@ export function registerChatTools(server, graphService) {
|
|
|
373
381
|
};
|
|
374
382
|
}
|
|
375
383
|
});
|
|
384
|
+
// Update/Edit a chat message
|
|
385
|
+
server.tool("update_chat_message", "Update (edit) a chat message that was previously sent. Only the message sender can update their own messages. Supports updating content with text or Markdown formatting, mentions, and importance levels.", {
|
|
386
|
+
chatId: z.string().describe("Chat ID"),
|
|
387
|
+
messageId: z.string().describe("Message ID to update"),
|
|
388
|
+
message: z.string().describe("New message content"),
|
|
389
|
+
importance: z.enum(["normal", "high", "urgent"]).optional().describe("Message importance"),
|
|
390
|
+
format: z.enum(["text", "markdown"]).optional().describe("Message format (text or markdown)"),
|
|
391
|
+
mentions: z
|
|
392
|
+
.array(z.object({
|
|
393
|
+
mention: z
|
|
394
|
+
.string()
|
|
395
|
+
.describe("The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"),
|
|
396
|
+
userId: z.string().describe("Azure AD User ID of the mentioned user"),
|
|
397
|
+
}))
|
|
398
|
+
.optional()
|
|
399
|
+
.describe("Array of @mentions to include in the message"),
|
|
400
|
+
}, async ({ chatId, messageId, message, importance, format = "text", mentions }) => {
|
|
401
|
+
try {
|
|
402
|
+
const client = await graphService.getClient();
|
|
403
|
+
// Process message content based on format
|
|
404
|
+
let content;
|
|
405
|
+
let contentType;
|
|
406
|
+
if (format === "markdown") {
|
|
407
|
+
content = await markdownToHtml(message);
|
|
408
|
+
contentType = "html";
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
content = message;
|
|
412
|
+
contentType = "text";
|
|
413
|
+
}
|
|
414
|
+
// Process @mentions if provided
|
|
415
|
+
const mentionMappings = [];
|
|
416
|
+
if (mentions && mentions.length > 0) {
|
|
417
|
+
// Convert provided mentions to mappings with display names
|
|
418
|
+
for (const mention of mentions) {
|
|
419
|
+
try {
|
|
420
|
+
// Get user info to get display name
|
|
421
|
+
const userResponse = await client
|
|
422
|
+
.api(`/users/${mention.userId}`)
|
|
423
|
+
.select("displayName")
|
|
424
|
+
.get();
|
|
425
|
+
mentionMappings.push({
|
|
426
|
+
mention: mention.mention,
|
|
427
|
+
userId: mention.userId,
|
|
428
|
+
displayName: userResponse.displayName || mention.mention,
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
catch (_error) {
|
|
432
|
+
console.warn(`Could not resolve user ${mention.userId}, using mention text as display name`);
|
|
433
|
+
mentionMappings.push({
|
|
434
|
+
mention: mention.mention,
|
|
435
|
+
userId: mention.userId,
|
|
436
|
+
displayName: mention.mention,
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
// Process mentions in HTML content
|
|
442
|
+
let finalMentions = [];
|
|
443
|
+
if (mentionMappings.length > 0) {
|
|
444
|
+
const result = processMentionsInHtml(content, mentionMappings);
|
|
445
|
+
content = result.content;
|
|
446
|
+
finalMentions = result.mentions;
|
|
447
|
+
// Ensure we're using HTML content type when mentions are present
|
|
448
|
+
contentType = "html";
|
|
449
|
+
}
|
|
450
|
+
// Build message payload for update
|
|
451
|
+
const messagePayload = {
|
|
452
|
+
body: {
|
|
453
|
+
content,
|
|
454
|
+
contentType,
|
|
455
|
+
},
|
|
456
|
+
};
|
|
457
|
+
if (importance) {
|
|
458
|
+
messagePayload.importance = importance;
|
|
459
|
+
}
|
|
460
|
+
if (finalMentions.length > 0) {
|
|
461
|
+
messagePayload.mentions = finalMentions;
|
|
462
|
+
}
|
|
463
|
+
// Update the message using PATCH
|
|
464
|
+
// Note: Using /me/chats/ endpoint for delegated permissions
|
|
465
|
+
// The API also requires proper permissions: Chat.ReadWrite
|
|
466
|
+
await client.api(`/me/chats/${chatId}/messages/${messageId}`).patch(messagePayload);
|
|
467
|
+
// Build success message
|
|
468
|
+
const successText = `✅ Message updated successfully. Message ID: ${messageId}${finalMentions.length > 0
|
|
469
|
+
? `\n📱 Mentions: ${finalMentions.map((m) => m.mentionText).join(", ")}`
|
|
470
|
+
: ""}`;
|
|
471
|
+
return {
|
|
472
|
+
content: [
|
|
473
|
+
{
|
|
474
|
+
type: "text",
|
|
475
|
+
text: successText,
|
|
476
|
+
},
|
|
477
|
+
],
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
catch (error) {
|
|
481
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
|
|
482
|
+
return {
|
|
483
|
+
content: [
|
|
484
|
+
{
|
|
485
|
+
type: "text",
|
|
486
|
+
text: `❌ Failed to update message: ${errorMessage}`,
|
|
487
|
+
},
|
|
488
|
+
],
|
|
489
|
+
isError: true,
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
// Soft delete a chat message
|
|
494
|
+
server.tool("delete_chat_message", "Soft delete a chat message that was previously sent. Only the message sender can delete their own messages. The message will be marked as deleted but can still be seen as '[This message has been deleted]'.", {
|
|
495
|
+
chatId: z.string().describe("Chat ID"),
|
|
496
|
+
messageId: z.string().describe("Message ID to delete"),
|
|
497
|
+
}, async ({ chatId, messageId }) => {
|
|
498
|
+
try {
|
|
499
|
+
const client = await graphService.getClient();
|
|
500
|
+
// Get current user ID for the endpoint
|
|
501
|
+
const me = (await client.api("/me").get());
|
|
502
|
+
// Soft delete the message using POST
|
|
503
|
+
// Endpoint: POST /users/{userId}/chats/{chatsId}/messages/{chatMessageId}/softDelete
|
|
504
|
+
await client
|
|
505
|
+
.api(`/users/${me.id}/chats/${chatId}/messages/${messageId}/softDelete`)
|
|
506
|
+
.post({});
|
|
507
|
+
return {
|
|
508
|
+
content: [
|
|
509
|
+
{
|
|
510
|
+
type: "text",
|
|
511
|
+
text: `✅ Message deleted successfully. Message ID: ${messageId}`,
|
|
512
|
+
},
|
|
513
|
+
],
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
catch (error) {
|
|
517
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
|
|
518
|
+
return {
|
|
519
|
+
content: [
|
|
520
|
+
{
|
|
521
|
+
type: "text",
|
|
522
|
+
text: `❌ Failed to delete message: ${errorMessage}`,
|
|
523
|
+
},
|
|
524
|
+
],
|
|
525
|
+
isError: true,
|
|
526
|
+
};
|
|
527
|
+
}
|
|
528
|
+
});
|
|
376
529
|
}
|
|
377
530
|
//# sourceMappingURL=chats.js.map
|
package/dist/tools/chats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/tools/chats.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { GraphService } from "../services/graph.js";
|
|
3
|
+
import type { SearchHit } from "../types/graph.js";
|
|
4
|
+
/**
|
|
5
|
+
* Maps raw SearchHit objects from the Microsoft Search API into a
|
|
6
|
+
* consistent, flat shape for tool responses.
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatSearchHits(hits: SearchHit[]): {
|
|
9
|
+
id: string;
|
|
10
|
+
summary: string;
|
|
11
|
+
rank: number;
|
|
12
|
+
content: string | undefined;
|
|
13
|
+
from: string | undefined;
|
|
14
|
+
fromUserId: string | undefined;
|
|
15
|
+
createdDateTime: string | undefined;
|
|
16
|
+
importance: string | undefined;
|
|
17
|
+
webLink: string | undefined;
|
|
18
|
+
chatId: string | undefined;
|
|
19
|
+
teamId: string | undefined;
|
|
20
|
+
channelId: string | undefined;
|
|
21
|
+
}[];
|
|
3
22
|
export declare function registerSearchTools(server: McpServer, graphService: GraphService): void;
|
|
4
23
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAiC,MAAM,mBAAmB,CAAC;AAElF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE;;;;;;;;;;;;;IAejD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,QAyKhF"}
|