dingtalk-mcp 1.1.6 → 1.1.7

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.
@@ -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.7",
4
4
  "description": "DingTalk MCP Server - A TypeScript-based MCP server for DingTalk integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",