dingtalk-mcp 1.1.20 → 1.1.21

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.
@@ -139,22 +139,11 @@ tools:
139
139
  type: object
140
140
  required: false
141
141
  position: body
142
- description: 日程地点对象,包含displayName字段。示例:{"displayName":"会议室A"}
143
- - name: reminders
144
- type: array
145
- required: false
146
- position: body
147
- description: 日程提醒设置,数组中每个对象包含method和minutes字段。method只支持"dingtalk"(钉钉内提醒),minutes为Integer类型表示提前N分钟提醒。示例:[{"method":"dingtalk","minutes":15}]
148
- - name: recurrence
149
- type: object
150
- required: false
151
- position: body
152
- description: 日程循环规则对象
153
- - name: extra
154
- type: object
155
- required: false
156
- position: body
157
- description: 扩展配置,如noPushNotification、noChatNotification等。示例:{"noPushNotification":"true","noChatNotification":"false"}
142
+ description: 日程地点对象
143
+ properties:
144
+ displayName:
145
+ type: string
146
+ description: 日程地点的名称。
158
147
 
159
148
  - name: deleteEvent
160
149
  description: 删除指定的日程
@@ -50,10 +50,10 @@ tools:
50
50
  properties:
51
51
  dentryCategories:
52
52
  type: array
53
- enum: [ "alidoc" ]
54
53
  description: 文件类别
55
54
  items:
56
55
  type: string
56
+ enum: [ "alidoc" ]
57
57
  creatorIds:
58
58
  type: array
59
59
  description: 创建者的userId
@@ -63,7 +63,7 @@ tools:
63
63
  type: string
64
64
  description: 分页游标,第一次查询不需要此值,第二次查询需要,从本接口的返回值nextToken获取,如果返回值为空则说明没有更多数据
65
65
  maxResults:
66
- type: string
66
+ type: integer
67
67
  description: 分页大小,默认值10
68
68
  # 数据表
69
69
  - name: getNotableSheet
@@ -284,9 +284,24 @@ export class DingTalkMCPServer {
284
284
  type: arg.type,
285
285
  description: arg.description
286
286
  };
287
- if ((arg.type === 'array' || arg.type === 'object') && arg.items) {
287
+ // array 类型添加 items 属性
288
+ if (arg.type === 'array' && arg.items) {
288
289
  schema[arg.name].items = arg.items;
289
290
  }
291
+ // object 类型处理:如果有 properties,直接添加;如果有 items,将 items 的属性赋值到 schema
292
+ if (arg.type === 'object') {
293
+ if (arg.properties) {
294
+ schema[arg.name].properties = arg.properties;
295
+ } else if (arg.items) {
296
+ // 配置文件约定:object 类型使用 items 定义结构
297
+ if (arg.items.properties) {
298
+ schema[arg.name].properties = arg.items.properties;
299
+ }
300
+ if (arg.items.required) {
301
+ schema[arg.name].required = arg.items.required;
302
+ }
303
+ }
304
+ }
290
305
  });
291
306
  return schema;
292
307
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dingtalk-mcp",
3
- "version": "1.1.20",
3
+ "version": "1.1.21",
4
4
  "description": "DingTalk MCP Server - A TypeScript-based MCP server for DingTalk integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",