dingtalk-mcp 1.1.6 → 1.1.8

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.
@@ -105,6 +105,11 @@ tools:
105
105
  required: true
106
106
  position: path
107
107
  description: 要修改的日程ID
108
+ - name: id
109
+ type: string
110
+ required: true
111
+ position: body
112
+ description: 要修改的日程ID,和eventId参数的值一样。
108
113
  - name: summary
109
114
  type: string
110
115
  required: false
@@ -155,7 +160,7 @@ tools:
155
160
  description: 删除指定的日程
156
161
  requestTemplate:
157
162
  method: DELETE
158
- url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/events/{eventId}
163
+ url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/events/{eventId}?pushNotification=Boolean
159
164
  args:
160
165
  - name: unionId
161
166
  type: string
@@ -182,7 +187,7 @@ tools:
182
187
  description: 查询单个日程的详细信息
183
188
  requestTemplate:
184
189
  method: GET
185
- url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/events/{eventId}
190
+ url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/events/{eventId}?maxAttendees=Integer
186
191
  args:
187
192
  - name: unionId
188
193
  type: string
@@ -284,7 +289,7 @@ tools:
284
289
  description: 获取日程参与者列表
285
290
  requestTemplate:
286
291
  method: GET
287
- url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/events/{eventId}/attendees
292
+ url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/events/{eventId}/attendees?maxResults=Integer&nextToken=String
288
293
  args:
289
294
  - name: unionId
290
295
  type: string
@@ -316,10 +321,10 @@ tools:
316
321
  description: 查询日程视图,按时间范围获取日程列表
317
322
  requestTemplate:
318
323
  method: GET
319
- url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/eventsview
324
+ url: https://api.dingtalk.com/v1.0/calendar/users/{unionId}/calendars/{calendarId}/eventsview?timeMin=String&timeMax=String&maxAttendees=Integer&maxResults=Integer&nextToken=String
320
325
  args:
321
326
  - name: unionId
322
- type: string
327
+ type: stringString
323
328
  required: true
324
329
  position: path
325
330
  description: 用户的unionId
@@ -332,12 +337,12 @@ tools:
332
337
  type: string
333
338
  required: true
334
339
  position: query
335
- description: 查询的起始时间,RFC3339格式
340
+ description: 查询的起始时间,格式为ISO-8601的date-time格式。
336
341
  - name: timeMax
337
342
  type: string
338
343
  required: true
339
344
  position: query
340
- description: 查询的结束时间,RFC3339格式
345
+ description: 查询的结束时间,格式为ISO-8601的date-time格式。
341
346
  - name: maxAttendees
342
347
  type: number
343
348
  required: false
@@ -352,4 +357,4 @@ tools:
352
357
  type: string
353
358
  required: false
354
359
  position: query
355
- description: 分页标记
360
+ description: 分页标记
@@ -87,10 +87,21 @@ tools:
87
87
  # 不需要模型处理
88
88
  not_need_model_transform: true
89
89
  - name: msgParam
90
- type: string
91
- description: 消息内容,格式为JSON字符串,必须遵循此格式 {"title":"title", "text":"markdown内容"}
90
+ type: object
91
+ extendType: json
92
+ description: sampleMarkdown消息内容
92
93
  position: body
93
94
  required: true
95
+ items:
96
+ type: object
97
+ properties:
98
+ title:
99
+ type: string
100
+ description: 消息标题。
101
+ text:
102
+ type: string
103
+ description: 消息内容,markdown格式。
104
+
94
105
 
95
106
 
96
107
  requestTemplate:
@@ -157,10 +168,21 @@ tools:
157
168
  # 不需要模型处理
158
169
  not_need_model_transform: true
159
170
  - name: msgParam
160
- type: string
161
- description: 消息内容,格式为JSON字符串,必须遵循此格式 {"title":"title", "text":"markdown内容"}
171
+ type: object
172
+ # 扩展类型,最终发送给API时,转换为json string
173
+ extendType: json
174
+ description: sampleMarkdown消息内容
162
175
  position: body
163
176
  required: true
177
+ items:
178
+ type: object
179
+ properties:
180
+ title:
181
+ type: string
182
+ description: 消息标题。
183
+ text:
184
+ type: string
185
+ description: 消息内容,markdown格式。
164
186
 
165
187
  requestTemplate:
166
188
  url: https://api.dingtalk.com/v1.0/robot/oToMessages/batchSend
@@ -207,28 +229,34 @@ tools:
207
229
  default: markdown
208
230
  # 不需要模型处理
209
231
  not_need_model_transform: true
210
- - name: markdown.title
211
- type: string
212
- description: 消息标题。
232
+ - name: markdown
233
+ type: object
213
234
  position: body
214
- required: true
215
- - name: markdown.text
216
- type: string
217
- description: 消息内容,markdown格式。
218
- position: body
219
- required: true
220
- - name: at.isAtAll
221
- type: boolean
222
- default: false
223
- description: 是否@所有人。
224
- position: body
225
- - name: at.atUserIds
226
- type: array
235
+ description: markdown消息
227
236
  items:
228
- type: string
229
- description: 被@的群成员userId。
237
+ type: object
238
+ properties:
239
+ title:
240
+ type: string
241
+ description: 消息标题。
242
+ text:
243
+ type: string
244
+ description: 消息内容,markdown格式。
245
+ - name: at
246
+ description: AT群成员
230
247
  position: body
231
-
248
+ type: object
249
+ items:
250
+ type: object
251
+ properties:
252
+ isAtAll:
253
+ type: boolean
254
+ description: 是否AT所有人,默认为false。
255
+ atUserIds:
256
+ type: array
257
+ items:
258
+ type: string
259
+ description: 被AT的群成员userId。
232
260
 
233
261
  requestTemplate:
234
262
  url: https://oapi.dingtalk.com/robot/send?access_token=ROBOT_ACCESS_TOKEN
@@ -276,7 +276,7 @@ export class DingTalkMCPServer {
276
276
  type: arg.type,
277
277
  description: arg.description
278
278
  };
279
- if (arg.type === 'array' && arg.items) {
279
+ if ((arg.type === 'array' || arg.type === 'object' ) && arg.items) {
280
280
  schema[arg.name].items = arg.items;
281
281
  }
282
282
  });
@@ -469,6 +469,12 @@ export class DingTalkMCPServer {
469
469
  if (!args[arg.name]) {
470
470
  return;
471
471
  }
472
+
473
+ if (arg.extendType === 'json'){
474
+ body[arg.name] = JSON.stringify(args[arg.name]);
475
+ return;
476
+ }
477
+
472
478
  //打平Object类型参数,递归处理
473
479
  this.processMultiParam(body, arg.name, args[arg.name]);
474
480
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dingtalk-mcp",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "DingTalk MCP Server - A TypeScript-based MCP server for DingTalk integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",