@openziti/ziti-mcp-server 0.1.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.
Files changed (210) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +868 -0
  3. package/dist/auth/client-credentials-flow.d.ts +21 -0
  4. package/dist/auth/client-credentials-flow.js +63 -0
  5. package/dist/auth/client-credentials-flow.js.map +1 -0
  6. package/dist/auth/device-auth-flow.d.ts +47 -0
  7. package/dist/auth/device-auth-flow.js +291 -0
  8. package/dist/auth/device-auth-flow.js.map +1 -0
  9. package/dist/clients/base.d.ts +74 -0
  10. package/dist/clients/base.js +109 -0
  11. package/dist/clients/base.js.map +1 -0
  12. package/dist/clients/claude.d.ts +22 -0
  13. package/dist/clients/claude.js +40 -0
  14. package/dist/clients/claude.js.map +1 -0
  15. package/dist/clients/cursor.d.ts +22 -0
  16. package/dist/clients/cursor.js +39 -0
  17. package/dist/clients/cursor.js.map +1 -0
  18. package/dist/clients/index.d.ts +33 -0
  19. package/dist/clients/index.js +39 -0
  20. package/dist/clients/index.js.map +1 -0
  21. package/dist/clients/types.d.ts +70 -0
  22. package/dist/clients/types.js +2 -0
  23. package/dist/clients/types.js.map +1 -0
  24. package/dist/clients/utils.d.ts +22 -0
  25. package/dist/clients/utils.js +46 -0
  26. package/dist/clients/utils.js.map +1 -0
  27. package/dist/clients/vscode.d.ts +76 -0
  28. package/dist/clients/vscode.js +159 -0
  29. package/dist/clients/vscode.js.map +1 -0
  30. package/dist/clients/windsurf.d.ts +22 -0
  31. package/dist/clients/windsurf.js +39 -0
  32. package/dist/clients/windsurf.js.map +1 -0
  33. package/dist/commands/init.d.ts +45 -0
  34. package/dist/commands/init.js +133 -0
  35. package/dist/commands/init.js.map +1 -0
  36. package/dist/commands/logout.d.ts +12 -0
  37. package/dist/commands/logout.js +90 -0
  38. package/dist/commands/logout.js.map +1 -0
  39. package/dist/commands/run.d.ts +15 -0
  40. package/dist/commands/run.js +94 -0
  41. package/dist/commands/run.js.map +1 -0
  42. package/dist/commands/session.d.ts +12 -0
  43. package/dist/commands/session.js +99 -0
  44. package/dist/commands/session.js.map +1 -0
  45. package/dist/index.d.ts +2 -0
  46. package/dist/index.js +105 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/server.d.ts +67 -0
  49. package/dist/server.js +171 -0
  50. package/dist/server.js.map +1 -0
  51. package/dist/tools/api-sessions.d.ts +3 -0
  52. package/dist/tools/api-sessions.js +86 -0
  53. package/dist/tools/api-sessions.js.map +1 -0
  54. package/dist/tools/auth-policies.d.ts +3 -0
  55. package/dist/tools/auth-policies.js +347 -0
  56. package/dist/tools/auth-policies.js.map +1 -0
  57. package/dist/tools/authenticators.d.ts +3 -0
  58. package/dist/tools/authenticators.js +183 -0
  59. package/dist/tools/authenticators.js.map +1 -0
  60. package/dist/tools/certificate-authorities.d.ts +3 -0
  61. package/dist/tools/certificate-authorities.js +288 -0
  62. package/dist/tools/certificate-authorities.js.map +1 -0
  63. package/dist/tools/config-types.d.ts +3 -0
  64. package/dist/tools/config-types.js +194 -0
  65. package/dist/tools/config-types.js.map +1 -0
  66. package/dist/tools/configs.d.ts +3 -0
  67. package/dist/tools/configs.js +203 -0
  68. package/dist/tools/configs.js.map +1 -0
  69. package/dist/tools/controller-settings.d.ts +3 -0
  70. package/dist/tools/controller-settings.js +219 -0
  71. package/dist/tools/controller-settings.js.map +1 -0
  72. package/dist/tools/controllers.d.ts +3 -0
  73. package/dist/tools/controllers.js +89 -0
  74. package/dist/tools/controllers.js.map +1 -0
  75. package/dist/tools/edge-router-policies.d.ts +3 -0
  76. package/dist/tools/edge-router-policies.js +262 -0
  77. package/dist/tools/edge-router-policies.js.map +1 -0
  78. package/dist/tools/edge-routers.d.ts +3 -0
  79. package/dist/tools/edge-routers.js +381 -0
  80. package/dist/tools/edge-routers.js.map +1 -0
  81. package/dist/tools/enrollments.d.ts +3 -0
  82. package/dist/tools/enrollments.js +187 -0
  83. package/dist/tools/enrollments.js.map +1 -0
  84. package/dist/tools/external-jwt-signers.d.ts +3 -0
  85. package/dist/tools/external-jwt-signers.js +242 -0
  86. package/dist/tools/external-jwt-signers.js.map +1 -0
  87. package/dist/tools/identities.d.ts +3 -0
  88. package/dist/tools/identities.js +741 -0
  89. package/dist/tools/identities.js.map +1 -0
  90. package/dist/tools/identity-types.d.ts +3 -0
  91. package/dist/tools/identity-types.js +58 -0
  92. package/dist/tools/identity-types.js.map +1 -0
  93. package/dist/tools/index.d.ts +3 -0
  94. package/dist/tools/index.js +101 -0
  95. package/dist/tools/index.js.map +1 -0
  96. package/dist/tools/posture-checks.d.ts +3 -0
  97. package/dist/tools/posture-checks.js +254 -0
  98. package/dist/tools/posture-checks.js.map +1 -0
  99. package/dist/tools/routers.d.ts +3 -0
  100. package/dist/tools/routers.js +169 -0
  101. package/dist/tools/routers.js.map +1 -0
  102. package/dist/tools/service-edge-router-policies.d.ts +3 -0
  103. package/dist/tools/service-edge-router-policies.js +282 -0
  104. package/dist/tools/service-edge-router-policies.js.map +1 -0
  105. package/dist/tools/service-policies.d.ts +3 -0
  106. package/dist/tools/service-policies.js +311 -0
  107. package/dist/tools/service-policies.js.map +1 -0
  108. package/dist/tools/services.d.ts +3 -0
  109. package/dist/tools/services.js +403 -0
  110. package/dist/tools/services.js.map +1 -0
  111. package/dist/tools/sessions.d.ts +3 -0
  112. package/dist/tools/sessions.js +86 -0
  113. package/dist/tools/sessions.js.map +1 -0
  114. package/dist/tools/terminators.d.ts +3 -0
  115. package/dist/tools/terminators.js +187 -0
  116. package/dist/tools/terminators.js.map +1 -0
  117. package/dist/tools/transit-routers.d.ts +3 -0
  118. package/dist/tools/transit-routers.js +169 -0
  119. package/dist/tools/transit-routers.js.map +1 -0
  120. package/dist/utils/analytics.d.ts +75 -0
  121. package/dist/utils/analytics.js +191 -0
  122. package/dist/utils/analytics.js.map +1 -0
  123. package/dist/utils/auth0-client.d.ts +27 -0
  124. package/dist/utils/auth0-client.js +67 -0
  125. package/dist/utils/auth0-client.js.map +1 -0
  126. package/dist/utils/authenticated-client.d.ts +6 -0
  127. package/dist/utils/authenticated-client.js +55 -0
  128. package/dist/utils/authenticated-client.js.map +1 -0
  129. package/dist/utils/config.d.ts +65 -0
  130. package/dist/utils/config.js +80 -0
  131. package/dist/utils/config.js.map +1 -0
  132. package/dist/utils/constants.d.ts +15 -0
  133. package/dist/utils/constants.js +17 -0
  134. package/dist/utils/constants.js.map +1 -0
  135. package/dist/utils/controller-client/client/client.gen.d.ts +2 -0
  136. package/dist/utils/controller-client/client/client.gen.js +229 -0
  137. package/dist/utils/controller-client/client/client.gen.js.map +1 -0
  138. package/dist/utils/controller-client/client/index.d.ts +8 -0
  139. package/dist/utils/controller-client/client/index.js +7 -0
  140. package/dist/utils/controller-client/client/index.js.map +1 -0
  141. package/dist/utils/controller-client/client/types.gen.d.ts +117 -0
  142. package/dist/utils/controller-client/client/types.gen.js +3 -0
  143. package/dist/utils/controller-client/client/types.gen.js.map +1 -0
  144. package/dist/utils/controller-client/client/utils.gen.d.ts +33 -0
  145. package/dist/utils/controller-client/client/utils.gen.js +232 -0
  146. package/dist/utils/controller-client/client/utils.gen.js.map +1 -0
  147. package/dist/utils/controller-client/client.gen.d.ts +12 -0
  148. package/dist/utils/controller-client/client.gen.js +6 -0
  149. package/dist/utils/controller-client/client.gen.js.map +1 -0
  150. package/dist/utils/controller-client/core/auth.gen.d.ts +18 -0
  151. package/dist/utils/controller-client/core/auth.gen.js +15 -0
  152. package/dist/utils/controller-client/core/auth.gen.js.map +1 -0
  153. package/dist/utils/controller-client/core/bodySerializer.gen.d.ts +25 -0
  154. package/dist/utils/controller-client/core/bodySerializer.gen.js +58 -0
  155. package/dist/utils/controller-client/core/bodySerializer.gen.js.map +1 -0
  156. package/dist/utils/controller-client/core/params.gen.d.ts +43 -0
  157. package/dist/utils/controller-client/core/params.gen.js +101 -0
  158. package/dist/utils/controller-client/core/params.gen.js.map +1 -0
  159. package/dist/utils/controller-client/core/pathSerializer.gen.d.ts +33 -0
  160. package/dist/utils/controller-client/core/pathSerializer.gen.js +115 -0
  161. package/dist/utils/controller-client/core/pathSerializer.gen.js.map +1 -0
  162. package/dist/utils/controller-client/core/queryKeySerializer.gen.d.ts +18 -0
  163. package/dist/utils/controller-client/core/queryKeySerializer.gen.js +100 -0
  164. package/dist/utils/controller-client/core/queryKeySerializer.gen.js.map +1 -0
  165. package/dist/utils/controller-client/core/serverSentEvents.gen.d.ts +71 -0
  166. package/dist/utils/controller-client/core/serverSentEvents.gen.js +136 -0
  167. package/dist/utils/controller-client/core/serverSentEvents.gen.js.map +1 -0
  168. package/dist/utils/controller-client/core/types.gen.d.ts +78 -0
  169. package/dist/utils/controller-client/core/types.gen.js +3 -0
  170. package/dist/utils/controller-client/core/types.gen.js.map +1 -0
  171. package/dist/utils/controller-client/core/utils.gen.d.ts +19 -0
  172. package/dist/utils/controller-client/core/utils.gen.js +88 -0
  173. package/dist/utils/controller-client/core/utils.gen.js.map +1 -0
  174. package/dist/utils/controller-client/index.d.ts +2 -0
  175. package/dist/utils/controller-client/index.js +3 -0
  176. package/dist/utils/controller-client/index.js.map +1 -0
  177. package/dist/utils/controller-client/sdk.gen.d.ts +1302 -0
  178. package/dist/utils/controller-client/sdk.gen.js +4436 -0
  179. package/dist/utils/controller-client/sdk.gen.js.map +1 -0
  180. package/dist/utils/controller-client/types.gen.d.ts +9170 -0
  181. package/dist/utils/controller-client/types.gen.js +3 -0
  182. package/dist/utils/controller-client/types.gen.js.map +1 -0
  183. package/dist/utils/glob.d.ts +75 -0
  184. package/dist/utils/glob.js +110 -0
  185. package/dist/utils/glob.js.map +1 -0
  186. package/dist/utils/http-utility.d.ts +5 -0
  187. package/dist/utils/http-utility.js +68 -0
  188. package/dist/utils/http-utility.js.map +1 -0
  189. package/dist/utils/keychain.d.ts +129 -0
  190. package/dist/utils/keychain.js +193 -0
  191. package/dist/utils/keychain.js.map +1 -0
  192. package/dist/utils/logger.d.ts +4 -0
  193. package/dist/utils/logger.js +28 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/package.d.ts +3 -0
  196. package/dist/utils/package.js +9 -0
  197. package/dist/utils/package.js.map +1 -0
  198. package/dist/utils/scopes.d.ts +12 -0
  199. package/dist/utils/scopes.js +19 -0
  200. package/dist/utils/scopes.js.map +1 -0
  201. package/dist/utils/terminal.d.ts +35 -0
  202. package/dist/utils/terminal.js +409 -0
  203. package/dist/utils/terminal.js.map +1 -0
  204. package/dist/utils/tools.d.ts +63 -0
  205. package/dist/utils/tools.js +149 -0
  206. package/dist/utils/tools.js.map +1 -0
  207. package/dist/utils/types.d.ts +55 -0
  208. package/dist/utils/types.js +3 -0
  209. package/dist/utils/types.js.map +1 -0
  210. package/package.json +89 -0
@@ -0,0 +1,203 @@
1
+ import { createErrorResponse } from '../utils/http-utility.js';
2
+ import { withAuthenticatedClient } from '../utils/authenticated-client.js';
3
+ import { listConfigs, detailConfig, createConfig, deleteConfig, patchConfig, listConfigServices, } from '../utils/controller-client/sdk.gen.js';
4
+ // Define all available Config tools
5
+ export const CONFIG_TOOLS = [
6
+ {
7
+ name: 'listConfigs',
8
+ description: 'List all Configs in the Ziti network',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {},
12
+ },
13
+ _meta: {
14
+ requiredScopes: ['read:configs'],
15
+ readOnly: true,
16
+ },
17
+ annotations: {
18
+ title: 'List all Configs defined in the Ziti network.',
19
+ readOnlyHint: true,
20
+ destructiveHint: false,
21
+ idempotentHint: true,
22
+ openWorldHint: false,
23
+ },
24
+ },
25
+ {
26
+ name: 'listConfig',
27
+ description: 'Get details about a specific Ziti Config',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ id: { type: 'string', description: 'ID of the config to retrieve' },
32
+ },
33
+ required: ['id'],
34
+ },
35
+ _meta: {
36
+ requiredScopes: ['read:configs'],
37
+ readOnly: true,
38
+ },
39
+ annotations: {
40
+ title: 'Get Ziti Config Details',
41
+ readOnlyHint: true,
42
+ destructiveHint: false,
43
+ idempotentHint: true,
44
+ openWorldHint: false,
45
+ },
46
+ },
47
+ {
48
+ name: 'createConfig',
49
+ description: 'Create a new Ziti Config.',
50
+ inputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ name: { type: 'string', description: 'Name of the config to create' },
54
+ configTypeId: {
55
+ type: 'string',
56
+ description: 'The ID of the config type that defines the schema for the data payload',
57
+ },
58
+ data: {
59
+ type: 'object',
60
+ description: 'Data payload defined by the schema of the config type (JSON object)',
61
+ },
62
+ },
63
+ required: ['name', 'configTypeId', 'data'],
64
+ },
65
+ _meta: {
66
+ requiredScopes: ['write:configs'],
67
+ readOnly: false,
68
+ },
69
+ annotations: {
70
+ title: 'Create a new Config in the Ziti network.',
71
+ readOnlyHint: false,
72
+ destructiveHint: false,
73
+ idempotentHint: false,
74
+ openWorldHint: false,
75
+ },
76
+ },
77
+ {
78
+ name: 'deleteConfig',
79
+ description: 'Delete a Ziti Config.',
80
+ inputSchema: {
81
+ type: 'object',
82
+ properties: {
83
+ id: { type: 'string', description: 'ID of the config to delete' },
84
+ },
85
+ required: ['id'],
86
+ },
87
+ _meta: {
88
+ requiredScopes: ['write:configs'],
89
+ readOnly: false,
90
+ },
91
+ annotations: {
92
+ title: 'Delete a Config from the Ziti network.',
93
+ readOnlyHint: false,
94
+ destructiveHint: true,
95
+ idempotentHint: false,
96
+ openWorldHint: false,
97
+ },
98
+ },
99
+ {
100
+ name: 'updateConfig',
101
+ description: 'Update an existing Ziti Config.',
102
+ inputSchema: {
103
+ type: 'object',
104
+ properties: {
105
+ id: { type: 'string', description: 'ID of the config to update' },
106
+ name: { type: 'string', description: 'Name to give the config' },
107
+ data: {
108
+ type: 'object',
109
+ description: 'Data payload defined by the schema of the config type (JSON object)',
110
+ },
111
+ },
112
+ required: ['id'],
113
+ },
114
+ _meta: {
115
+ requiredScopes: ['write:configs'],
116
+ readOnly: false,
117
+ },
118
+ annotations: {
119
+ title: 'Update an existing Config in the Ziti network.',
120
+ readOnlyHint: false,
121
+ destructiveHint: true,
122
+ idempotentHint: true,
123
+ openWorldHint: false,
124
+ },
125
+ },
126
+ {
127
+ name: 'listConfigServices',
128
+ description: 'List all Services that use a specific Config',
129
+ inputSchema: {
130
+ type: 'object',
131
+ properties: {
132
+ id: { type: 'string', description: 'ID of the config' },
133
+ },
134
+ required: ['id'],
135
+ },
136
+ _meta: {
137
+ requiredScopes: ['read:configs'],
138
+ readOnly: true,
139
+ },
140
+ annotations: {
141
+ title: 'List Services for a Config.',
142
+ readOnlyHint: true,
143
+ destructiveHint: false,
144
+ idempotentHint: true,
145
+ openWorldHint: false,
146
+ },
147
+ },
148
+ ];
149
+ // Define handlers for each Config tool
150
+ export const CONFIG_HANDLERS = {
151
+ listConfigs: (request, config) => withAuthenticatedClient(request, config, 'list configs', (client, ztSession) => listConfigs({ client, headers: { 'zt-session': ztSession } })),
152
+ listConfig: (request, handlerConfig) => {
153
+ const { id } = request.parameters;
154
+ if (!id)
155
+ return Promise.resolve(createErrorResponse('Error: id is required'));
156
+ return withAuthenticatedClient(request, handlerConfig, 'get config', (client, ztSession) => detailConfig({ path: { id }, client, headers: { 'zt-session': ztSession } }));
157
+ },
158
+ createConfig: (request, handlerConfig) => {
159
+ const { name, configTypeId, data } = request.parameters;
160
+ if (!name)
161
+ return Promise.resolve(createErrorResponse('Error: name is required'));
162
+ if (!configTypeId)
163
+ return Promise.resolve(createErrorResponse('Error: configTypeId is required'));
164
+ if (!data)
165
+ return Promise.resolve(createErrorResponse('Error: data is required'));
166
+ return withAuthenticatedClient(request, handlerConfig, 'create config', (client, ztSession) => createConfig({
167
+ body: {
168
+ name,
169
+ configTypeId,
170
+ data,
171
+ },
172
+ client,
173
+ headers: { 'zt-session': ztSession },
174
+ }));
175
+ },
176
+ deleteConfig: (request, handlerConfig) => {
177
+ const { id } = request.parameters;
178
+ if (!id)
179
+ return Promise.resolve(createErrorResponse('Error: id is required'));
180
+ return withAuthenticatedClient(request, handlerConfig, 'delete config', (client, ztSession) => deleteConfig({ path: { id }, client, headers: { 'zt-session': ztSession } }));
181
+ },
182
+ updateConfig: (request, handlerConfig) => {
183
+ const { id, name, data } = request.parameters;
184
+ if (!id)
185
+ return Promise.resolve(createErrorResponse('Error: id is required'));
186
+ return withAuthenticatedClient(request, handlerConfig, 'update config', (client, ztSession) => patchConfig({
187
+ path: { id },
188
+ body: {
189
+ name,
190
+ data,
191
+ },
192
+ client,
193
+ headers: { 'zt-session': ztSession },
194
+ }));
195
+ },
196
+ listConfigServices: (request, handlerConfig) => {
197
+ const { id } = request.parameters;
198
+ if (!id)
199
+ return Promise.resolve(createErrorResponse('Error: id is required'));
200
+ return withAuthenticatedClient(request, handlerConfig, 'list config services', (client, ztSession) => listConfigServices({ path: { id }, client, headers: { 'zt-session': ztSession } }));
201
+ },
202
+ };
203
+ //# sourceMappingURL=configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../src/tools/configs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HandlerConfig, HandlerRequest, HandlerResponse, Tool } from '../utils/types.js';
2
+ export declare const CONTROLLER_SETTING_TOOLS: Tool[];
3
+ export declare const CONTROLLER_SETTING_HANDLERS: Record<string, (request: HandlerRequest, config: HandlerConfig) => Promise<HandlerResponse>>;
@@ -0,0 +1,219 @@
1
+ import { createErrorResponse } from '../utils/http-utility.js';
2
+ import { withAuthenticatedClient } from '../utils/authenticated-client.js';
3
+ import { listControllerSettings, detailControllerSetting, createControllerSetting, deleteControllerSetting, patchControllerSetting, detailControllerSettingEffective, } from '../utils/controller-client/sdk.gen.js';
4
+ // Define all available Controller Setting tools
5
+ export const CONTROLLER_SETTING_TOOLS = [
6
+ {
7
+ name: 'listControllerSettings',
8
+ description: 'List all Controller Settings in the Ziti network',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {},
12
+ },
13
+ _meta: {
14
+ requiredScopes: ['read:controller-settings'],
15
+ readOnly: true,
16
+ },
17
+ annotations: {
18
+ title: 'List all Controller Settings defined in the Ziti network.',
19
+ readOnlyHint: true,
20
+ destructiveHint: false,
21
+ idempotentHint: true,
22
+ openWorldHint: false,
23
+ },
24
+ },
25
+ {
26
+ name: 'listControllerSetting',
27
+ description: 'Get details about a specific Ziti Controller Setting',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ id: { type: 'string', description: 'ID of the controller setting to retrieve' },
32
+ },
33
+ required: ['id'],
34
+ },
35
+ _meta: {
36
+ requiredScopes: ['read:controller-settings'],
37
+ readOnly: true,
38
+ },
39
+ annotations: {
40
+ title: 'Get Ziti Controller Setting Details',
41
+ readOnlyHint: true,
42
+ destructiveHint: false,
43
+ idempotentHint: true,
44
+ openWorldHint: false,
45
+ },
46
+ },
47
+ {
48
+ name: 'createControllerSetting',
49
+ description: 'Create a new Ziti Controller Setting.',
50
+ inputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ controllerId: {
54
+ type: 'string',
55
+ description: 'ID of the controller this setting applies to',
56
+ },
57
+ oidcRedirectUris: {
58
+ type: 'string',
59
+ description: 'Comma-separated OIDC redirect URIs',
60
+ },
61
+ oidcPostLogoutUris: {
62
+ type: 'string',
63
+ description: 'Comma-separated OIDC post-logout URIs',
64
+ },
65
+ },
66
+ required: ['controllerId'],
67
+ },
68
+ _meta: {
69
+ requiredScopes: ['write:controller-settings'],
70
+ readOnly: false,
71
+ },
72
+ annotations: {
73
+ title: 'Create a new Controller Setting in the Ziti network.',
74
+ readOnlyHint: false,
75
+ destructiveHint: false,
76
+ idempotentHint: false,
77
+ openWorldHint: false,
78
+ },
79
+ },
80
+ {
81
+ name: 'deleteControllerSetting',
82
+ description: 'Delete a Ziti Controller Setting.',
83
+ inputSchema: {
84
+ type: 'object',
85
+ properties: {
86
+ id: { type: 'string', description: 'ID of the controller setting to delete' },
87
+ },
88
+ required: ['id'],
89
+ },
90
+ _meta: {
91
+ requiredScopes: ['write:controller-settings'],
92
+ readOnly: false,
93
+ },
94
+ annotations: {
95
+ title: 'Delete a Controller Setting from the Ziti network.',
96
+ readOnlyHint: false,
97
+ destructiveHint: true,
98
+ idempotentHint: false,
99
+ openWorldHint: false,
100
+ },
101
+ },
102
+ {
103
+ name: 'updateControllerSetting',
104
+ description: 'Update an existing Ziti Controller Setting.',
105
+ inputSchema: {
106
+ type: 'object',
107
+ properties: {
108
+ id: { type: 'string', description: 'ID of the controller setting to update' },
109
+ oidcRedirectUris: {
110
+ type: 'string',
111
+ description: 'Comma-separated OIDC redirect URIs',
112
+ },
113
+ oidcPostLogoutUris: {
114
+ type: 'string',
115
+ description: 'Comma-separated OIDC post-logout URIs',
116
+ },
117
+ },
118
+ required: ['id'],
119
+ },
120
+ _meta: {
121
+ requiredScopes: ['write:controller-settings'],
122
+ readOnly: false,
123
+ },
124
+ annotations: {
125
+ title: 'Update an existing Controller Setting in the Ziti network.',
126
+ readOnlyHint: false,
127
+ destructiveHint: true,
128
+ idempotentHint: true,
129
+ openWorldHint: false,
130
+ },
131
+ },
132
+ {
133
+ name: 'detailControllerSettingEffective',
134
+ description: 'Get the effective (merged) value of a specific Controller Setting, reflecting all overrides',
135
+ inputSchema: {
136
+ type: 'object',
137
+ properties: {
138
+ id: { type: 'string', description: 'ID of the controller setting' },
139
+ },
140
+ required: ['id'],
141
+ },
142
+ _meta: {
143
+ requiredScopes: ['read:controller-settings'],
144
+ readOnly: true,
145
+ },
146
+ annotations: {
147
+ title: 'Get effective Controller Setting.',
148
+ readOnlyHint: true,
149
+ destructiveHint: false,
150
+ idempotentHint: true,
151
+ openWorldHint: false,
152
+ },
153
+ },
154
+ ];
155
+ function buildOidcBody(params) {
156
+ const redirectUris = params.oidcRedirectUris
157
+ ? params.oidcRedirectUris.split(',').map((u) => u.trim())
158
+ : undefined;
159
+ const postLogoutUris = params.oidcPostLogoutUris
160
+ ? params.oidcPostLogoutUris.split(',').map((u) => u.trim())
161
+ : undefined;
162
+ if (redirectUris || postLogoutUris) {
163
+ return { redirectUris, postLogoutUris };
164
+ }
165
+ return undefined;
166
+ }
167
+ // Define handlers for each Controller Setting tool
168
+ export const CONTROLLER_SETTING_HANDLERS = {
169
+ listControllerSettings: (request, config) => withAuthenticatedClient(request, config, 'list controller settings', (client, ztSession) => listControllerSettings({ client, headers: { 'zt-session': ztSession } })),
170
+ listControllerSetting: (request, config) => {
171
+ const { id } = request.parameters;
172
+ if (!id)
173
+ return Promise.resolve(createErrorResponse('Error: id is required'));
174
+ return withAuthenticatedClient(request, config, 'get controller setting', (client, ztSession) => detailControllerSetting({ path: { id }, client, headers: { 'zt-session': ztSession } }));
175
+ },
176
+ createControllerSetting: (request, config) => {
177
+ const { controllerId } = request.parameters;
178
+ if (!controllerId)
179
+ return Promise.resolve(createErrorResponse('Error: controllerId is required'));
180
+ return withAuthenticatedClient(request, config, 'create controller setting', (client, ztSession) => createControllerSetting({
181
+ body: {
182
+ controllerId,
183
+ oidc: buildOidcBody(request.parameters),
184
+ },
185
+ client,
186
+ headers: { 'zt-session': ztSession },
187
+ }));
188
+ },
189
+ deleteControllerSetting: (request, config) => {
190
+ const { id } = request.parameters;
191
+ if (!id)
192
+ return Promise.resolve(createErrorResponse('Error: id is required'));
193
+ return withAuthenticatedClient(request, config, 'delete controller setting', (client, ztSession) => deleteControllerSetting({ path: { id }, client, headers: { 'zt-session': ztSession } }));
194
+ },
195
+ updateControllerSetting: (request, config) => {
196
+ const { id } = request.parameters;
197
+ if (!id)
198
+ return Promise.resolve(createErrorResponse('Error: id is required'));
199
+ return withAuthenticatedClient(request, config, 'update controller setting', (client, ztSession) => patchControllerSetting({
200
+ path: { id },
201
+ body: {
202
+ oidc: buildOidcBody(request.parameters),
203
+ },
204
+ client,
205
+ headers: { 'zt-session': ztSession },
206
+ }));
207
+ },
208
+ detailControllerSettingEffective: (request, config) => {
209
+ const { id } = request.parameters;
210
+ if (!id)
211
+ return Promise.resolve(createErrorResponse('Error: id is required'));
212
+ return withAuthenticatedClient(request, config, 'get effective controller setting', (client, ztSession) => detailControllerSettingEffective({
213
+ path: { id },
214
+ client,
215
+ headers: { 'zt-session': ztSession },
216
+ }));
217
+ },
218
+ };
219
+ //# sourceMappingURL=controller-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller-settings.js","sourceRoot":"","sources":["../../src/tools/controller-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HandlerConfig, HandlerRequest, HandlerResponse, Tool } from '../utils/types.js';
2
+ export declare const CONTROLLER_TOOLS: Tool[];
3
+ export declare const CONTROLLER_HANDLERS: Record<string, (request: HandlerRequest, config: HandlerConfig) => Promise<HandlerResponse>>;
@@ -0,0 +1,89 @@
1
+ import { withAuthenticatedClient } from '../utils/authenticated-client.js';
2
+ import { listControllers, listRoot, listEnumeratedCapabilities, listSummary, } from '../utils/controller-client/sdk.gen.js';
3
+ // Define all available Controller tools
4
+ export const CONTROLLER_TOOLS = [
5
+ {
6
+ name: 'listControllers',
7
+ description: 'List all Controllers in the Ziti network',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {},
11
+ },
12
+ _meta: {
13
+ requiredScopes: ['read:controllers'],
14
+ readOnly: true,
15
+ },
16
+ annotations: {
17
+ title: 'List all Controllers in the Ziti network.',
18
+ readOnlyHint: true,
19
+ destructiveHint: false,
20
+ idempotentHint: true,
21
+ openWorldHint: false,
22
+ },
23
+ },
24
+ {
25
+ name: 'listRoot',
26
+ description: 'Get controller version and root information',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {},
30
+ },
31
+ _meta: {
32
+ requiredScopes: [],
33
+ readOnly: true,
34
+ },
35
+ annotations: {
36
+ title: 'Get controller root information.',
37
+ readOnlyHint: true,
38
+ destructiveHint: false,
39
+ idempotentHint: true,
40
+ openWorldHint: false,
41
+ },
42
+ },
43
+ {
44
+ name: 'listEnumeratedCapabilities',
45
+ description: 'List all capabilities supported by the Ziti controller',
46
+ inputSchema: {
47
+ type: 'object',
48
+ properties: {},
49
+ },
50
+ _meta: {
51
+ requiredScopes: [],
52
+ readOnly: true,
53
+ },
54
+ annotations: {
55
+ title: 'List controller capabilities.',
56
+ readOnlyHint: true,
57
+ destructiveHint: false,
58
+ idempotentHint: true,
59
+ openWorldHint: false,
60
+ },
61
+ },
62
+ {
63
+ name: 'listSummary',
64
+ description: 'Get a summary of entity counts across the Ziti network',
65
+ inputSchema: {
66
+ type: 'object',
67
+ properties: {},
68
+ },
69
+ _meta: {
70
+ requiredScopes: ['read:controllers'],
71
+ readOnly: true,
72
+ },
73
+ annotations: {
74
+ title: 'Get network entity summary.',
75
+ readOnlyHint: true,
76
+ destructiveHint: false,
77
+ idempotentHint: true,
78
+ openWorldHint: false,
79
+ },
80
+ },
81
+ ];
82
+ // Define handlers for each Controller tool
83
+ export const CONTROLLER_HANDLERS = {
84
+ listControllers: (request, config) => withAuthenticatedClient(request, config, 'list controllers', (client, ztSession) => listControllers({ client, headers: { 'zt-session': ztSession } })),
85
+ listRoot: (request, config) => withAuthenticatedClient(request, config, 'get root info', (client, ztSession) => listRoot({ client, headers: { 'zt-session': ztSession } })),
86
+ listEnumeratedCapabilities: (request, config) => withAuthenticatedClient(request, config, 'list capabilities', (client, ztSession) => listEnumeratedCapabilities({ client, headers: { 'zt-session': ztSession } })),
87
+ listSummary: (request, config) => withAuthenticatedClient(request, config, 'get summary', (client, ztSession) => listSummary({ client, headers: { 'zt-session': ztSession } })),
88
+ };
89
+ //# sourceMappingURL=controllers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/tools/controllers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,QAAQ,EACR,0BAA0B,EAC1B,WAAW,GACZ,MAAM,uCAAuC,CAAC;AAE/C,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,KAAK,EAAE;YACL,cAAc,EAAE,CAAC,kBAAkB,CAAC;YACpC,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,2CAA2C;YAClD,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,KAAK,EAAE;YACL,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,kCAAkC;YACzC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,KAAK,EAAE;YACL,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,+BAA+B;YACtC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,KAAK,EAAE;YACL,cAAc,EAAE,CAAC,kBAAkB,CAAC;YACpC,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,6BAA6B;YACpC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAG5B;IACF,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CACjF,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAClE;IAEH,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC5B,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC9E,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAC3D;IAEH,0BAA0B,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC9C,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAClF,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAC7E;IAEH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC/B,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC5E,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAC9D;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HandlerConfig, HandlerRequest, HandlerResponse, Tool } from '../utils/types.js';
2
+ export declare const EDGE_ROUTER_POLICY_TOOLS: Tool[];
3
+ export declare const EDGE_ROUTER_POLICY_HANDLERS: Record<string, (request: HandlerRequest, config: HandlerConfig) => Promise<HandlerResponse>>;