dingtalk-mcp 1.1.13 → 1.1.15

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.
@@ -2,6 +2,12 @@ server:
2
2
  name: dingtalk-notable
3
3
  description: 钉钉AI表格/多维表
4
4
  tools:
5
+ - name: notableSupportedSearchFilters
6
+ description: AI表格/多维表支持的搜索过滤条件
7
+ requestTemplate:
8
+ type: file
9
+ url: /resources/notable-field-search-filters.md
10
+
5
11
  - name: notableSupportedFieldInfo
6
12
  description: AI表格/多维表支持的字段类型和额外属性
7
13
  requestTemplate:
@@ -245,7 +251,7 @@ tools:
245
251
  description: 条件类型:equal | notEqual | greater | greaterEqual | less | lessEqual | contain | notContain | empty | notEmpty。
246
252
  value:
247
253
  type: array
248
- description: 字段值,必须是数组类型,数组内格式需要参考「notableRecordValuesFormat」Tool结果中「设置值」格式要求。
254
+ description: 字段值,必须是数组类型,格式需要参考「notableSupportedSearchFilters」说明。
249
255
  items:
250
256
  type: any
251
257
  required:
@@ -0,0 +1,11 @@
1
+ **条件查询配置**
2
+ ---------------------------
3
+ | **字段类型** | **可用操作符** | **查询条件值** |
4
+ |----------|----------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
5
+ | 文本 | equal \| notEqual \| contain \| notContain \| empty \| notEmpty | 示例:`["abc"]`<br/> operator 是 empty/notEmpty 时不需要传值。 |
6
+ | 数字 | equal \| notEqual \| greater \| greaterEqual \| less \| lessEqual \| empty \| notEmpty | 示例:`["123"]` <br/>operator 是 empty/notEmpty 时不需要传值。 |
7
+ | 单选 | equal \| notEqual \| contain \| notContain \| empty \| notEmpty | 示例: `["option1", "optionId2"]` <br/>operator 是 contain 时,包含 value 中的任何一个选项即满足条件。<br/>operator 是 notContain 时,不包含 value 中的所有选项即满足条件。<br/> operator 是 empty/notEmpty 时不需要传值。 |
8
+ | 多选 | 同「单选」 | 同「单选」 |
9
+ | 日期 | equal \| greater \| less \| empty \| notEmpty | 示例: `["2024-09-27"\| timestamp]` <br/>operator 是 empty/notEmpty 时不需要传值。 |
10
+ | 人员 | equal \| notEqual \| contain \| notContain \| empty \| notEmpty | 示例: `[{"unionId": "xxx"}, {"unionId": "yyy"}]`<br/>operator 是 contain 时,包含 value 中的任何一个选项即满足条件。<br/> operator 是 notContain 时,不包含 value 中的所有选项即满足条件。<br/>operator 是 empty/notEmpty 时不需要传值。 |
11
+ | 部门 | equal \| notEqual \| contain \| notContain \| empty \| notEmpty | 示例: `[{"deptId": "xxx"}, {"deptId": "yyy"}]`<br/>operator 是 contain 时,包含 value 中的任何一个选项即满足条件。<br/> operator 是 notContain 时,不包含 value 中的所有选项即满足条件。<br/>operator 是 empty/notEmpty 时不需要传值。 |
@@ -4,15 +4,15 @@
4
4
  不同字段类型所使用的格式请参考下表:
5
5
 
6
6
  | 字段名 | 类型 (type) | 设置值(新增/更新记录时使用的格式) | 返回值(返回记录值时返回的格式) |
7
- | --- | --- | --- | --- |
8
- | 文本 | text | `"TextString" // 字符串` | `"TextString" // 字符串` |
9
- | 数字 | number | `123 // 支持整数/浮点数/字符串` | `"123" // 数字值,以字符串形式返回` |
10
- | 单选 | singleSelect | `"optionName1" // 单选选项名` | `{ "id": "id", // 选项ID "name": "optionName1" // 选项名 }` |
11
- | 多选 | multipleSelect | `["optionName1", "optionName2"] // 多选选项名` | `[ { "id": "id1", // 选项ID "name": "optionName1" // 选项名 }, { "id": "id2", // 选项ID "name": "optionName2" // 选项名 } ]` |
12
- | 日期 | date | `1688601600000 // 时间戳 "2023-12-20 03:00" // 或者 ISO 8601字符串` | `1688601600000 // 时间戳` |
13
- | 人员 | user | `[ { unionId: "xxx" } ]` | `[ { unionId: "xxx" } ]` |
14
- | 部门 | department | `[ { deptId: "xxx" } ]` | `[ { deptId: "xxx" } ]` |
15
- | 附件 | attachment | 具体请参考[上传附件](https://open.dingtalk.com/document/orgapp/notable-upload-attachment) 。 | `[ { "filename": "image.xlsx", "size": 92250, "type": "xls", "url": "xxx" } ]`<br> <br><br>**说明**<br><br>url是附件访问链接。<br><br>* 当附件是在线文档时,其是在线文档链接,该链接没有访问时效。<br> <br>* 当附件是其它文件时,是一个有**访问时效** 的下载链接,一段时间后该链接将无法访问。 |
16
- | 单向关联 | unidirectionalLink | `{ "linkedRecordIds": [ "xxx", "yyy" ] }` | `{ "linkedRecordIds": [ "xxx", "yyy" ] }`<br> <br><br>**说明**<br><br>field property中包含关联的sheetId,配合这里返回的recordId,可以通过调用[获取记录](/document/orgapp/api-getrecord#) 接口去获取关联记录的值。 |
17
- | 双向关联 | bidirectionalLink | `{ "linkedRecordIds": [ "xxx", "yyy" ] }` | `{ "linkedRecordIds": [ "xxx", "yyy" ] }` |
18
- | 链接 | url | `{ "text": "Dingtalk", "link": "https://dingtalk.com" }` | `{ "text": "Dingtalk", "link": "https://dingtalk.com" }` |
7
+ | --- | --- |------------------------------------------------------------------------------------|-------------------------------------------------------|
8
+ | 文本 | text | `"TextString" // 字符串` | `"TextString" // 字符串` |
9
+ | 数字 | number | `123 // 支持整数/浮点数/字符串` | `"123" // 数字值,以字符串形式返回` |
10
+ | 单选 | singleSelect | `"optionName1" // 单选选项名` | `{ "id": "id", // 选项ID "name": "optionName1" // 选项名 }` |
11
+ | 多选 | multipleSelect | `["optionName1", "optionName2"] // 多选选项名` | `[ { "id": "id1", // 选项ID "name": "optionName1" // 选项名 }, { "id": "id2", // 选项ID "name": "optionName2" // 选项名 } ]` |
12
+ | 日期 | date | `1688601600000 // 时间戳 "2023-12-20 03:00" // 或者 ISO 8601字符串` | `1688601600000 // 时间戳` |
13
+ | 人员 | user | `[ { unionId: "xxx" } ]` | `[ { "unionId": "xxx" }, {"unionId": "yyy" } ]` |
14
+ | 部门 | department | `[ { deptId: "xxx" } ]` | `[ { "deptId": "xxx" } ]` |
15
+ | 附件 | attachment | 具体请参考[上传附件](https://open.dingtalk.com/document/orgapp/notable-upload-attachment) 。 | `[ { "filename": "image.xlsx", "size": 92250, "type": "xls", "url": "xxx" } ]`<br> <br><br>**说明**<br><br>url是附件访问链接。<br><br>* 当附件是在线文档时,其是在线文档链接,该链接没有访问时效。<br> <br>* 当附件是其它文件时,是一个有**访问时效** 的下载链接,一段时间后该链接将无法访问。 |
16
+ | 单向关联 | unidirectionalLink | `{ "linkedRecordIds": [ "xxx", "yyy" ] }` | `{ "linkedRecordIds": [ "xxx", "yyy" ] }`<br> <br><br>**说明**<br><br>field property中包含关联的sheetId,配合这里返回的recordId,可以通过调用[获取记录](/document/orgapp/api-getrecord#) 接口去获取关联记录的值。 |
17
+ | 双向关联 | bidirectionalLink | `{ "linkedRecordIds": [ "xxx", "yyy" ] }` | `{ "linkedRecordIds": [ "xxx", "yyy" ] }` |
18
+ | 链接 | url | `{ "text": "Dingtalk", "link": "https://dingtalk.com" }` | `{ "text": "Dingtalk", "link": "https://dingtalk.com" }` |
@@ -1,7 +1,7 @@
1
1
  import {DateUtils} from './DateUtils.js'
2
2
  import {FileUtils} from './file.js'
3
3
 
4
- const localTools = ["currentDateTime", "notableSupportedFieldInfo", "notableRecordValuesFormat"]
4
+ const localTools = ["currentDateTime", "notableSupportedSearchFilters", "notableSupportedFieldInfo", "notableRecordValuesFormat"]
5
5
 
6
6
  export class LocalTools{
7
7
 
@@ -12,7 +12,7 @@ export class LocalTools{
12
12
  static callTool(tool){
13
13
  if (tool.name === "currentDateTime"){
14
14
  return DateUtils.getFormattedLocalNow();
15
- }else if (tool.name === "notableSupportedFieldInfo" || tool.name === "notableRecordValuesFormat"){
15
+ }else if (tool.name === "notableSupportedSearchFilters" || tool.name === "notableSupportedFieldInfo" || tool.name === "notableRecordValuesFormat"){
16
16
  return FileUtils.readLocalFileContent(tool);
17
17
  }
18
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dingtalk-mcp",
3
- "version": "1.1.13",
3
+ "version": "1.1.15",
4
4
  "description": "DingTalk MCP Server - A TypeScript-based MCP server for DingTalk integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",