@prodisco/k8s-mcp 0.1.3 → 0.1.4
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/README.md +93 -32
- package/dist/server.js +35 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/kubernetes/metadata.d.ts +105 -3
- package/dist/tools/kubernetes/metadata.d.ts.map +1 -1
- package/dist/tools/kubernetes/searchTools.d.ts +133 -6
- package/dist/tools/kubernetes/searchTools.d.ts.map +1 -1
- package/dist/tools/kubernetes/searchTools.js +766 -85
- package/dist/tools/kubernetes/searchTools.js.map +1 -1
- package/dist/util/summary.d.ts +2 -2
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
# ProDisco (Progressive Disclosure Kubernetes MCP Server)
|
|
2
2
|
|
|
3
|
-
ProDisco gives AI agents Kubernetes access
|
|
3
|
+
ProDisco gives AI agents **Kubernetes access + Prometheus metrics analysis** through a single unified search tool. It follows Anthropic's [Progressive Disclosure](https://www.anthropic.com/engineering/code-execution-with-mcp) pattern: the MCP server exposes search tools which surface TypeScript modules, agents discover them to write code, and only the final console output returns to the agent.
|
|
4
|
+
|
|
5
|
+
**One tool, two domains:**
|
|
6
|
+
- **Kubernetes Operations** - Discover API methods from `@kubernetes/client-node` to manage pods, deployments, services, and more
|
|
7
|
+
- **Prometheus Metrics** - Discover methods from `prometheus-query` for PromQL queries and metrics analysis
|
|
4
8
|
|
|
5
9
|
## Why Progressive Disclosure Matters
|
|
6
10
|
|
|
7
|
-
Anthropic
|
|
11
|
+
Anthropic's latest guidance explains why MCP servers should progressively reveal capabilities instead of dumping every tool definition into the model context. When agents explore a filesystem of TypeScript modules, they only load what they need and process data inside the execution environment, then return a concise result to the chat. This keeps token usage low, improves latency, and avoids copying large intermediate payloads through the model ([source](https://www.anthropic.com/engineering/code-execution-with-mcp)).
|
|
8
12
|
|
|
9
|
-
ProDisco goes a step further: instead of exposing custom TypeScript modules, it provides a structured parameter search tool that
|
|
13
|
+
ProDisco goes a step further: instead of exposing custom TypeScript modules, it provides a structured parameter search tool that dynamically extracts methods from upstream libraries using TypeScript AST parsing. This means:
|
|
14
|
+
- **Zero maintenance** - Methods are extracted directly from library `.d.ts` files
|
|
15
|
+
- **Always current** - Upgrading a dependency automatically exposes new methods
|
|
16
|
+
- **Type-safe** - Full parameter types and return types included
|
|
10
17
|
|
|
11
18
|
|
|
12
19
|
---
|
|
13
20
|
|
|
14
21
|
## Demo
|
|
15
22
|
|
|
16
|
-
|
|
23
|
+
### Kubernetes Operations
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+
### Prometheus Queries
|
|
27
|
+

|
|
17
28
|
|
|
18
29
|
---
|
|
19
30
|
|
|
@@ -26,14 +37,32 @@ Add ProDisco to Claude Code with a single command:
|
|
|
26
37
|
```bash
|
|
27
38
|
claude mcp add ProDisco --env KUBECONFIG="${HOME}/.kube/config" -- npx -y @prodisco/k8s-mcp
|
|
28
39
|
```
|
|
40
|
+
|
|
41
|
+
**With Prometheus (optional):**
|
|
42
|
+
```bash
|
|
43
|
+
claude mcp add ProDisco \
|
|
44
|
+
--env KUBECONFIG="${HOME}/.kube/config" \
|
|
45
|
+
--env PROMETHEUS_URL="http://localhost:9090" \
|
|
46
|
+
-- npx -y @prodisco/k8s-mcp
|
|
47
|
+
```
|
|
48
|
+
|
|
29
49
|
Remove if needed:
|
|
30
50
|
```bash
|
|
31
51
|
claude mcp remove ProDisco
|
|
32
52
|
```
|
|
33
53
|
|
|
34
|
-
**
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
**Environment variables:**
|
|
55
|
+
| Variable | Required | Description |
|
|
56
|
+
|----------|----------|-------------|
|
|
57
|
+
| `KUBECONFIG` | No | Path to kubeconfig (defaults to `~/.kube/config`) |
|
|
58
|
+
| `K8S_CONTEXT` | No | Kubernetes context (defaults to current context) |
|
|
59
|
+
| `PROMETHEUS_URL` | No | Prometheus server URL for metrics queries |
|
|
60
|
+
|
|
61
|
+
> **Tip:** If you're using a kind cluster for local testing, you can port-forward to Prometheus:
|
|
62
|
+
> ```bash
|
|
63
|
+
> kubectl port-forward -n monitoring svc/prometheus-server 9090:80
|
|
64
|
+
> ```
|
|
65
|
+
> Then set `PROMETHEUS_URL="http://localhost:9090"`
|
|
37
66
|
|
|
38
67
|
### Development Setup
|
|
39
68
|
|
|
@@ -58,39 +87,47 @@ ProDisco automatically creates a `~/.prodisco/scripts/cache/` directory in your
|
|
|
58
87
|
|
|
59
88
|
## Available Tools
|
|
60
89
|
|
|
61
|
-
ProDisco exposes a single tool with
|
|
90
|
+
ProDisco exposes a single unified tool with four modes:
|
|
91
|
+
|
|
92
|
+
| Mode | Purpose | Example |
|
|
93
|
+
|------|---------|---------|
|
|
94
|
+
| `methods` | Find Kubernetes API methods | `{ resourceType: "Pod", action: "list" }` |
|
|
95
|
+
| `types` | Get TypeScript type definitions | `{ mode: "types", types: ["V1Pod.spec"] }` |
|
|
96
|
+
| `scripts` | Search cached scripts | `{ mode: "scripts", searchTerm: "logs" }` |
|
|
97
|
+
| `prometheus` | Find Prometheus API methods | `{ mode: "prometheus", category: "query" }` |
|
|
62
98
|
|
|
63
99
|
For comprehensive documentation including architecture details and example workflows, see [docs/search-tools.md](docs/search-tools.md).
|
|
64
100
|
|
|
65
101
|
### kubernetes.searchTools
|
|
66
102
|
|
|
67
|
-
|
|
103
|
+
A unified search interface for Kubernetes operations and metrics analysis.
|
|
68
104
|
|
|
69
105
|
**Input:**
|
|
70
106
|
```typescript
|
|
71
107
|
{
|
|
72
108
|
// Mode selection
|
|
73
|
-
mode?: 'methods' | 'types' | 'scripts'; // default: 'methods'
|
|
109
|
+
mode?: 'methods' | 'types' | 'scripts' | 'prometheus'; // default: 'methods'
|
|
74
110
|
|
|
75
|
-
// Methods mode
|
|
111
|
+
// Methods mode - Kubernetes API discovery
|
|
76
112
|
resourceType?: string; // e.g., "Pod", "Deployment", "Service"
|
|
77
|
-
action?: string; // e.g., "list", "read", "create", "delete", "patch"
|
|
78
|
-
scope?: 'namespaced' | 'cluster' | 'all';
|
|
79
|
-
exclude?: {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
113
|
+
action?: string; // e.g., "list", "read", "create", "delete", "patch"
|
|
114
|
+
scope?: 'namespaced' | 'cluster' | 'all';
|
|
115
|
+
exclude?: { actions?: string[]; apiClasses?: string[] };
|
|
116
|
+
|
|
117
|
+
// Types mode - TypeScript definitions
|
|
118
|
+
types?: string[]; // e.g., ["V1Pod", "V1Deployment.spec"]
|
|
119
|
+
depth?: number; // Nested type depth (1-2)
|
|
120
|
+
|
|
121
|
+
// Scripts mode - Cached script discovery
|
|
122
|
+
searchTerm?: string; // Search term (omit to list all)
|
|
123
|
+
|
|
124
|
+
// Prometheus mode - Prometheus API discovery and metrics
|
|
125
|
+
category?: 'query' | 'metadata' | 'alerts' | 'metrics' | 'all';
|
|
126
|
+
methodPattern?: string; // e.g., "query", "labels", "pod", "gpu"
|
|
127
|
+
|
|
128
|
+
// Shared parameters
|
|
129
|
+
limit?: number; // Max results (default: 10)
|
|
130
|
+
offset?: number; // Pagination offset
|
|
94
131
|
}
|
|
95
132
|
```
|
|
96
133
|
|
|
@@ -136,14 +173,38 @@ Find Kubernetes API methods, get type definitions, or search cached scripts.
|
|
|
136
173
|
|
|
137
174
|
// Search for pod-related scripts
|
|
138
175
|
{ mode: "scripts", searchTerm: "pod" }
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Prometheus Mode Examples:**
|
|
179
|
+
```typescript
|
|
180
|
+
// List all available methods
|
|
181
|
+
{ mode: "prometheus" }
|
|
139
182
|
|
|
140
|
-
//
|
|
141
|
-
{ mode: "
|
|
183
|
+
// Find PromQL query methods
|
|
184
|
+
{ mode: "prometheus", category: "query" }
|
|
142
185
|
|
|
143
|
-
//
|
|
144
|
-
{ mode: "
|
|
186
|
+
// Find metadata methods (labels, series, targets)
|
|
187
|
+
{ mode: "prometheus", category: "metadata" }
|
|
188
|
+
|
|
189
|
+
// Search for specific methods
|
|
190
|
+
{ mode: "prometheus", methodPattern: "query" }
|
|
191
|
+
|
|
192
|
+
// Discover actual metrics from your cluster
|
|
193
|
+
{ mode: "prometheus", category: "metrics", methodPattern: "pod" }
|
|
194
|
+
|
|
195
|
+
// Find GPU metrics
|
|
196
|
+
{ mode: "prometheus", category: "metrics", methodPattern: "gpu" }
|
|
145
197
|
```
|
|
146
198
|
|
|
199
|
+
**Available Categories (Prometheus Mode):**
|
|
200
|
+
|
|
201
|
+
| Category | Methods | Use Case |
|
|
202
|
+
|----------|---------|----------|
|
|
203
|
+
| `query` | `instantQuery`, `rangeQuery` | Execute PromQL queries |
|
|
204
|
+
| `metadata` | `series`, `labelNames`, `labelValues`, `targets` | Explore metrics metadata |
|
|
205
|
+
| `alerts` | `rules`, `alerts`, `alertmanagers` | Access alerting information |
|
|
206
|
+
| `metrics` | (dynamic from cluster) | Discover actual metrics with descriptions |
|
|
207
|
+
|
|
147
208
|
---
|
|
148
209
|
|
|
149
210
|
## Integration Tests
|
package/dist/server.js
CHANGED
|
@@ -105,6 +105,41 @@ server.registerTool(searchToolsTool.name, {
|
|
|
105
105
|
structuredContent: result,
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
+
else if (result.mode === 'prometheus') {
|
|
109
|
+
// Handle metrics category (has 'metrics' array) vs methods (has 'methods' array)
|
|
110
|
+
if ('category' in result && result.category === 'metrics') {
|
|
111
|
+
return {
|
|
112
|
+
content: [
|
|
113
|
+
{
|
|
114
|
+
type: 'text',
|
|
115
|
+
text: result.summary,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'text',
|
|
119
|
+
text: JSON.stringify(result.metrics, null, 2),
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
structuredContent: result,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// Build summary - handle both success and error cases for PrometheusModeResult | PrometheusErrorResult
|
|
126
|
+
const methodsResult = result;
|
|
127
|
+
const summary = 'summary' in result ? result.summary :
|
|
128
|
+
`${methodsResult.error}: ${methodsResult.message}\nExample: ${methodsResult.example}`;
|
|
129
|
+
return {
|
|
130
|
+
content: [
|
|
131
|
+
{
|
|
132
|
+
type: 'text',
|
|
133
|
+
text: summary,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'text',
|
|
137
|
+
text: JSON.stringify(methodsResult.methods, null, 2),
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
structuredContent: result,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
108
143
|
else {
|
|
109
144
|
// mode === 'methods'
|
|
110
145
|
return {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,8 +95,104 @@ export declare const kubernetesToolMetadata: {
|
|
|
95
95
|
limit: number;
|
|
96
96
|
hasMore: boolean;
|
|
97
97
|
};
|
|
98
|
+
} | {
|
|
99
|
+
mode: "prometheus";
|
|
100
|
+
summary: string;
|
|
101
|
+
methods: {
|
|
102
|
+
library: "prometheus-query";
|
|
103
|
+
className?: string;
|
|
104
|
+
methodName: string;
|
|
105
|
+
category: "query" | "metadata" | "alerts";
|
|
106
|
+
description: string;
|
|
107
|
+
parameters: Array<{
|
|
108
|
+
name: string;
|
|
109
|
+
type: string;
|
|
110
|
+
optional: boolean;
|
|
111
|
+
description?: string;
|
|
112
|
+
}>;
|
|
113
|
+
returnType: string;
|
|
114
|
+
example: string;
|
|
115
|
+
}[];
|
|
116
|
+
totalMatches: number;
|
|
117
|
+
libraries: {
|
|
118
|
+
"prometheus-query": {
|
|
119
|
+
installed: boolean;
|
|
120
|
+
version: string;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
usage: string;
|
|
124
|
+
paths: {
|
|
125
|
+
scriptsDirectory: string;
|
|
126
|
+
};
|
|
127
|
+
facets: {
|
|
128
|
+
library: Record<string, number>;
|
|
129
|
+
category: Record<string, number>;
|
|
130
|
+
};
|
|
131
|
+
pagination: {
|
|
132
|
+
offset: number;
|
|
133
|
+
limit: number;
|
|
134
|
+
hasMore: boolean;
|
|
135
|
+
};
|
|
136
|
+
} | {
|
|
137
|
+
mode: "prometheus";
|
|
138
|
+
error: string;
|
|
139
|
+
message: string;
|
|
140
|
+
example: string;
|
|
141
|
+
methods: {
|
|
142
|
+
library: "prometheus-query";
|
|
143
|
+
className?: string;
|
|
144
|
+
methodName: string;
|
|
145
|
+
category: "query" | "metadata" | "alerts";
|
|
146
|
+
description: string;
|
|
147
|
+
parameters: Array<{
|
|
148
|
+
name: string;
|
|
149
|
+
type: string;
|
|
150
|
+
optional: boolean;
|
|
151
|
+
description?: string;
|
|
152
|
+
}>;
|
|
153
|
+
returnType: string;
|
|
154
|
+
example: string;
|
|
155
|
+
}[];
|
|
156
|
+
totalMatches: number;
|
|
157
|
+
libraries: {
|
|
158
|
+
"prometheus-query": {
|
|
159
|
+
installed: boolean;
|
|
160
|
+
version: string;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
paths: {
|
|
164
|
+
scriptsDirectory: string;
|
|
165
|
+
};
|
|
166
|
+
facets: {
|
|
167
|
+
library: Record<string, number>;
|
|
168
|
+
category: Record<string, number>;
|
|
169
|
+
};
|
|
170
|
+
pagination: {
|
|
171
|
+
offset: number;
|
|
172
|
+
limit: number;
|
|
173
|
+
hasMore: boolean;
|
|
174
|
+
};
|
|
175
|
+
} | {
|
|
176
|
+
mode: "prometheus";
|
|
177
|
+
category: "metrics";
|
|
178
|
+
summary: string;
|
|
179
|
+
metrics: Array<{
|
|
180
|
+
name: string;
|
|
181
|
+
type: string;
|
|
182
|
+
description: string;
|
|
183
|
+
}>;
|
|
184
|
+
totalMatches: number;
|
|
185
|
+
indexingStatus: "ready" | "in_progress" | "unavailable";
|
|
186
|
+
paths: {
|
|
187
|
+
scriptsDirectory: string;
|
|
188
|
+
};
|
|
189
|
+
pagination: {
|
|
190
|
+
offset: number;
|
|
191
|
+
limit: number;
|
|
192
|
+
hasMore: boolean;
|
|
193
|
+
};
|
|
98
194
|
}, import("zod").ZodObject<{
|
|
99
|
-
mode: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<["methods", "types", "scripts"]>>>;
|
|
195
|
+
mode: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<["methods", "types", "scripts", "prometheus"]>>>;
|
|
100
196
|
resourceType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
101
197
|
action: import("zod").ZodOptional<import("zod").ZodString>;
|
|
102
198
|
scope: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["namespaced", "cluster", "all"]>>>;
|
|
@@ -113,12 +209,15 @@ export declare const kubernetesToolMetadata: {
|
|
|
113
209
|
types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
114
210
|
depth: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNumber>>;
|
|
115
211
|
searchTerm: import("zod").ZodOptional<import("zod").ZodString>;
|
|
212
|
+
category: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["query", "metadata", "alerts", "metrics", "all"]>>>;
|
|
213
|
+
methodPattern: import("zod").ZodOptional<import("zod").ZodString>;
|
|
116
214
|
limit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNumber>>;
|
|
117
215
|
offset: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNumber>>;
|
|
118
216
|
}, "strip", import("zod").ZodTypeAny, {
|
|
119
217
|
scope: "namespaced" | "cluster" | "all";
|
|
218
|
+
category: "all" | "query" | "metadata" | "alerts" | "metrics";
|
|
120
219
|
types?: string[] | undefined;
|
|
121
|
-
mode?: "methods" | "types" | "scripts" | undefined;
|
|
220
|
+
mode?: "methods" | "types" | "scripts" | "prometheus" | undefined;
|
|
122
221
|
resourceType?: string | undefined;
|
|
123
222
|
action?: string | undefined;
|
|
124
223
|
exclude?: {
|
|
@@ -127,11 +226,12 @@ export declare const kubernetesToolMetadata: {
|
|
|
127
226
|
} | undefined;
|
|
128
227
|
depth?: number | undefined;
|
|
129
228
|
searchTerm?: string | undefined;
|
|
229
|
+
methodPattern?: string | undefined;
|
|
130
230
|
limit?: number | undefined;
|
|
131
231
|
offset?: number | undefined;
|
|
132
232
|
}, {
|
|
133
233
|
types?: string[] | undefined;
|
|
134
|
-
mode?: "methods" | "types" | "scripts" | undefined;
|
|
234
|
+
mode?: "methods" | "types" | "scripts" | "prometheus" | undefined;
|
|
135
235
|
resourceType?: string | undefined;
|
|
136
236
|
action?: string | undefined;
|
|
137
237
|
scope?: "namespaced" | "cluster" | "all" | undefined;
|
|
@@ -141,6 +241,8 @@ export declare const kubernetesToolMetadata: {
|
|
|
141
241
|
} | undefined;
|
|
142
242
|
depth?: number | undefined;
|
|
143
243
|
searchTerm?: string | undefined;
|
|
244
|
+
category?: "all" | "query" | "metadata" | "alerts" | "metrics" | undefined;
|
|
245
|
+
methodPattern?: string | undefined;
|
|
144
246
|
limit?: number | undefined;
|
|
145
247
|
offset?: number | undefined;
|
|
146
248
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/tools/kubernetes/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/tools/kubernetes/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;2BAM06H,CAAC;;;;;;;;;+BAAmP,CAAC;4BAAkB,CAAC;;;;;;;;;;;;;;qBAAuR,CAAC;sBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAswD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GADxwM,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import type { ToolDefinition } from '../types.js';
|
|
3
3
|
import type { Orama } from '@orama/orama';
|
|
4
4
|
declare const SearchToolsInputSchema: z.ZodObject<{
|
|
5
|
-
mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<["methods", "types", "scripts"]>>>;
|
|
5
|
+
mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<["methods", "types", "scripts", "prometheus"]>>>;
|
|
6
6
|
resourceType: z.ZodOptional<z.ZodString>;
|
|
7
7
|
action: z.ZodOptional<z.ZodString>;
|
|
8
8
|
scope: z.ZodDefault<z.ZodOptional<z.ZodEnum<["namespaced", "cluster", "all"]>>>;
|
|
@@ -19,12 +19,15 @@ declare const SearchToolsInputSchema: z.ZodObject<{
|
|
|
19
19
|
types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
20
20
|
depth: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
21
21
|
searchTerm: z.ZodOptional<z.ZodString>;
|
|
22
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodEnum<["query", "metadata", "alerts", "metrics", "all"]>>>;
|
|
23
|
+
methodPattern: z.ZodOptional<z.ZodString>;
|
|
22
24
|
limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
23
25
|
offset: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
24
26
|
}, "strip", z.ZodTypeAny, {
|
|
25
27
|
scope: "namespaced" | "cluster" | "all";
|
|
28
|
+
category: "all" | "query" | "metadata" | "alerts" | "metrics";
|
|
26
29
|
types?: string[] | undefined;
|
|
27
|
-
mode?: "methods" | "types" | "scripts" | undefined;
|
|
30
|
+
mode?: "methods" | "types" | "scripts" | "prometheus" | undefined;
|
|
28
31
|
resourceType?: string | undefined;
|
|
29
32
|
action?: string | undefined;
|
|
30
33
|
exclude?: {
|
|
@@ -33,11 +36,12 @@ declare const SearchToolsInputSchema: z.ZodObject<{
|
|
|
33
36
|
} | undefined;
|
|
34
37
|
depth?: number | undefined;
|
|
35
38
|
searchTerm?: string | undefined;
|
|
39
|
+
methodPattern?: string | undefined;
|
|
36
40
|
limit?: number | undefined;
|
|
37
41
|
offset?: number | undefined;
|
|
38
42
|
}, {
|
|
39
43
|
types?: string[] | undefined;
|
|
40
|
-
mode?: "methods" | "types" | "scripts" | undefined;
|
|
44
|
+
mode?: "methods" | "types" | "scripts" | "prometheus" | undefined;
|
|
41
45
|
resourceType?: string | undefined;
|
|
42
46
|
action?: string | undefined;
|
|
43
47
|
scope?: "namespaced" | "cluster" | "all" | undefined;
|
|
@@ -47,6 +51,8 @@ declare const SearchToolsInputSchema: z.ZodObject<{
|
|
|
47
51
|
} | undefined;
|
|
48
52
|
depth?: number | undefined;
|
|
49
53
|
searchTerm?: string | undefined;
|
|
54
|
+
category?: "all" | "query" | "metadata" | "alerts" | "metrics" | undefined;
|
|
55
|
+
methodPattern?: string | undefined;
|
|
50
56
|
limit?: number | undefined;
|
|
51
57
|
offset?: number | undefined;
|
|
52
58
|
}>;
|
|
@@ -140,7 +146,94 @@ type ScriptModeResult = {
|
|
|
140
146
|
hasMore: boolean;
|
|
141
147
|
};
|
|
142
148
|
};
|
|
143
|
-
type
|
|
149
|
+
type PrometheusCategory = 'query' | 'metadata' | 'alerts';
|
|
150
|
+
type PrometheusMethod = {
|
|
151
|
+
library: 'prometheus-query';
|
|
152
|
+
className?: string;
|
|
153
|
+
methodName: string;
|
|
154
|
+
category: PrometheusCategory;
|
|
155
|
+
description: string;
|
|
156
|
+
parameters: Array<{
|
|
157
|
+
name: string;
|
|
158
|
+
type: string;
|
|
159
|
+
optional: boolean;
|
|
160
|
+
description?: string;
|
|
161
|
+
}>;
|
|
162
|
+
returnType: string;
|
|
163
|
+
example: string;
|
|
164
|
+
};
|
|
165
|
+
type PrometheusModeResult = {
|
|
166
|
+
mode: 'prometheus';
|
|
167
|
+
summary: string;
|
|
168
|
+
methods: PrometheusMethod[];
|
|
169
|
+
totalMatches: number;
|
|
170
|
+
libraries: {
|
|
171
|
+
'prometheus-query': {
|
|
172
|
+
installed: boolean;
|
|
173
|
+
version: string;
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
usage: string;
|
|
177
|
+
paths: {
|
|
178
|
+
scriptsDirectory: string;
|
|
179
|
+
};
|
|
180
|
+
facets: {
|
|
181
|
+
library: Record<string, number>;
|
|
182
|
+
category: Record<string, number>;
|
|
183
|
+
};
|
|
184
|
+
pagination: {
|
|
185
|
+
offset: number;
|
|
186
|
+
limit: number;
|
|
187
|
+
hasMore: boolean;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
type PrometheusErrorResult = {
|
|
191
|
+
mode: 'prometheus';
|
|
192
|
+
error: string;
|
|
193
|
+
message: string;
|
|
194
|
+
example: string;
|
|
195
|
+
methods: PrometheusMethod[];
|
|
196
|
+
totalMatches: number;
|
|
197
|
+
libraries: {
|
|
198
|
+
'prometheus-query': {
|
|
199
|
+
installed: boolean;
|
|
200
|
+
version: string;
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
paths: {
|
|
204
|
+
scriptsDirectory: string;
|
|
205
|
+
};
|
|
206
|
+
facets: {
|
|
207
|
+
library: Record<string, number>;
|
|
208
|
+
category: Record<string, number>;
|
|
209
|
+
};
|
|
210
|
+
pagination: {
|
|
211
|
+
offset: number;
|
|
212
|
+
limit: number;
|
|
213
|
+
hasMore: boolean;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
type MetricsModeResult = {
|
|
217
|
+
mode: 'prometheus';
|
|
218
|
+
category: 'metrics';
|
|
219
|
+
summary: string;
|
|
220
|
+
metrics: Array<{
|
|
221
|
+
name: string;
|
|
222
|
+
type: string;
|
|
223
|
+
description: string;
|
|
224
|
+
}>;
|
|
225
|
+
totalMatches: number;
|
|
226
|
+
indexingStatus: 'ready' | 'in_progress' | 'unavailable';
|
|
227
|
+
paths: {
|
|
228
|
+
scriptsDirectory: string;
|
|
229
|
+
};
|
|
230
|
+
pagination: {
|
|
231
|
+
offset: number;
|
|
232
|
+
limit: number;
|
|
233
|
+
hasMore: boolean;
|
|
234
|
+
};
|
|
235
|
+
};
|
|
236
|
+
type SearchToolsResult = MethodModeResult | TypeModeResult | ScriptModeResult | PrometheusModeResult | PrometheusErrorResult | MetricsModeResult;
|
|
144
237
|
/**
|
|
145
238
|
* Service class that encapsulates the search tools state and operations.
|
|
146
239
|
* This provides:
|
|
@@ -159,12 +252,22 @@ declare class SearchToolsService {
|
|
|
159
252
|
private scriptWatcher;
|
|
160
253
|
/** Whether the service has been initialized */
|
|
161
254
|
private initialized;
|
|
255
|
+
/** Prometheus metrics indexing status */
|
|
256
|
+
private metricsIndexingStatus;
|
|
257
|
+
/** Interval for refreshing Prometheus metrics */
|
|
258
|
+
private metricsRefreshInterval;
|
|
259
|
+
/** Refresh interval in milliseconds (30 minutes) */
|
|
260
|
+
private static readonly METRICS_REFRESH_INTERVAL;
|
|
162
261
|
/**
|
|
163
262
|
* Initialize the search index and start the script watcher.
|
|
164
263
|
* This is called automatically on first use, but can be called explicitly
|
|
165
264
|
* for pre-warming during server startup.
|
|
166
265
|
*/
|
|
167
266
|
initialize(): Promise<void>;
|
|
267
|
+
/**
|
|
268
|
+
* Get the current Prometheus metrics indexing status
|
|
269
|
+
*/
|
|
270
|
+
getMetricsIndexingStatus(): 'ready' | 'in_progress' | 'unavailable';
|
|
168
271
|
/**
|
|
169
272
|
* Shutdown the service, stopping the script watcher.
|
|
170
273
|
* Call this during graceful shutdown.
|
|
@@ -186,6 +289,24 @@ declare class SearchToolsService {
|
|
|
186
289
|
* Index cached scripts into the Orama database.
|
|
187
290
|
*/
|
|
188
291
|
private indexCachedScripts;
|
|
292
|
+
/**
|
|
293
|
+
* Index prometheus library methods into the Orama database.
|
|
294
|
+
*/
|
|
295
|
+
private indexPrometheusMethods;
|
|
296
|
+
/**
|
|
297
|
+
* Start background Prometheus metrics indexing (non-blocking).
|
|
298
|
+
* Fetches metric metadata from Prometheus and indexes into Orama.
|
|
299
|
+
*/
|
|
300
|
+
private startPrometheusMetricsIndexing;
|
|
301
|
+
/**
|
|
302
|
+
* Index Prometheus metrics from the cluster into Orama.
|
|
303
|
+
*/
|
|
304
|
+
private indexPrometheusMetrics;
|
|
305
|
+
/**
|
|
306
|
+
* Incrementally refresh Prometheus metrics.
|
|
307
|
+
* Adds new metrics, removes stale ones.
|
|
308
|
+
*/
|
|
309
|
+
private refreshPrometheusMetrics;
|
|
189
310
|
/**
|
|
190
311
|
* Start filesystem watcher for cached scripts directory.
|
|
191
312
|
*/
|
|
@@ -216,7 +337,7 @@ declare class SearchToolsService {
|
|
|
216
337
|
export declare const searchToolsService: SearchToolsService;
|
|
217
338
|
export { SearchToolsService };
|
|
218
339
|
/**
|
|
219
|
-
* Orama schema for Kubernetes API methods
|
|
340
|
+
* Orama schema for Kubernetes API methods and Prometheus library methods
|
|
220
341
|
*
|
|
221
342
|
* Design decisions based on Orama best practices:
|
|
222
343
|
* - `string` types for full-text searchable fields (resourceType, methodName, description)
|
|
@@ -235,10 +356,13 @@ declare const oramaSchema: {
|
|
|
235
356
|
readonly apiClass: "enum";
|
|
236
357
|
readonly id: "string";
|
|
237
358
|
readonly filePath: "string";
|
|
359
|
+
readonly library: "enum";
|
|
360
|
+
readonly category: "enum";
|
|
361
|
+
readonly metricType: "enum";
|
|
238
362
|
};
|
|
239
363
|
type OramaDocument = {
|
|
240
364
|
id: string;
|
|
241
|
-
documentType: 'method' | 'script';
|
|
365
|
+
documentType: 'method' | 'script' | 'prometheus' | 'prometheus-metric';
|
|
242
366
|
resourceType: string;
|
|
243
367
|
methodName: string;
|
|
244
368
|
description: string;
|
|
@@ -247,6 +371,9 @@ type OramaDocument = {
|
|
|
247
371
|
scope: string;
|
|
248
372
|
apiClass: string;
|
|
249
373
|
filePath: string;
|
|
374
|
+
library?: string;
|
|
375
|
+
category?: string;
|
|
376
|
+
metricType?: string;
|
|
250
377
|
};
|
|
251
378
|
/**
|
|
252
379
|
* Pre-warm the Orama search index during server startup.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchTools.d.ts","sourceRoot":"","sources":["../../../src/tools/kubernetes/searchTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,KAAK,EAAyB,MAAM,cAAc,CAAC;AAyBjE,QAAA,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"searchTools.d.ts","sourceRoot":"","sources":["../../../src/tools/kubernetes/searchTools.ts"],"names":[],"mappings":"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"}
|