@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 CHANGED
@@ -1,19 +1,30 @@
1
1
  # ProDisco (Progressive Disclosure Kubernetes MCP Server)
2
2
 
3
- ProDisco gives AI agents Kubernetes access that closely follows Anthropics [Progressive Disclosure](https://www.anthropic.com/engineering/code-execution-with-mcp) pattern: the MCP server exposes search tools which in turn surface TypeScript modules, agents discover them to write code, and only the final console output returns to the agent.
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
- Anthropics 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)).
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 returns the most suitable methods from the official Kubernetes client library, including the type definitions for their input and return values. This lets agents dynamically interact with the upstream Kubernetes library while avoiding any ongoing maintenance burden in this repository to mirror or wrap those APIs.
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
- ![Demo](docs/demo.gif)
23
+ ### Kubernetes Operations
24
+ ![Kubernetes Operations Demo](docs/demo.gif)
25
+
26
+ ### Prometheus Queries
27
+ ![Prometheus Queries Demo](docs/demo2.gif)
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
- **Optional environment variables:**
35
- - `KUBECONFIG`: Path to your kubeconfig file (defaults to `~/.kube/config`)
36
- - `K8S_CONTEXT`: Kubernetes context to use (defaults to current context)
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 three modes for agents to discover and interact with the Kubernetes API.
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
- Find Kubernetes API methods, get type definitions, or search cached scripts.
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 parameters
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", "replace", "connect"
78
- scope?: 'namespaced' | 'cluster' | 'all'; // default: 'all'
79
- exclude?: { // Optional: filter out methods
80
- actions?: string[]; // e.g., ["delete", "create"]
81
- apiClasses?: string[]; // e.g., ["CoreV1Api"]
82
- };
83
-
84
- // Types mode parameters
85
- types?: string[]; // Type names or property paths
86
- depth?: number; // Nested type depth (default: 1, max: 2)
87
-
88
- // Scripts mode parameters
89
- searchTerm?: string; // Search term (omit to list all scripts)
90
-
91
- // Shared parameters (all modes)
92
- limit?: number; // Max results (default: 10, max: 50)
93
- offset?: number; // Skip N results for pagination (default: 0)
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
- // Search for logging scripts
141
- { mode: "scripts", searchTerm: "logs" }
183
+ // Find PromQL query methods
184
+ { mode: "prometheus", category: "query" }
142
185
 
143
- // Paginate through scripts
144
- { mode: "scripts", limit: 5, offset: 5 }
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 {
@@ -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;;;;;;;;;;;;;2BAMs5G,CAAC;;;;;;;;;+BAAmP,CAAC;4BAAkB,CAAC;;;;;;;;;;;;;;qBAAuR,CAAC;sBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAD7+H,CAAC"}
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 SearchToolsResult = MethodModeResult | TypeModeResult | ScriptModeResult;
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmF1B,CAAC;AAEH,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAEhB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACvF,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;SAAE,CAAC,CAAC;KACpE,CAAC;IAEF,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAGF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAGF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC,CAAC;CACJ,CAAC;AAaF,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAGF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAGF,KAAK,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,kBAAkB,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAGF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,kBAAkB,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAC;IACF,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAGF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;IACxD,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAGF,KAAK,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;AAyZjJ;;;;;;GAMG;AACH,cAAM,kBAAkB;IACtB,uCAAuC;IACvC,OAAO,CAAC,eAAe,CAAsC;IAE7D,oCAAoC;IACpC,OAAO,CAAC,OAAO,CAA0C;IAEzD,+DAA+D;IAC/D,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,kCAAkC;IAClC,OAAO,CAAC,aAAa,CAAkD;IAEvE,+CAA+C;IAC/C,OAAO,CAAC,WAAW,CAAS;IAE5B,yCAAyC;IACzC,OAAO,CAAC,qBAAqB,CAA0D;IAEvF,iDAAiD;IACjD,OAAO,CAAC,sBAAsB,CAA+B;IAE7D,oDAAoD;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAkB;IAElE;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACH,wBAAwB,IAAI,OAAO,GAAG,aAAa,GAAG,aAAa;IAInE;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;IAOtD;;OAEG;IACH,aAAa,IAAI,mBAAmB,EAAE;IAOtC;;OAEG;YACW,iBAAiB;IA+D/B;;OAEG;YACW,kBAAkB;IAoChC;;OAEG;YACW,sBAAsB;IAoCpC;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAmBtC;;OAEG;YACW,sBAAsB;IAwCpC;;;OAGG;YACW,wBAAwB;IA6EtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwD1B;;OAEG;IACG,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,EAClE,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAU,GACjB,OAAO,CAAC;QACT,aAAa,EAAE,aAAa,EAAE,CAAC;QAC/B,aAAa,EAAE,aAAa,EAAE,CAAC;QAC/B,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/B,CAAC;QACF,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IA8HF;;OAEG;IACH,OAAO,CAAC,2BAA2B;CA8DpC;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAM9B;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;CA4BP,CAAC;AAEX,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,mBAAmB,CAAC;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA88CF;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzD;AAMD,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,iBAAiB,EAAE,OAAO,sBAAsB,CAmC5F,CAAC"}