@kintone/mcp-server 1.2.2 → 1.3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.0](https://github.com/kintone/mcp-server/compare/1.2.3...1.3.0) (2025-12-17)
4
+
5
+
6
+ ### Features
7
+
8
+ * add field type descriptions to filtersSchema operators ([#214](https://github.com/kintone/mcp-server/issues/214)) ([c64119e](https://github.com/kintone/mcp-server/commit/c64119e800b4bb490ef90759db8f441cc9e8397f))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** update dependency @kintone/rest-api-client to v6 ([#167](https://github.com/kintone/mcp-server/issues/167)) ([e183dd2](https://github.com/kintone/mcp-server/commit/e183dd24f90f00b8749db5aff30c3b26724ba8dc))
14
+ * **deps:** update dependency @modelcontextprotocol/sdk to ^1.24.3 ([#217](https://github.com/kintone/mcp-server/issues/217)) ([d937a27](https://github.com/kintone/mcp-server/commit/d937a27f973b01a98e80b4c7cc96d3785a07d422))
15
+ * **deps:** update dependency @modelcontextprotocol/sdk to v1.24.0 [security] ([#208](https://github.com/kintone/mcp-server/issues/208)) ([ba8f027](https://github.com/kintone/mcp-server/commit/ba8f02783532e243d72205a015e5db15489afe28))
16
+ * **deps:** update dependency file-type to ^21.1.1 ([#197](https://github.com/kintone/mcp-server/issues/197)) ([fd1e275](https://github.com/kintone/mcp-server/commit/fd1e2752b91c8edd58c4a7abbd1266fe265be5b9))
17
+
18
+ ## [1.2.3](https://github.com/kintone/mcp-server/compare/1.2.2...1.2.3) (2025-11-19)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * add Privacy Policy Reference ([#181](https://github.com/kintone/mcp-server/issues/181)) ([eba3b6d](https://github.com/kintone/mcp-server/commit/eba3b6d2837a7ddcf7851e680b73e100d9ad504a))
24
+ * add troubleshooting ([#182](https://github.com/kintone/mcp-server/issues/182)) ([2a89bfe](https://github.com/kintone/mcp-server/commit/2a89bfe82f6d9defab7d4a003ed0d32d2f3c3435))
25
+
3
26
  ## [1.2.2](https://github.com/kintone/mcp-server/compare/1.2.1...1.2.2) (2025-10-31)
4
27
 
5
28
 
package/README.md CHANGED
@@ -43,8 +43,13 @@ kintoneの公式ローカルMCPサーバーです。
43
43
  - [制限事項](#%E5%88%B6%E9%99%90%E4%BA%8B%E9%A0%85)
44
44
  - [レコード操作の制限](#%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E6%93%8D%E4%BD%9C%E3%81%AE%E5%88%B6%E9%99%90)
45
45
  - [その他の制限](#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E5%88%B6%E9%99%90)
46
+ - [トラブルシューティング](#%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0)
47
+ - [接続エラーになる場合](#%E6%8E%A5%E7%B6%9A%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E5%A0%B4%E5%90%88)
48
+ - [認証エラーになる場合](#%E8%AA%8D%E8%A8%BC%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E5%A0%B4%E5%90%88)
49
+ - [権限エラーになる場合](#%E6%A8%A9%E9%99%90%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E5%A0%B4%E5%90%88)
46
50
  - [サポート方針](#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E6%96%B9%E9%87%9D)
47
51
  - [コントリビューション](#%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3)
52
+ - [プライバシー](#%E3%83%97%E3%83%A9%E3%82%A4%E3%83%90%E3%82%B7%E3%83%BC)
48
53
  - [ライセンス](#%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9)
49
54
 
50
55
  <!-- END doctoc generated TOC please keep comment here to allow auto update -->
@@ -232,6 +237,28 @@ export HTTPS_PROXY="http://username:password@proxy.example.com:8080"
232
237
 
233
238
  - **ゲストスペースに非対応**: ゲストスペース内のアプリにはアクセスできません
234
239
 
240
+ ## トラブルシューティング
241
+
242
+ ### 接続エラーになる場合
243
+
244
+ - ベースURLが正しいか確認してください(例: `https://example.cybozu.com`)。
245
+ - プロキシ環境下では、`HTTPS_PROXY` 環境変数を設定してください。
246
+ - 一時的に接続できない場合は、数分後に再試行してください。
247
+
248
+ ### 認証エラーになる場合
249
+
250
+ - ユーザー名とパスワードが正しいか確認してください。
251
+ - ユーザー名・パスワードとAPIトークンを同時に指定していないか確認してください。
252
+ 同時指定された場合は、パスワード認証が優先されます。
253
+ - クライアント証明書を使用している場合、セキュアアクセス用のドメインを使用していることを確認してください(例: `.s.cybozu.com` など、利用リージョンに応じます)。
254
+
255
+ ### 権限エラーになる場合
256
+
257
+ - 使用しているユーザーまたはAPIトークンに、対象アプリへのアクセス権があるか確認してください。
258
+ (アプリ管理権限やレコード閲覧権限が必要な場合があります)
259
+ - ゲストスペース内のアプリにはアクセスできません。
260
+ - APIトークンを使用している場合、必要な権限(「閲覧」「追加」「編集」「削除」など)が付与されているか確認してください。
261
+
235
262
  ## サポート方針
236
263
 
237
264
  kintoneローカルMCPサーバーは、APIサポート窓口の対象外です。
@@ -242,6 +269,11 @@ kintoneローカルMCPサーバーは、APIサポート窓口の対象外です
242
269
 
243
270
  [Contributing Guide](CONTRIBUTING.md) を参照してください。
244
271
 
272
+ ## プライバシー
273
+
274
+ このMCPサーバーは、kintone REST APIに接続します。
275
+ 利用地域に応じた公式プライバシーポリシーは、[Privacy Policy Reference](./PRIVACY.md) を参照してください。
276
+
245
277
  ## ライセンス
246
278
 
247
279
  Copyright 2025 Cybozu, Inc.
@@ -9,14 +9,16 @@ const filtersSchema = z
9
9
  value: z.string().describe("Text to search for"),
10
10
  }))
11
11
  .optional()
12
- .describe("Text fields containing specified values"),
12
+ .describe("Text fields containing specified values (like operator). " +
13
+ "Supported fields: SINGLE_LINE_TEXT, LINK, MULTI_LINE_TEXT, RICH_TEXT, ATTACHMENT"),
13
14
  equals: z
14
15
  .array(z.object({
15
16
  field: z.string().describe("Field code"),
16
17
  value: z.string().describe("Exact value to match"),
17
18
  }))
18
19
  .optional()
19
- .describe("Fields equal to specified values"),
20
+ .describe("Fields equal to specified values (= operator). " +
21
+ "Supported fields: RECORD_NUMBER, $id, SINGLE_LINE_TEXT, LINK, NUMBER, CALC, DATE, TIME, DATETIME, CREATED_TIME, UPDATED_TIME, STATUS"),
20
22
  dateRange: z
21
23
  .array(z.object({
22
24
  field: z.string().describe("Field code"),
@@ -24,7 +26,8 @@ const filtersSchema = z
24
26
  to: z.string().optional().describe("End date (YYYY-MM-DD)"),
25
27
  }))
26
28
  .optional()
27
- .describe("Date fields within specified range"),
29
+ .describe("Date fields within specified range (>=, <= operators). " +
30
+ "Supported fields: DATE, TIME, DATETIME, CREATED_TIME, UPDATED_TIME"),
28
31
  numberRange: z
29
32
  .array(z.object({
30
33
  field: z.string().describe("Field code"),
@@ -32,24 +35,27 @@ const filtersSchema = z
32
35
  max: z.number().optional().describe("Maximum value"),
33
36
  }))
34
37
  .optional()
35
- .describe("Number fields within specified range"),
38
+ .describe("Number fields within specified range (>=, <= operators). " +
39
+ "Supported fields: RECORD_NUMBER, $id, NUMBER, CALC"),
36
40
  inValues: z
37
41
  .array(z.object({
38
42
  field: z.string().describe("Field code"),
39
43
  values: z.array(z.string()).describe("List of values to match"),
40
44
  }))
41
45
  .optional()
42
- .describe("Fields matching any of the specified values"),
46
+ .describe("Fields matching any of the specified values (in operator). " +
47
+ "Supported fields: RECORD_NUMBER, $id, SINGLE_LINE_TEXT, LINK, NUMBER, CALC, CHECK_BOX, RADIO_BUTTON, DROP_DOWN, MULTI_SELECT, USER_SELECT, ORGANIZATION_SELECT, GROUP_SELECT, STATUS, CREATOR, MODIFIER"),
43
48
  notInValues: z
44
49
  .array(z.object({
45
50
  field: z.string().describe("Field code"),
46
51
  values: z.array(z.string()).describe("List of values to exclude"),
47
52
  }))
48
53
  .optional()
49
- .describe("Fields not matching any of the specified values"),
54
+ .describe("Fields not matching any of the specified values (not in operator). " +
55
+ "Supported fields: RECORD_NUMBER, $id, SINGLE_LINE_TEXT, LINK, NUMBER, CALC, CHECK_BOX, RADIO_BUTTON, DROP_DOWN, MULTI_SELECT, USER_SELECT, ORGANIZATION_SELECT, GROUP_SELECT, STATUS, CREATOR, MODIFIER"),
50
56
  })
51
57
  .optional()
52
- .describe("Filter conditions for records. Use kintone-get-form-fields tool to discover available field codes and types for an app");
58
+ .describe("Filter conditions for records. All conditions are AND-combined. NOTE: This MCP server does not currently support OR conditions in filters. Use kintone-get-form-fields tool to discover available field codes and types for an app");
53
59
  const orderBySchema = z
54
60
  .array(z.object({
55
61
  field: z.string().describe("Field code to sort by"),
@@ -122,7 +128,7 @@ function buildQueryFromFilters(filters) {
122
128
  const toolName = "kintone-get-records";
123
129
  const toolConfig = {
124
130
  title: "Get Records",
125
- description: "Get multiple records from a kintone app with structured filtering. Use kintone-get-form-fields tool first to discover available fields and their types.",
131
+ description: "Get multiple records from a kintone app with structured filtering. All filter conditions are AND-combined; OR conditions are not supported by this MCP server. Use kintone-get-form-fields tool first to discover available fields and their types.",
126
132
  inputSchema,
127
133
  outputSchema,
128
134
  };
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // This file is auto-generated. Do not edit manually.
2
- export const version = "1.2.2"; // x-release-please-version
2
+ export const version = "1.3.0"; // x-release-please-version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kintone/mcp-server",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "The official MCP Server for kintone",
5
5
  "keywords": [
6
6
  "kintone",
@@ -30,29 +30,29 @@
30
30
  "dist"
31
31
  ],
32
32
  "dependencies": {
33
- "@kintone/rest-api-client": "^5.7.5",
34
- "@modelcontextprotocol/sdk": "^1.17.5",
35
- "file-type": "^21.0.0",
33
+ "@kintone/rest-api-client": "^6.1.0",
34
+ "@modelcontextprotocol/sdk": "^1.24.3",
35
+ "file-type": "^21.1.1",
36
36
  "https-proxy-agent": "^7.0.6",
37
37
  "zod": "^3.25.76"
38
38
  },
39
39
  "devDependencies": {
40
- "@anthropic-ai/mcpb": "^1.1.1",
41
- "@commitlint/cli": "^19.8.1",
42
- "@commitlint/config-conventional": "^19.8.1",
43
- "@cybozu/eslint-config": "^24.2.0",
44
- "@cybozu/license-manager": "^1.4.0",
45
- "@modelcontextprotocol/inspector": "^0.17.1",
46
- "@types/node": "^22.18.10",
40
+ "@anthropic-ai/mcpb": "^2.1.2",
41
+ "@commitlint/cli": "^20.2.0",
42
+ "@commitlint/config-conventional": "^20.2.0",
43
+ "@cybozu/eslint-config": "^25.0.0",
44
+ "@cybozu/license-manager": "^1.4.1",
45
+ "@modelcontextprotocol/inspector": "^0.17.5",
46
+ "@types/node": "^22.19.2",
47
47
  "doctoc": "^2.2.1",
48
- "eslint": "^9.37.0",
49
- "eslint-plugin-package-json": "^0.56.4",
50
- "globals": "^16.4.0",
51
- "npm": "^11.6.2",
52
- "prettier": "^3.6.2",
53
- "tsx": "^4.20.6",
48
+ "eslint": "^9.39.2",
49
+ "eslint-plugin-package-json": "^0.85.0",
50
+ "globals": "^16.5.0",
51
+ "npm": "^11.7.0",
52
+ "prettier": "^3.7.4",
53
+ "tsx": "^4.21.0",
54
54
  "typescript": "^5.9.3",
55
- "vitest": "^3.2.4"
55
+ "vitest": "^4.0.15"
56
56
  },
57
57
  "engines": {
58
58
  "node": ">= 22"
@@ -85,6 +85,7 @@
85
85
  "start": "node dist/index.js",
86
86
  "test": "vitest",
87
87
  "test:coverage": "vitest --coverage",
88
+ "test:e2e": "vitest --config vitest.config.e2e.ts",
88
89
  "test:watch": "vitest --watch",
89
90
  "typecheck": "tsc -noEmit "
90
91
  }