kubeview-mcp 1.4.7 → 1.5.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 +12 -1
- package/README.md +2 -2
- package/dist/src/kubernetes/resources/PodOperations.d.ts +4 -0
- package/dist/src/kubernetes/resources/PodOperations.d.ts.map +1 -1
- package/dist/src/kubernetes/resources/PodOperations.js +2 -0
- package/dist/src/kubernetes/resources/PodOperations.js.map +1 -1
- package/dist/src/plugins/ArgoCDToolsPlugin.d.ts +3 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.d.ts.map +1 -1
- package/dist/src/plugins/ArgoCDToolsPlugin.js +44 -4
- package/dist/src/plugins/ArgoCDToolsPlugin.js.map +1 -1
- package/dist/src/plugins/ArgoToolsPlugin.d.ts +4 -1
- package/dist/src/plugins/ArgoToolsPlugin.d.ts.map +1 -1
- package/dist/src/plugins/ArgoToolsPlugin.js +49 -7
- package/dist/src/plugins/ArgoToolsPlugin.js.map +1 -1
- package/dist/src/plugins/KubernetesToolsPlugin.d.ts +6 -2
- package/dist/src/plugins/KubernetesToolsPlugin.d.ts.map +1 -1
- package/dist/src/plugins/KubernetesToolsPlugin.js +4 -0
- package/dist/src/plugins/KubernetesToolsPlugin.js.map +1 -1
- package/dist/src/server/MCPServer.d.ts +4 -0
- package/dist/src/server/MCPServer.d.ts.map +1 -1
- package/dist/src/server/MCPServer.js +10 -0
- package/dist/src/server/MCPServer.js.map +1 -1
- package/dist/src/tools/RunCodeTool.d.ts.map +1 -1
- package/dist/src/tools/RunCodeTool.js +24 -0
- package/dist/src/tools/RunCodeTool.js.map +1 -1
- package/dist/src/tools/argo/ArgoCronListTool.d.ts +2 -1
- package/dist/src/tools/argo/ArgoCronListTool.d.ts.map +1 -1
- package/dist/src/tools/argo/ArgoCronListTool.js +52 -5
- package/dist/src/tools/argo/ArgoCronListTool.js.map +1 -1
- package/dist/src/tools/argo/ArgoGetTool.d.ts +2 -1
- package/dist/src/tools/argo/ArgoGetTool.d.ts.map +1 -1
- package/dist/src/tools/argo/ArgoGetTool.js +40 -5
- package/dist/src/tools/argo/ArgoGetTool.js.map +1 -1
- package/dist/src/tools/argo/ArgoListTool.d.ts +2 -1
- package/dist/src/tools/argo/ArgoListTool.d.ts.map +1 -1
- package/dist/src/tools/argo/ArgoListTool.js +111 -7
- package/dist/src/tools/argo/ArgoListTool.js.map +1 -1
- package/dist/src/tools/argo/ArgoLogsTool.d.ts +2 -1
- package/dist/src/tools/argo/ArgoLogsTool.d.ts.map +1 -1
- package/dist/src/tools/argo/ArgoLogsTool.js +149 -5
- package/dist/src/tools/argo/ArgoLogsTool.js.map +1 -1
- package/dist/src/tools/argo/BaseTool.d.ts +17 -1
- package/dist/src/tools/argo/BaseTool.d.ts.map +1 -1
- package/dist/src/tools/argo/BaseTool.js +33 -0
- package/dist/src/tools/argo/BaseTool.js.map +1 -1
- package/dist/src/tools/argo/index.d.ts +1 -1
- package/dist/src/tools/argo/index.d.ts.map +1 -1
- package/dist/src/tools/argo/index.js +1 -1
- package/dist/src/tools/argo/index.js.map +1 -1
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts +6 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts.map +1 -1
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.js +294 -4
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.js.map +1 -1
- package/dist/src/tools/argocd/ArgoCDAppTool.d.ts +2 -1
- package/dist/src/tools/argocd/ArgoCDAppTool.d.ts.map +1 -1
- package/dist/src/tools/argocd/ArgoCDAppTool.js +585 -30
- package/dist/src/tools/argocd/ArgoCDAppTool.js.map +1 -1
- package/dist/src/tools/argocd/BaseTool.d.ts +7 -1
- package/dist/src/tools/argocd/BaseTool.d.ts.map +1 -1
- package/dist/src/tools/argocd/BaseTool.js +5 -0
- package/dist/src/tools/argocd/BaseTool.js.map +1 -1
- package/dist/src/utils/McpToolResult.d.ts +4 -0
- package/dist/src/utils/McpToolResult.d.ts.map +1 -0
- package/dist/src/utils/McpToolResult.js +29 -0
- package/dist/src/utils/McpToolResult.js.map +1 -0
- package/dist/src/utils/toolNamespaces.d.ts.map +1 -1
- package/dist/src/utils/toolNamespaces.js +2 -0
- package/dist/src/utils/toolNamespaces.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +2 -2
- package/dist/tests/argo/ArgoGetTool.test.js +125 -56
- package/dist/tests/argo/ArgoGetTool.test.js.map +1 -1
- package/dist/tests/tools/argocd/ArgoCDAppLogsTool.test.d.ts +2 -0
- package/dist/tests/tools/argocd/ArgoCDAppLogsTool.test.d.ts.map +1 -0
- package/dist/tests/tools/argocd/ArgoCDAppLogsTool.test.js +108 -0
- package/dist/tests/tools/argocd/ArgoCDAppLogsTool.test.js.map +1 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,12 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
## [1.
|
|
10
|
+
## [1.5.0] - 2025-12-21
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Add direct Kubernetes API support for Argo/ArgoCD tools**
|
|
11
14
|
|
|
12
15
|
### Changed
|
|
16
|
+
- **Refactor Argo tools to use direct Kubernetes API support and enhance error handling**
|
|
17
|
+
- **Refactor ArgoCD tools to remove ArgoCDAppLogsTool and enhance ArgoCDAppTool**
|
|
18
|
+
- **Release v1.5.0**
|
|
13
19
|
- **Update README.md to enhance project description and add link to the article**
|
|
14
20
|
|
|
15
21
|
|
|
22
|
+
## [1.4.7] - 2025-12-03
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- **Update README.md to enhance project description and add link to the article**
|
|
26
|
+
|
|
16
27
|
## [1.4.6] - 2025-11-30
|
|
17
28
|
|
|
18
29
|
### Changed
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Learn more about the benefits of code mode and implementation in [Evicting MCP t
|
|
|
15
15
|
- **🛡️ Read-Only & Safe**: Designed for production safety with zero write access and sensitive data masking.
|
|
16
16
|
- **☸️ Kubernetes Integration**: List/get resources, fetch metrics, stream logs and events, execute commands, and tools to diagnose network issues.
|
|
17
17
|
- **📦 Helm Support**: Inspect releases, values, manifests, and history.
|
|
18
|
-
- **🐙 Argo Ecosystem**: Manage Argo Workflows and Argo CD applications.
|
|
18
|
+
- **🐙 Argo Ecosystem**: Manage Argo Workflows and Argo CD applications using direct Kubernetes API or CLI.
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -25,7 +25,7 @@ Learn more about the benefits of code mode and implementation in [Evicting MCP t
|
|
|
25
25
|
|
|
26
26
|
- Node.js ≥ 18
|
|
27
27
|
- Access to a Kubernetes cluster
|
|
28
|
-
-
|
|
28
|
+
- Optionally, CLIs installed in current $PATH: `helm`, `argo`, `argocd`
|
|
29
29
|
|
|
30
30
|
### Installation
|
|
31
31
|
|
|
@@ -26,6 +26,10 @@ export interface PodOperationOptions extends ResourceOperationOptions {
|
|
|
26
26
|
* Timestamps in log output
|
|
27
27
|
*/
|
|
28
28
|
timestamps?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Return logs since a specific time (in seconds)
|
|
31
|
+
*/
|
|
32
|
+
sinceSeconds?: number;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* Pod operations implementation - Read-only operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodOperations.d.ts","sourceRoot":"","sources":["../../../../src/kubernetes/resources/PodOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,EAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACnE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PodOperations.d.ts","sourceRoot":"","sources":["../../../../src/kubernetes/resources/PodOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,EAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACnE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,sBAAsB,CAAC,KAAK,CAAC;gBAClD,MAAM,EAAE,gBAAgB;IAIpC;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC;IAI9E;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC;IAI9E;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5F;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAa/E;;OAEG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IA2CtE;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,MAAM,IAAI;IAqDzF;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB3E;;OAEG;IACH,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,IAAI;IAqDb;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC;IAiBhF;;OAEG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAC/D,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC;YACV,QAAQ,EAAE,GAAG,CAAC;YACd,MAAM,EAAE,GAAG,CAAC;YACZ,IAAI,EAAE,GAAG,CAAC;SACX,CAAC,CAAC;KACJ,CAAC;IA4CF;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,GAAG,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,EAAE,GAAG,CAAC;KACb,CAAC;IAsCF,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,oBAAoB;CAK7B"}
|
|
@@ -152,6 +152,7 @@ export class PodOperations extends BaseResourceOperations {
|
|
|
152
152
|
tailLines: options?.tailLines,
|
|
153
153
|
previous: options?.previous,
|
|
154
154
|
timestamps: options?.timestamps,
|
|
155
|
+
sinceSeconds: options?.sinceSeconds,
|
|
155
156
|
});
|
|
156
157
|
return response;
|
|
157
158
|
}
|
|
@@ -175,6 +176,7 @@ export class PodOperations extends BaseResourceOperations {
|
|
|
175
176
|
tailLines: options?.tailLines,
|
|
176
177
|
previous: options?.previous,
|
|
177
178
|
timestamps: options?.timestamps,
|
|
179
|
+
sinceSeconds: options?.sinceSeconds,
|
|
178
180
|
});
|
|
179
181
|
const pollLogs = async () => {
|
|
180
182
|
if (aborted)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodOperations.js","sourceRoot":"","sources":["../../../../src/kubernetes/resources/PodOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EACL,sBAAsB,EAGtB,cAAc,GACf,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"PodOperations.js","sourceRoot":"","sources":["../../../../src/kubernetes/resources/PodOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EACL,sBAAsB,EAGtB,cAAc,GACf,MAAM,8BAA8B,CAAC;AAsCtC;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,sBAA6B;IAC9D,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAW,EAAE,QAAmC;QAC3D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAW,EAAE,QAAmC;QAC3D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,MAAW,EAAE,QAAmC;QACzE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAmC;QAC7D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAkC;QACxD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACxD,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAkC;QAC3C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,QAAQ,CAAC;YACb,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBAClD,SAAS;oBACT,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;oBACpD,SAAS,EAAE,WAAW,CAAC,QAAQ;oBAC/B,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,eAAe,EAAE,WAAW,CAAC,eAAe;oBAC5C,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;oBACtD,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;oBAChD,cAAc,EAAE,WAAW,CAAC,cAAc;oBAC1C,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC;oBACxD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;oBACpD,SAAS,EAAE,WAAW,CAAC,QAAQ;oBAC/B,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,eAAe,EAAE,WAAW,CAAC,eAAe;oBAC5C,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;oBACtD,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;oBAChD,cAAc,EAAE,WAAW,CAAC,cAAc;oBAC1C,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAkC,EAAE,OAAkC;QAC1E,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QAErC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAC3B,WAAW,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAC9B,CAAC,IAAY,EAAE,GAAc,EAAE,EAAE;oBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,QAAQ,CAAC;4BACP,IAAI,EAAE,IAAsB;4BAC5B,MAAM,EAAE,GAAG;yBACZ,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;oBACX,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;wBACnD,QAAQ,CAAC;4BACP,IAAI,EAAE,cAAc,CAAC,KAAK;4BAC1B,MAAM,EAAE,GAAG;yBACZ,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CACF,CAAC;gBAEF,gCAAgC;gBAChC,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;gBAC/D,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,kBAAkB;QAClB,IAAI,OAAY,CAAC;QACjB,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAA6B;QACvD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBAC3D,IAAI;gBACJ,SAAS;gBACT,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,YAAY,EAAE,OAAO,EAAE,YAAY;aACpC,CAAC,CAAC;YACH,OAAO,QAA6B,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CACR,IAAY,EACZ,MAA8B,EAC9B,OAA6B;QAE7B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;oBACzD,IAAI;oBACJ,SAAS;oBACT,SAAS,EAAE,OAAO,EAAE,SAAS;oBAC7B,MAAM,EAAE,OAAO,EAAE,MAAM;oBACvB,SAAS,EAAE,OAAO,EAAE,SAAS;oBAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;oBAC3B,UAAU,EAAE,OAAO,EAAE,UAAU;oBAC/B,YAAY,EAAE,OAAO,EAAE,YAAY;iBACpC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;oBAC1B,IAAI,OAAO;wBAAE,OAAO;oBAEpB,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;4BACpC,GAAG,OAAO;4BACV,MAAM,EAAE,KAAK;yBACd,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,+BAA+B,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;oBACvE,CAAC;oBAED,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB;oBACrD,CAAC;gBACH,CAAC,CAAC;gBAEF,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpB,QAAQ,EAAE,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAA2B,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,uCAAuC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;gBAC7E,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,WAAW,EAAE,CAAC;QAEd,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAAkC;QAC/D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;YAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,yBAAyB,CAAC;gBAChE,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,SAAS;gBAClB,SAAS;gBACT,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAkC;QASpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;YAE9C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3C,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;gBAC1C,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK;oBACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK;oBACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM;oBAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS;oBAChC,iBAAiB,EACf,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;wBAC/C,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,KAAK,EAAE,EAAE,CAAC,KAAK;qBAChB,CAAC,CAAC,IAAI,EAAE;iBACZ;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ;oBAC5B,UAAU,EACR,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBACrC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;qBAC7B,CAAC,CAAC,IAAI,EAAE;iBACZ;aACF,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,SAAS;gBACT,IAAI;aACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,OAAkC;QAOlC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE1C,OAAO;gBACL,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;gBAC1C,IAAI,EAAE;oBACJ,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ;oBAC5B,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,kBAAkB;oBAChD,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa;oBACtC,UAAU,EACR,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBACrC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;wBACpB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;wBAChB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;wBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE;qBACnC,CAAC,CAAC,IAAI,EAAE;oBACX,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;iBACjC;gBACD,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK;oBACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK;oBACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM;oBAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS;oBAChC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE;iBACvD;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,QAAa;QAC1C,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI;YAC7B,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS;YACvC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG;YAC3B,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,eAAe;YACnD,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU;YACzC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;YACvD,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;YACvC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE;SAClD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,QAAa;QACxC,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE;SAC9C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -6,6 +6,7 @@ import { BaseToolsPlugin } from './BaseToolsPlugin.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class ArgoCDToolsPlugin extends BaseToolsPlugin<ArgoCDBaseTool> {
|
|
8
8
|
name: string;
|
|
9
|
+
private kubernetesPlugin?;
|
|
9
10
|
protected createToolInstances(): ArgoCDBaseTool[];
|
|
10
11
|
static getCommandNames(): string[];
|
|
11
12
|
private static createLogger;
|
|
@@ -13,6 +14,8 @@ export declare class ArgoCDToolsPlugin extends BaseToolsPlugin<ArgoCDBaseTool> {
|
|
|
13
14
|
protected validate(): Promise<void>;
|
|
14
15
|
static executeCommand(commandName: string, params: Record<string, unknown>): Promise<any>;
|
|
15
16
|
initialize(server: MCPServer): Promise<void>;
|
|
17
|
+
private getKubernetesClient;
|
|
18
|
+
protected getHandlerForTool(tool: ArgoCDBaseTool): (params: any) => Promise<any>;
|
|
16
19
|
shutdown(): Promise<void>;
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=ArgoCDToolsPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgoCDToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/ArgoCDToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArgoCDToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/ArgoCDToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe,CAAC,cAAc,CAAC;IACpE,IAAI,SAAkB;IAEtB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,SAAS,CAAC,mBAAmB,IAAI,cAAc,EAAE;IAIjD,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B,SAAS,CAAC,UAAU,IAAI,OAAO;cAOf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;WAI5B,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CzF,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAUpC,mBAAmB;IAYjC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;IAU1E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import winston from 'winston';
|
|
2
|
-
import {
|
|
2
|
+
import { ArgoCDAppTool } from '../tools/argocd/index.js';
|
|
3
3
|
import { BaseToolsPlugin } from './BaseToolsPlugin.js';
|
|
4
|
+
import { KubernetesToolsPlugin } from './KubernetesToolsPlugin.js';
|
|
4
5
|
/**
|
|
5
6
|
* Plugin that registers ArgoCD tools with the MCP server
|
|
6
7
|
*/
|
|
7
8
|
export class ArgoCDToolsPlugin extends BaseToolsPlugin {
|
|
8
9
|
name = 'argocd-tools';
|
|
10
|
+
kubernetesPlugin;
|
|
9
11
|
createToolInstances() {
|
|
10
12
|
return [new ArgoCDAppTool()];
|
|
11
13
|
}
|
|
@@ -32,24 +34,35 @@ export class ArgoCDToolsPlugin extends BaseToolsPlugin {
|
|
|
32
34
|
process.env.MCP_DISABLE_ARGOCD_PLUGIN === '1');
|
|
33
35
|
}
|
|
34
36
|
async validate() {
|
|
35
|
-
|
|
37
|
+
return;
|
|
36
38
|
}
|
|
37
39
|
static async executeCommand(commandName, params) {
|
|
38
40
|
if (process.env.MCP_DISABLE_ARGOCD_PLUGIN === 'true' ||
|
|
39
41
|
process.env.MCP_DISABLE_ARGOCD_PLUGIN === '1') {
|
|
40
42
|
throw new Error('ArgoCD plugin is disabled');
|
|
41
43
|
}
|
|
42
|
-
await validateArgoCDCLI();
|
|
43
44
|
const plugin = new ArgoCDToolsPlugin();
|
|
44
45
|
plugin.commands = plugin.createToolInstances();
|
|
45
46
|
plugin.buildCommandMap();
|
|
47
|
+
let client;
|
|
48
|
+
try {
|
|
49
|
+
const k8sPlugin = new KubernetesToolsPlugin();
|
|
50
|
+
client = await k8sPlugin.createOrReuseClient();
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
client = undefined;
|
|
54
|
+
}
|
|
46
55
|
const logger = this.createLogger();
|
|
47
56
|
if (logger) {
|
|
48
57
|
logger.info(`Executing ArgoCD command: ${commandName}`, { params });
|
|
49
58
|
}
|
|
50
59
|
try {
|
|
51
60
|
const timeoutMs = plugin.computeGlobalTimeoutMs(params);
|
|
52
|
-
const
|
|
61
|
+
const cmd = plugin.commandMap.get(commandName);
|
|
62
|
+
if (!cmd)
|
|
63
|
+
throw new Error(`Unknown tool: ${commandName}`);
|
|
64
|
+
const execPromise = cmd.execute(params, client);
|
|
65
|
+
const result = await plugin.withTimeout(execPromise, timeoutMs, commandName);
|
|
53
66
|
if (logger) {
|
|
54
67
|
logger.debug(`Command ${commandName} completed successfully`);
|
|
55
68
|
}
|
|
@@ -63,8 +76,35 @@ export class ArgoCDToolsPlugin extends BaseToolsPlugin {
|
|
|
63
76
|
}
|
|
64
77
|
}
|
|
65
78
|
async initialize(server) {
|
|
79
|
+
const k8sPlugin = server.getPlugin('kubernetes-tools');
|
|
80
|
+
if (k8sPlugin instanceof KubernetesToolsPlugin) {
|
|
81
|
+
this.kubernetesPlugin = k8sPlugin;
|
|
82
|
+
this.logger = server.getLogger();
|
|
83
|
+
this.logger.info('ArgoCDToolsPlugin will reuse Kubernetes client from KubernetesToolsPlugin');
|
|
84
|
+
}
|
|
66
85
|
return super.initialize(server);
|
|
67
86
|
}
|
|
87
|
+
async getKubernetesClient() {
|
|
88
|
+
if (this.kubernetesPlugin) {
|
|
89
|
+
try {
|
|
90
|
+
return await this.kubernetesPlugin.createOrReuseClient();
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
this.logger?.debug('Failed to get Kubernetes client from KubernetesToolsPlugin', { error });
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
getHandlerForTool(tool) {
|
|
100
|
+
return async (params) => {
|
|
101
|
+
const timeoutMs = this.computeGlobalTimeoutMs(params);
|
|
102
|
+
const client = await this.getKubernetesClient();
|
|
103
|
+
const execPromise = tool.execute(params, client);
|
|
104
|
+
const label = tool.tool?.name || 'tool';
|
|
105
|
+
return this.withTimeout(execPromise, timeoutMs, label);
|
|
106
|
+
};
|
|
107
|
+
}
|
|
68
108
|
async shutdown() {
|
|
69
109
|
this.logger?.info('ArgoCDToolsPlugin shutting down...');
|
|
70
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgoCDToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ArgoCDToolsPlugin.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ArgoCDToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ArgoCDToolsPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,16 @@ import { BaseToolsPlugin } from './BaseToolsPlugin.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class ArgoToolsPlugin extends BaseToolsPlugin<ArgoBaseTool> {
|
|
8
8
|
name: string;
|
|
9
|
+
private kubernetesPlugin?;
|
|
9
10
|
protected createToolInstances(): ArgoBaseTool[];
|
|
10
11
|
static getCommandNames(): string[];
|
|
11
12
|
private static createLogger;
|
|
12
13
|
protected isDisabled(): boolean;
|
|
13
14
|
protected validate(): Promise<void>;
|
|
14
|
-
static executeCommand(commandName: string, params: Record<string, unknown>): Promise<any>;
|
|
15
15
|
initialize(server: MCPServer): Promise<void>;
|
|
16
|
+
private getKubernetesClient;
|
|
17
|
+
protected getHandlerForTool(tool: ArgoBaseTool): (params: any) => Promise<any>;
|
|
18
|
+
static executeCommand(commandName: string, params: Record<string, unknown>): Promise<any>;
|
|
16
19
|
shutdown(): Promise<void>;
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=ArgoToolsPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgoToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/ArgoToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArgoToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/ArgoToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,OAAO,EAAE,KAAK,YAAY,EAA2C,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAChE,IAAI,SAAgB;IAEpB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,SAAS,CAAC,mBAAmB,IAAI,YAAY,EAAE;IAI/C,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B,SAAS,CAAC,UAAU,IAAI,OAAO;cAMf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAWpC,mBAAmB;IAajC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;WAUjE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CzF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { KubernetesToolsPlugin } from './KubernetesToolsPlugin.js';
|
|
1
2
|
import winston from 'winston';
|
|
2
|
-
import {
|
|
3
|
+
import { ArgoListTool, ArgoLogsTool, ArgoGetTool } from '../tools/argo/index.js';
|
|
3
4
|
import { BaseToolsPlugin } from './BaseToolsPlugin.js';
|
|
4
5
|
/**
|
|
5
6
|
* Plugin that registers Argo tools with the MCP server
|
|
6
7
|
*/
|
|
7
8
|
export class ArgoToolsPlugin extends BaseToolsPlugin {
|
|
8
9
|
name = 'argo-tools';
|
|
10
|
+
kubernetesPlugin;
|
|
9
11
|
createToolInstances() {
|
|
10
12
|
return [new ArgoListTool(), new ArgoLogsTool(), new ArgoGetTool()];
|
|
11
13
|
}
|
|
@@ -31,24 +33,67 @@ export class ArgoToolsPlugin extends BaseToolsPlugin {
|
|
|
31
33
|
return (process.env.MCP_DISABLE_ARGO_PLUGIN === 'true' || process.env.MCP_DISABLE_ARGO_PLUGIN === '1');
|
|
32
34
|
}
|
|
33
35
|
async validate() {
|
|
34
|
-
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
async initialize(server) {
|
|
39
|
+
// Try to get KubernetesToolsPlugin to reuse its client
|
|
40
|
+
const k8sPlugin = server.getPlugin('kubernetes-tools');
|
|
41
|
+
if (k8sPlugin instanceof KubernetesToolsPlugin) {
|
|
42
|
+
this.kubernetesPlugin = k8sPlugin;
|
|
43
|
+
this.logger = server.getLogger();
|
|
44
|
+
this.logger.info('ArgoToolsPlugin will reuse Kubernetes client from KubernetesToolsPlugin');
|
|
45
|
+
}
|
|
46
|
+
return super.initialize(server);
|
|
47
|
+
}
|
|
48
|
+
async getKubernetesClient() {
|
|
49
|
+
if (this.kubernetesPlugin) {
|
|
50
|
+
try {
|
|
51
|
+
return await this.kubernetesPlugin.createOrReuseClient();
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
// If client creation fails, tools will fallback to CLI
|
|
55
|
+
this.logger?.debug('Failed to get Kubernetes client from KubernetesToolsPlugin', { error });
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
getHandlerForTool(tool) {
|
|
62
|
+
return async (params) => {
|
|
63
|
+
const timeoutMs = this.computeGlobalTimeoutMs(params);
|
|
64
|
+
const client = await this.getKubernetesClient();
|
|
65
|
+
const execPromise = tool.execute(params, client);
|
|
66
|
+
const label = tool.tool?.name || 'tool';
|
|
67
|
+
return this.withTimeout(execPromise, timeoutMs, label);
|
|
68
|
+
};
|
|
35
69
|
}
|
|
36
70
|
static async executeCommand(commandName, params) {
|
|
37
71
|
if (process.env.MCP_DISABLE_ARGO_PLUGIN === 'true' ||
|
|
38
72
|
process.env.MCP_DISABLE_ARGO_PLUGIN === '1') {
|
|
39
73
|
throw new Error('Argo plugin is disabled');
|
|
40
74
|
}
|
|
41
|
-
await validateArgoCLI();
|
|
42
75
|
const plugin = new ArgoToolsPlugin();
|
|
43
76
|
plugin.commands = plugin.createToolInstances();
|
|
44
77
|
plugin.buildCommandMap();
|
|
78
|
+
let client;
|
|
79
|
+
try {
|
|
80
|
+
const k8sPlugin = new KubernetesToolsPlugin();
|
|
81
|
+
client = await k8sPlugin.createOrReuseClient();
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
client = undefined;
|
|
85
|
+
}
|
|
45
86
|
const logger = this.createLogger();
|
|
46
87
|
if (logger) {
|
|
47
88
|
logger.info(`Executing Argo command: ${commandName}`, { params });
|
|
48
89
|
}
|
|
49
90
|
try {
|
|
50
91
|
const timeoutMs = plugin.computeGlobalTimeoutMs(params);
|
|
51
|
-
const
|
|
92
|
+
const cmd = plugin.commandMap.get(commandName);
|
|
93
|
+
if (!cmd)
|
|
94
|
+
throw new Error(`Unknown tool: ${commandName}`);
|
|
95
|
+
const execPromise = cmd.execute(params, client);
|
|
96
|
+
const result = await plugin.withTimeout(execPromise, timeoutMs, commandName);
|
|
52
97
|
if (logger) {
|
|
53
98
|
logger.debug(`Command ${commandName} completed successfully`);
|
|
54
99
|
}
|
|
@@ -61,9 +106,6 @@ export class ArgoToolsPlugin extends BaseToolsPlugin {
|
|
|
61
106
|
throw error;
|
|
62
107
|
}
|
|
63
108
|
}
|
|
64
|
-
async initialize(server) {
|
|
65
|
-
return super.initialize(server);
|
|
66
|
-
}
|
|
67
109
|
async shutdown() {
|
|
68
110
|
this.logger?.info('ArgoToolsPlugin shutting down...');
|
|
69
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgoToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ArgoToolsPlugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArgoToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ArgoToolsPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MCPServer } from '../server/MCPServer.js';
|
|
2
|
-
import { KubernetesClientConfig } from '../kubernetes/KubernetesClient.js';
|
|
2
|
+
import { KubernetesClient, KubernetesClientConfig } from '../kubernetes/KubernetesClient.js';
|
|
3
3
|
import { type BaseTool } from '../tools/kubernetes/index.js';
|
|
4
4
|
import { BaseToolsPlugin } from './BaseToolsPlugin.js';
|
|
5
5
|
/**
|
|
@@ -32,7 +32,11 @@ export declare class KubernetesToolsPlugin extends BaseToolsPlugin<BaseTool> {
|
|
|
32
32
|
* @returns The result of the command execution
|
|
33
33
|
*/
|
|
34
34
|
static executeCommand(commandName: string, params: Record<string, unknown>): Promise<any>;
|
|
35
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Get or create a Kubernetes client, reusing cached instances when possible.
|
|
37
|
+
* This method can be called by other plugins to share the same client instance.
|
|
38
|
+
*/
|
|
39
|
+
createOrReuseClient(): Promise<KubernetesClient>;
|
|
36
40
|
/** Build Kubernetes client config from environment variables */
|
|
37
41
|
private buildConfigFromEnv;
|
|
38
42
|
initialize(server: MCPServer): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/KubernetesToolsPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"KubernetesToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/KubernetesToolsPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE7F,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,eAAe,CAAC,QAAQ,CAAC;IAOtD,OAAO,CAAC,MAAM,CAAC;IAN3B,IAAI,SAAsB;IAE1B,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,WAAW,CAAU;gBAET,MAAM,CAAC,EAAE,sBAAsB,YAAA;IAOnD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,QAAQ,EAAE;IAa3C;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B;;;;;OAKG;WACU,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA+B/F;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA8B7D,gEAAgE;IAChE,OAAO,CAAC,kBAAkB;IAepB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BlD;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxC;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;IAcxE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
|
|
@@ -91,6 +91,10 @@ export class KubernetesToolsPlugin extends BaseToolsPlugin {
|
|
|
91
91
|
// @ts-ignore - accessing protected method from static context via instance
|
|
92
92
|
return plugin.withTimeout(execPromise, timeoutMs, cmd.tool?.name || commandName);
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Get or create a Kubernetes client, reusing cached instances when possible.
|
|
96
|
+
* This method can be called by other plugins to share the same client instance.
|
|
97
|
+
*/
|
|
94
98
|
async createOrReuseClient() {
|
|
95
99
|
try {
|
|
96
100
|
// Reuse client by current context if available and not expired
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/KubernetesToolsPlugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"KubernetesToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/KubernetesToolsPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,10 @@ export declare class MCPServer {
|
|
|
100
100
|
* Load and initialize a plugin
|
|
101
101
|
*/
|
|
102
102
|
loadPlugin(plugin: MCPPlugin): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Get a loaded plugin by name
|
|
105
|
+
*/
|
|
106
|
+
getPlugin(name: string): MCPPlugin | undefined;
|
|
103
107
|
/**
|
|
104
108
|
* Start the MCP server
|
|
105
109
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MCPServer.d.ts","sourceRoot":"","sources":["../../../src/server/MCPServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAWL,IAAI,EACJ,QAAQ,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"MCPServer.d.ts","sourceRoot":"","sources":["../../../src/server/MCPServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { CallToolRequestSchema, ListResourcesRequestSchema, ListResourceTemplate
|
|
|
4
4
|
import winston from 'winston';
|
|
5
5
|
import TransportStream from 'winston-transport';
|
|
6
6
|
import { isSensitiveMaskEnabled, maskObjectDeep } from '../utils/SensitiveData.js';
|
|
7
|
+
import { isMcpToolResult } from '../utils/McpToolResult.js';
|
|
7
8
|
const LOG_LEVEL_ORDER = [
|
|
8
9
|
'debug',
|
|
9
10
|
'info',
|
|
@@ -306,6 +307,9 @@ export class MCPServer {
|
|
|
306
307
|
});
|
|
307
308
|
try {
|
|
308
309
|
const result = await toolEntry.handler(request.params.arguments);
|
|
310
|
+
if (isMcpToolResult(result)) {
|
|
311
|
+
return result;
|
|
312
|
+
}
|
|
309
313
|
const outputPayload = isSensitiveMaskEnabled() ? maskObjectDeep(result) : result;
|
|
310
314
|
return {
|
|
311
315
|
content: [
|
|
@@ -452,6 +456,12 @@ export class MCPServer {
|
|
|
452
456
|
throw error;
|
|
453
457
|
}
|
|
454
458
|
}
|
|
459
|
+
/**
|
|
460
|
+
* Get a loaded plugin by name
|
|
461
|
+
*/
|
|
462
|
+
getPlugin(name) {
|
|
463
|
+
return this.plugins.get(name);
|
|
464
|
+
}
|
|
455
465
|
/**
|
|
456
466
|
* Start the MCP server
|
|
457
467
|
*/
|