@kickflow/mcp-server 1.0.6 → 1.1.1

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.
Files changed (91) hide show
  1. package/README.md +8 -4
  2. package/dist/index.mjs +63310 -0
  3. package/dist/index.mjs.map +1 -0
  4. package/package.json +22 -30
  5. package/dist/index.d.ts +0 -2
  6. package/dist/index.js +0 -64
  7. package/dist/index.js.map +0 -1
  8. package/dist/kickflow-api/custom-axios-instance.d.ts +0 -6
  9. package/dist/kickflow-api/custom-axios-instance.js +0 -44
  10. package/dist/kickflow-api/custom-axios-instance.js.map +0 -1
  11. package/dist/kickflow-api/generated/api-definitions.d.ts +0 -19
  12. package/dist/kickflow-api/generated/api-definitions.js +0 -1094
  13. package/dist/kickflow-api/generated/api-definitions.js.map +0 -1
  14. package/dist/kickflow-api/generated/audit-log/audit-log.zod.d.ts +0 -89
  15. package/dist/kickflow-api/generated/audit-log/audit-log.zod.js +0 -53
  16. package/dist/kickflow-api/generated/audit-log/audit-log.zod.js.map +0 -1
  17. package/dist/kickflow-api/generated/category/category.zod.d.ts +0 -71
  18. package/dist/kickflow-api/generated/category/category.zod.js +0 -67
  19. package/dist/kickflow-api/generated/category/category.zod.js.map +0 -1
  20. package/dist/kickflow-api/generated/comment/comment.zod.d.ts +0 -403
  21. package/dist/kickflow-api/generated/comment/comment.zod.js +0 -305
  22. package/dist/kickflow-api/generated/comment/comment.zod.js.map +0 -1
  23. package/dist/kickflow-api/generated/file/file.zod.d.ts +0 -34
  24. package/dist/kickflow-api/generated/file/file.zod.js +0 -35
  25. package/dist/kickflow-api/generated/file/file.zod.js.map +0 -1
  26. package/dist/kickflow-api/generated/folder/folder.zod.d.ts +0 -236
  27. package/dist/kickflow-api/generated/folder/folder.zod.js +0 -227
  28. package/dist/kickflow-api/generated/folder/folder.zod.js.map +0 -1
  29. package/dist/kickflow-api/generated/general-master/general-master.zod.d.ts +0 -520
  30. package/dist/kickflow-api/generated/general-master/general-master.zod.js +0 -387
  31. package/dist/kickflow-api/generated/general-master/general-master.zod.js.map +0 -1
  32. package/dist/kickflow-api/generated/grade/grade.zod.d.ts +0 -148
  33. package/dist/kickflow-api/generated/grade/grade.zod.js +0 -141
  34. package/dist/kickflow-api/generated/grade/grade.zod.js.map +0 -1
  35. package/dist/kickflow-api/generated/kickflowRESTAPIV1.d.ts +0 -193
  36. package/dist/kickflow-api/generated/kickflowRESTAPIV1.js +0 -1118
  37. package/dist/kickflow-api/generated/kickflowRESTAPIV1.js.map +0 -1
  38. package/dist/kickflow-api/generated/kickflowRESTAPIV1.schemas.d.ts +0 -3703
  39. package/dist/kickflow-api/generated/kickflowRESTAPIV1.schemas.js +0 -346
  40. package/dist/kickflow-api/generated/kickflowRESTAPIV1.schemas.js.map +0 -1
  41. package/dist/kickflow-api/generated/organization-chart/organization-chart.zod.d.ts +0 -193
  42. package/dist/kickflow-api/generated/organization-chart/organization-chart.zod.js +0 -180
  43. package/dist/kickflow-api/generated/organization-chart/organization-chart.zod.js.map +0 -1
  44. package/dist/kickflow-api/generated/proxy-applicant/proxy-applicant.zod.d.ts +0 -560
  45. package/dist/kickflow-api/generated/proxy-applicant/proxy-applicant.zod.js +0 -346
  46. package/dist/kickflow-api/generated/proxy-applicant/proxy-applicant.zod.js.map +0 -1
  47. package/dist/kickflow-api/generated/proxy-approver/proxy-approver.zod.d.ts +0 -560
  48. package/dist/kickflow-api/generated/proxy-approver/proxy-approver.zod.js +0 -346
  49. package/dist/kickflow-api/generated/proxy-approver/proxy-approver.zod.js.map +0 -1
  50. package/dist/kickflow-api/generated/role/role.zod.d.ts +0 -509
  51. package/dist/kickflow-api/generated/role/role.zod.js +0 -356
  52. package/dist/kickflow-api/generated/role/role.zod.js.map +0 -1
  53. package/dist/kickflow-api/generated/route/route.zod.d.ts +0 -499
  54. package/dist/kickflow-api/generated/route/route.zod.js +0 -329
  55. package/dist/kickflow-api/generated/route/route.zod.js.map +0 -1
  56. package/dist/kickflow-api/generated/team/team.zod.d.ts +0 -526
  57. package/dist/kickflow-api/generated/team/team.zod.js +0 -463
  58. package/dist/kickflow-api/generated/team/team.zod.js.map +0 -1
  59. package/dist/kickflow-api/generated/ticket/ticket.zod.d.ts +0 -58732
  60. package/dist/kickflow-api/generated/ticket/ticket.zod.js +0 -41758
  61. package/dist/kickflow-api/generated/ticket/ticket.zod.js.map +0 -1
  62. package/dist/kickflow-api/generated/user/user.zod.d.ts +0 -525
  63. package/dist/kickflow-api/generated/user/user.zod.js +0 -431
  64. package/dist/kickflow-api/generated/user/user.zod.js.map +0 -1
  65. package/dist/kickflow-api/generated/workflow/workflow.zod.d.ts +0 -1218
  66. package/dist/kickflow-api/generated/workflow/workflow.zod.js +0 -832
  67. package/dist/kickflow-api/generated/workflow/workflow.zod.js.map +0 -1
  68. package/dist/kickflow-api/generated/zod-schemas.d.ts +0 -1
  69. package/dist/kickflow-api/generated/zod-schemas.js +0 -39
  70. package/dist/kickflow-api/generated/zod-schemas.js.map +0 -1
  71. package/dist/kickflow-api/schema-registry.d.ts +0 -11
  72. package/dist/kickflow-api/schema-registry.js +0 -66
  73. package/dist/kickflow-api/schema-registry.js.map +0 -1
  74. package/dist/kickflow-api/special-handlers.d.ts +0 -16
  75. package/dist/kickflow-api/special-handlers.js +0 -67
  76. package/dist/kickflow-api/special-handlers.js.map +0 -1
  77. package/dist/kickflow-api/tools/call-api.d.ts +0 -3
  78. package/dist/kickflow-api/tools/call-api.js +0 -192
  79. package/dist/kickflow-api/tools/call-api.js.map +0 -1
  80. package/dist/kickflow-api/tools/discover-apis.d.ts +0 -3
  81. package/dist/kickflow-api/tools/discover-apis.js +0 -18
  82. package/dist/kickflow-api/tools/discover-apis.js.map +0 -1
  83. package/dist/kickflow-api/tools/get-api-info.d.ts +0 -3
  84. package/dist/kickflow-api/tools/get-api-info.js +0 -76
  85. package/dist/kickflow-api/tools/get-api-info.js.map +0 -1
  86. package/dist/server.d.ts +0 -4
  87. package/dist/server.js +0 -26
  88. package/dist/server.js.map +0 -1
  89. package/dist/types.d.ts +0 -9
  90. package/dist/types.js +0 -2
  91. package/dist/types.js.map +0 -1
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@kickflow/mcp-server",
3
- "version": "1.0.6",
3
+ "version": "1.1.1",
4
4
  "description": "MCP Server for kickflow API",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist/index.mjs",
7
6
  "bin": {
8
- "@kickflow/mcp-server": "dist/index.js"
7
+ "@kickflow/mcp-server": "dist/index.mjs"
9
8
  },
10
9
  "files": [
11
10
  "dist",
@@ -16,17 +15,17 @@
16
15
  "url": "https://github.com/kickflow/kickflow-mcp-server"
17
16
  },
18
17
  "scripts": {
19
- "build": "tsc && chmod 755 dist/index.js",
20
- "dev": "node --loader ts-node/esm src/index.ts",
21
- "start": "node dist/index.js",
22
- "test": "vitest run",
23
- "test:watch": "vitest",
24
- "test:inspector": "npx @modelcontextprotocol/inspector node dist/index.js",
25
- "typecheck": "tsc --noEmit",
18
+ "build": "vp pack",
19
+ "dev": "vp exec tsx src/index.ts",
20
+ "start": "node dist/index.mjs",
21
+ "test": "vp test",
22
+ "test:watch": "vp test watch",
23
+ "test:inspector": "npx @modelcontextprotocol/inspector node dist/index.mjs",
26
24
  "update-schema": "curl -s https://developer.kickflow.com/rest/schema.yaml -o schema.yaml",
27
- "generate-api": "rm -rf ./src/kickflow-api/generated && orval --config orval.config.ts",
28
- "lint": "eslint . --ext .ts,.mts,.cts --fix",
29
- "format": "prettier --write \"**/*.{ts,mts,cts,js,mjs,cjs,json,md}\""
25
+ "generate-api": "rm -rf ./src/kickflow-api/generated && orval --config orval.config.ts && vp fmt",
26
+ "lint": "vp lint --fix",
27
+ "format": "vp fmt",
28
+ "prepare": "vp config"
30
29
  },
31
30
  "keywords": [
32
31
  "kickflow",
@@ -44,25 +43,18 @@
44
43
  "node": ">=22.18.0"
45
44
  },
46
45
  "dependencies": {
47
- "@modelcontextprotocol/sdk": "1.27.1",
48
- "axios": "1.13.5",
46
+ "@modelcontextprotocol/sdk": "1.28.0",
47
+ "axios": "1.13.6",
49
48
  "zod": "4.3.6"
50
49
  },
51
50
  "devDependencies": {
52
- "@eslint/js": "10.0.1",
53
- "@types/node": "22.19.13",
54
- "@vitest/eslint-plugin": "1.6.9",
51
+ "@types/node": "22.19.15",
55
52
  "axios-mock-adapter": "2.1.0",
56
- "eslint": "10.0.2",
57
- "eslint-config-prettier": "10.1.8",
58
- "eslint-plugin-prettier": "5.5.5",
59
- "globals": "17.4.0",
60
- "orval": "7.21.0",
61
- "prettier": "3.8.1",
62
- "ts-node": "10.9.2",
53
+ "orval": "8.6.2",
54
+ "tsx": "4.21.0",
63
55
  "typescript": "5.9.3",
64
- "typescript-eslint": "8.56.1",
65
- "vitest": "4.0.18",
66
- "yaml": "2.8.2"
67
- }
56
+ "yaml": "2.8.3",
57
+ "vite-plus": "0.1.14"
58
+ },
59
+ "packageManager": "npm@11.12.1"
68
60
  }
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/dist/index.js DELETED
@@ -1,64 +0,0 @@
1
- #!/usr/bin/env node
2
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { setKickflowAccessToken } from './kickflow-api/custom-axios-instance.js';
4
- import { createServer } from './server.js';
5
- // コマンドライン引数からトークンを取得
6
- function parseArguments() {
7
- const args = process.argv.slice(2);
8
- const tokenArgPrefix = '--kickflow-access-token=';
9
- // ヘルプメッセージの表示
10
- if (args.includes('--help') || args.includes('-h')) {
11
- console.log(`Kickflow MCP Server
12
-
13
- 使用方法:
14
- kickflow-mcp-server [オプション]
15
-
16
- オプション:
17
- --kickflow-access-token=TOKEN Kickflow アクセストークン
18
- --help, -h このヘルプメッセージを表示
19
-
20
- 環境変数:
21
- KICKFLOW_ACCESS_TOKEN Kickflow アクセストークン(コマンドライン引数が優先されます)
22
- `);
23
- process.exit(0);
24
- }
25
- // 引数からトークンを探す
26
- const tokenArg = args.find((arg) => arg.startsWith(tokenArgPrefix));
27
- if (tokenArg) {
28
- return tokenArg.substring(tokenArgPrefix.length);
29
- }
30
- // 環境変数からトークンを取得
31
- return process.env.KICKFLOW_ACCESS_TOKEN;
32
- }
33
- // トークンの取得
34
- const ACCESS_TOKEN = parseArguments();
35
- if (!ACCESS_TOKEN) {
36
- console.error(`エラー: Kickflow アクセストークンが必要です
37
-
38
- 以下のいずれかの方法でアクセストークンを指定してください:
39
- 1. コマンドライン引数: --kickflow-access-token=YOUR_TOKEN
40
- 2. 環境変数: KICKFLOW_ACCESS_TOKEN=YOUR_TOKEN
41
-
42
- 例:
43
- npx kickflow-mcp-server --kickflow-access-token=YOUR_TOKEN
44
-
45
- または
46
-
47
- KICKFLOW_ACCESS_TOKEN=YOUR_TOKEN npx kickflow-mcp-server
48
- `);
49
- process.exit(1);
50
- }
51
- // アクセストークンを設定
52
- setKickflowAccessToken(ACCESS_TOKEN);
53
- // Create server instance
54
- const server = createServer();
55
- async function main() {
56
- const transport = new StdioServerTransport();
57
- await server.connect(transport);
58
- console.error('Kickflow MCP Server running on stdio');
59
- }
60
- main().catch((error) => {
61
- console.error('Fatal error in main():', error);
62
- process.exit(1);
63
- });
64
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,qBAAqB;AACrB,SAAS,cAAc;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,cAAc,GAAG,0BAA0B,CAAA;IAEjD,cAAc;IACd,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;CAWf,CAAC,CAAA;QACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,cAAc;IACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;IAED,gBAAgB;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AAC1C,CAAC;AAED,UAAU;AACV,MAAM,YAAY,GAAG,cAAc,EAAE,CAAA;AACrC,IAAI,CAAC,YAAY,EAAE,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC;;;;;;;;;;;;CAYf,CAAC,CAAA;IACA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,cAAc;AACd,sBAAsB,CAAC,YAAY,CAAC,CAAA;AAEpC,yBAAyB;AACzB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;AAE7B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;AACvD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import { AxiosError, AxiosRequestConfig } from 'axios';
2
- export declare function setKickflowAccessToken(token: string): void;
3
- export declare const AXIOS_INSTANCE: import("axios").AxiosInstance;
4
- export declare const customAxiosInstance: <T>(config: AxiosRequestConfig, options?: AxiosRequestConfig) => Promise<T>;
5
- export type ErrorType<Error> = AxiosError<Error>;
6
- export type BodyType<BodyData> = BodyData;
@@ -1,44 +0,0 @@
1
- import Axios from 'axios';
2
- // Kickflow APIのベースURL
3
- const KICKFLOW_API_BASE_URL = 'https://api.kickflow.com';
4
- // アクセストークンを保持する変数
5
- let accessToken = null;
6
- // アクセストークンを設定する関数
7
- export function setKickflowAccessToken(token) {
8
- accessToken = token;
9
- }
10
- // Axiosインスタンスの作成
11
- export const AXIOS_INSTANCE = Axios.create({
12
- baseURL: KICKFLOW_API_BASE_URL,
13
- headers: {
14
- 'Content-Type': 'application/json',
15
- },
16
- });
17
- // リクエストインターセプターでアクセストークンを設定
18
- AXIOS_INSTANCE.interceptors.request.use((config) => {
19
- if (accessToken) {
20
- config.headers = config.headers || {};
21
- config.headers['Authorization'] = `Bearer ${accessToken}`;
22
- }
23
- return config;
24
- });
25
- // Orvalが使用するカスタムインスタンス関数
26
- export const customAxiosInstance = (config, options) => {
27
- const source = Axios.CancelToken.source();
28
- // アクセストークンが設定されていない場合のエラーチェック
29
- if (!accessToken) {
30
- console.warn('Kickflow access token is not set. API calls may fail.');
31
- }
32
- const promise = AXIOS_INSTANCE({
33
- ...config,
34
- ...options,
35
- cancelToken: source.token,
36
- }).then(({ data }) => data);
37
- // キャンセル機能を追加
38
- // @ts-expect-error キャンセルプロパティはPromiseに存在しないが追加
39
- promise.cancel = () => {
40
- source.cancel('Query was cancelled');
41
- };
42
- return promise;
43
- };
44
- //# sourceMappingURL=custom-axios-instance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-axios-instance.js","sourceRoot":"","sources":["../../src/kickflow-api/custom-axios-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAE7D,sBAAsB;AACtB,MAAM,qBAAqB,GAAG,0BAA0B,CAAA;AAExD,kBAAkB;AAClB,IAAI,WAAW,GAAkB,IAAI,CAAA;AAErC,kBAAkB;AAClB,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,WAAW,GAAG,KAAK,CAAA;AACrB,CAAC;AAED,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,qBAAqB;IAC9B,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAA;AAEF,4BAA4B;AAC5B,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;QACrC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAA;IAC3D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAA0B,EAC1B,OAA4B,EAChB,EAAE;IACd,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;IAEzC,8BAA8B;IAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC;QAC7B,GAAG,MAAM;QACT,GAAG,OAAO;QACV,WAAW,EAAE,MAAM,CAAC,KAAK;KAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAE3B,aAAa;IACb,+CAA+C;IAC/C,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACtC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Generated by orval-hook.js
3
- * Do not edit manually.
4
- */
5
- export interface PathParamInfo {
6
- name: string;
7
- type: string;
8
- required: boolean;
9
- description?: string;
10
- format?: string;
11
- pattern?: string;
12
- }
13
- export interface ApiDefinition {
14
- operationId: string;
15
- summary: string;
16
- pathParams: PathParamInfo[];
17
- }
18
- export declare const apiDefinitions: ApiDefinition[];
19
- export declare function findApiByOperationId(operationId: string): ApiDefinition | undefined;