hawkeye-mcp-server 1.1.0 → 1.2.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/README.md CHANGED
@@ -35,6 +35,32 @@ npm install -g hawkeye-mcp-server
35
35
  npx hawkeye-mcp-server
36
36
  ```
37
37
 
38
+ ### Quick Setup for Cursor Users
39
+
40
+ **Configuration file location:**
41
+ - **macOS/Linux:** `~/.cursor/mcp.json`
42
+ - **Windows:** `%APPDATA%\Cursor\mcp.json`
43
+
44
+ If the file doesn't exist, create it with this content:
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "hawkeye": {
50
+ "command": "npx",
51
+ "args": ["hawkeye-mcp-server"],
52
+ "env": {
53
+ "HAWKEYE_EMAIL": "your-email@example.com",
54
+ "HAWKEYE_PASSWORD": "your-password",
55
+ "HAWKEYE_BASE_URL": "https://your-instance.app.neubird.ai/api"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ Then reload Cursor (`Cmd/Ctrl+Shift+P` → "Developer: Reload Window") and start investigating!
63
+
38
64
  ### Configuration
39
65
 
40
66
  1. Set up your environment variables:
@@ -84,6 +110,29 @@ export HAWKEYE_BASE_URL="https://your-instance.app.neubird.ai/api"
84
110
  }
85
111
  ```
86
112
 
113
+ **For Cursor** (add to `~/.cursor/mcp.json`):
114
+
115
+ ```json
116
+ {
117
+ "mcpServers": {
118
+ "hawkeye": {
119
+ "command": "npx",
120
+ "args": ["hawkeye-mcp-server"],
121
+ "env": {
122
+ "HAWKEYE_EMAIL": "your-email@example.com",
123
+ "HAWKEYE_PASSWORD": "your-password",
124
+ "HAWKEYE_BASE_URL": "https://your-instance.app.neubird.ai/api"
125
+ }
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ After adding the configuration, reload Cursor:
132
+ - Press `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)
133
+ - Type "Developer: Reload Window"
134
+ - Press Enter
135
+
87
136
  3. Start using it! Ask your AI agent:
88
137
 
89
138
  ```
@@ -113,7 +162,25 @@ The MCP server will call `hawkeye_list_sessions` with:
113
162
  }
114
163
  ```
115
164
 
116
- ### 2. Investigate an Alert
165
+ ### 2. Search for Specific Incidents
166
+
167
+ Search for incidents by keywords in the title:
168
+
169
+ ```
170
+ "List all investigations into load avg issues"
171
+ ```
172
+
173
+ The MCP server will call `hawkeye_list_sessions` with:
174
+ ```json
175
+ {
176
+ "search_term": "load avg",
177
+ "only_uninvestigated": true
178
+ }
179
+ ```
180
+
181
+ You can search for any keyword like "database", "timeout", "disk space", etc. Works with both investigated and uninvestigated incidents.
182
+
183
+ ### 3. Investigate an Alert
117
184
 
118
185
  Analyze a specific alert by ID:
119
186
 
@@ -123,7 +190,7 @@ Analyze a specific alert by ID:
123
190
 
124
191
  The server automatically finds existing investigations or creates a new one.
125
192
 
126
- ### 3. Get Investigation Details
193
+ ### 4. Get Investigation Details
127
194
 
128
195
  Deep dive into a specific investigation:
129
196
 
@@ -131,7 +198,7 @@ Deep dive into a specific investigation:
131
198
  "Show me the full analysis from session abc-123-def-456"
132
199
  ```
133
200
 
134
- ### 4. View Analytics
201
+ ### 5. View Analytics
135
202
 
136
203
  Get organization-wide incident statistics:
137
204
 
@@ -139,7 +206,7 @@ Get organization-wide incident statistics:
139
206
  "Show me the incident report with MTTR and time saved metrics"
140
207
  ```
141
208
 
142
- ### 5. Continue an Investigation
209
+ ### 6. Continue an Investigation
143
210
 
144
211
  Ask follow-up questions on an existing investigation:
145
212
 
@@ -147,6 +214,23 @@ Ask follow-up questions on an existing investigation:
147
214
  "Can you dig deeper into the network policy issues you found?"
148
215
  ```
149
216
 
217
+ ### 7. Switch Hawkeye Instances
218
+
219
+ Switch between different Hawkeye environments or customer instances:
220
+
221
+ ```
222
+ "Switch to the production Hawkeye instance at https://prod.app.neubird.ai/api"
223
+ ```
224
+
225
+ The MCP server will call `hawkeye_switch_instance` with:
226
+ ```json
227
+ {
228
+ "base_url": "https://prod.app.neubird.ai/api"
229
+ }
230
+ ```
231
+
232
+ Useful for users managing multiple environments (dev, staging, production) or multiple customer instances. Automatically clears authentication tokens and project cache.
233
+
150
234
  ## 🛠️ Available Tools
151
235
 
152
236
  The Hawkeye MCP Server provides the following tools to AI agents:
@@ -162,6 +246,7 @@ The Hawkeye MCP Server provides the following tools to AI agents:
162
246
  | `hawkeye_get_session_report` | Get summary reports with time-saved metrics |
163
247
  | `hawkeye_get_session_summary` | Get quality scores and analysis metrics |
164
248
  | `hawkeye_get_incident_report` | Get organization-wide incident analytics |
249
+ | `hawkeye_switch_instance` | **NEW** Switch to a different Hawkeye instance (dev/staging/prod) |
165
250
 
166
251
  See the [API Reference](./SPECIFICATION.md) for detailed documentation on each tool.
167
252
 
@@ -191,9 +276,9 @@ See the [API Reference](./SPECIFICATION.md) for detailed documentation on each t
191
276
 
192
277
  The Hawkeye MCP Server works with any MCP-compatible AI agent:
193
278
 
194
- - ✅ **Claude Code** (CLI tool - macOS, Windows, Linux) - **Recommended for developers**
279
+ - ✅ **Cursor** (macOS, Windows, Linux) - **Recommended for IDE integration**
280
+ - ✅ **Claude Code** (CLI tool - macOS, Windows, Linux) - **Recommended for terminal workflows**
195
281
  - ✅ **Claude Desktop** (macOS, Windows)
196
- - ✅ **Cursor.ai** (macOS, Windows, Linux)
197
282
  - ✅ **Continue.dev** (VS Code extension)
198
283
  - ✅ Any other MCP-compatible agent
199
284
 
@@ -230,7 +315,27 @@ For more troubleshooting tips, see the [Installation Guide](./INSTALLATION.md#tr
230
315
 
231
316
  ## 📊 Examples
232
317
 
233
- ### Example 1: Find and Investigate Uninvestigated Incidents
318
+ ### Example 1: Using in Cursor IDE
319
+
320
+ ```
321
+ You: "List all my Hawkeye projects"
322
+
323
+ Cursor: *Shows your available projects with sync status*
324
+
325
+ You: "Show me all uninvestigated incidents from the Variation1 project"
326
+
327
+ Cursor: *Lists uninvestigated incidents*
328
+
329
+ You: "Investigate the most recent one"
330
+
331
+ Cursor: *Creates investigation and returns detailed RCA*
332
+
333
+ You: "Can you dig deeper into the network issues mentioned?"
334
+
335
+ Cursor: *Continues investigation with follow-up analysis*
336
+ ```
337
+
338
+ ### Example 2: Find and Investigate Uninvestigated Incidents
234
339
 
235
340
  ```
236
341
  You: "Show me all uninvestigated P1 incidents from last week"
package/SPECIFICATION.md CHANGED
@@ -243,6 +243,8 @@ A developer using Cursor.ai encounters an alert or incident in their cloud envir
243
243
  investigation_status?: string; // Filter by investigation status (e.g., "INVESTIGATION_STATUS_NOT_STARTED")
244
244
  session_type?: string; // Filter by session type (e.g., "SESSION_TYPE_INCIDENT")
245
245
  hide_grouped_incidents?: boolean; // If true, hides grouped incidents, default: false
246
+ search_term?: string; // Search for incidents by title keyword (e.g., "load avg", "database")
247
+ compact?: boolean; // If true, returns compact format to reduce token usage
246
248
  }
247
249
  ```
248
250
 
@@ -254,7 +256,9 @@ A developer using Cursor.ai encounters an alert or incident in their cloud envir
254
256
  5. Can filter by session type (e.g., incident vs manual investigations)
255
257
  6. Convenience parameter `only_uninvestigated` automatically sets investigation_status to "INVESTIGATION_STATUS_NOT_STARTED" and session_type to "SESSION_TYPE_INCIDENT"
256
258
  7. Can optionally hide grouped incidents
257
- 8. Returns sessions sorted by creation time (most recent first)
259
+ 8. **Can search incidents by title using `search_term` parameter** - performs case-insensitive partial match on incident_info.title field. Works with both investigated and uninvestigated incidents.
260
+ 9. Automatically enables compact mode for >10 results to reduce token usage (can be overridden with `compact` parameter)
261
+ 10. Returns sessions sorted by creation time (most recent first)
258
262
 
259
263
  **Output**:
260
264
  ```typescript
@@ -281,6 +285,7 @@ A developer using Cursor.ai encounters an alert or incident in their cloud envir
281
285
  limit: number;
282
286
  count: number;
283
287
  project_uuid: string;
288
+ compact_mode: boolean;
284
289
  filters_applied: {
285
290
  date_from?: string;
286
291
  date_to?: string;
@@ -288,7 +293,11 @@ A developer using Cursor.ai encounters an alert or incident in their cloud envir
288
293
  session_type?: string;
289
294
  only_uninvestigated?: boolean;
290
295
  hide_grouped_incidents?: boolean;
296
+ search_term?: string;
291
297
  };
298
+ compact_hint?: string; // Hint when compact mode is active
299
+ pagination_hint?: string; // Hint when more results are available
300
+ investigation_hint?: string; // Hint for uninvestigated incidents
292
301
  }
293
302
  ```
294
303
 
@@ -890,6 +899,31 @@ Show me all the incidents that haven't been investigated yet in the HTM-Azure pr
890
899
  }
891
900
  ```
892
901
 
902
+ ### Example 1b: Search for Specific Incidents
903
+
904
+ **User to Cursor**:
905
+ ```
906
+ List all investigations into load avg issues
907
+ ```
908
+
909
+ **Cursor calls**:
910
+ ```json
911
+ {
912
+ "tool": "hawkeye_list_sessions",
913
+ "arguments": {
914
+ "search_term": "load avg",
915
+ "only_uninvestigated": true,
916
+ "limit": 20
917
+ }
918
+ }
919
+ ```
920
+
921
+ **Notes**:
922
+ - The `search_term` performs case-insensitive partial matching on incident titles
923
+ - Works with both investigated and uninvestigated incidents
924
+ - Can be combined with other filters like date ranges, investigation status, etc.
925
+ - Example searches: "database", "timeout", "disk space", "API gateway", "high CPU"
926
+
893
927
  **Alternative using explicit filters**:
894
928
  ```json
895
929
  {
package/USAGE.md CHANGED
@@ -385,19 +385,35 @@ Completeness:
385
385
 
386
386
  **Key Parameters:**
387
387
  - `only_uninvestigated`: Quick filter for new incidents
388
+ - `search_term`: **NEW** Search incidents by title keyword (e.g., "load avg", "database", "timeout")
388
389
  - `investigation_status`: Filter by status
389
390
  - `session_type`: Filter by incident vs manual
390
391
  - `date_from`/`date_to`: Date range filtering
391
392
  - `page`/`limit`: Pagination
393
+ - `compact`: Control compact mode for large results
392
394
 
393
395
  **Example:**
394
396
  ```
395
397
  "Show uninvestigated incidents"
398
+ "List all investigations into load avg issues"
399
+ "Search for database timeout incidents"
400
+ "Find all high CPU incidents from last week"
396
401
  "List sessions from last week"
397
402
  "Show me recent investigations in HTM-Azure"
398
403
  "Find all incidents from October"
399
404
  ```
400
405
 
406
+ **Search Feature:**
407
+ The `search_term` parameter performs case-insensitive partial matching on incident titles. It works with both investigated and uninvestigated incidents and can be combined with other filters:
408
+
409
+ ```
410
+ "List uninvestigated load avg incidents"
411
+ → search_term: "load avg", only_uninvestigated: true
412
+
413
+ "Find all API gateway errors from November"
414
+ → search_term: "API gateway", date_from: "2024-11-01"
415
+ ```
416
+
401
417
  ---
402
418
 
403
419
  ### 4. hawkeye_inspect_session
@@ -25,6 +25,17 @@ export declare function loadConfig(): HawkeyeConfig;
25
25
  * Get the global configuration instance
26
26
  */
27
27
  export declare function getConfig(): HawkeyeConfig;
28
+ /**
29
+ * Update the base URL for Hawkeye API at runtime
30
+ * This allows switching between different Hawkeye instances
31
+ * @param newBaseUrl The new base URL (e.g., "https://prod.app.neubird.ai/api")
32
+ * @returns The updated configuration
33
+ */
34
+ export declare function setBaseUrl(newBaseUrl: string): HawkeyeConfig;
35
+ /**
36
+ * Get the current base URL
37
+ */
38
+ export declare function getCurrentBaseUrl(): string;
28
39
  /**
29
40
  * Constants used throughout the application
30
41
  */
@@ -62,6 +62,33 @@ export function getConfig() {
62
62
  }
63
63
  return config;
64
64
  }
65
+ /**
66
+ * Update the base URL for Hawkeye API at runtime
67
+ * This allows switching between different Hawkeye instances
68
+ * @param newBaseUrl The new base URL (e.g., "https://prod.app.neubird.ai/api")
69
+ * @returns The updated configuration
70
+ */
71
+ export function setBaseUrl(newBaseUrl) {
72
+ if (!config) {
73
+ config = loadConfig();
74
+ }
75
+ // Validate URL format
76
+ try {
77
+ new URL(newBaseUrl);
78
+ }
79
+ catch (error) {
80
+ throw new Error(`Invalid base URL format: ${newBaseUrl}`);
81
+ }
82
+ // Update the base URL
83
+ config.baseUrl = newBaseUrl;
84
+ return config;
85
+ }
86
+ /**
87
+ * Get the current base URL
88
+ */
89
+ export function getCurrentBaseUrl() {
90
+ return getConfig().baseUrl;
91
+ }
65
92
  /**
66
93
  * Constants used throughout the application
67
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -83,6 +83,7 @@ async function main() {
83
83
  }
84
84
  // Execute the tool
85
85
  const toolServices = {
86
+ authService: services.authService,
86
87
  projectService: services.projectService,
87
88
  sessionService: services.sessionService,
88
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,14 @@
3
3
  * Central place to register all MCP tools and their handlers
4
4
  */
5
5
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import { AuthenticationService } from '../services/auth.service.js';
6
7
  import { ProjectService } from '../services/project.service.js';
7
8
  import { SessionService } from '../services/session.service.js';
8
9
  /**
9
10
  * Services required by tool handlers
10
11
  */
11
12
  export interface ToolServices {
13
+ authService: AuthenticationService;
12
14
  projectService: ProjectService;
13
15
  sessionService: SessionService;
14
16
  }
@@ -19,6 +19,8 @@ export function getToolDefinitions() {
19
19
  getSessionReportTool(),
20
20
  getSessionSummaryTool(),
21
21
  getIncidentReportTool(),
22
+ // Configuration tools
23
+ getSwitchInstanceTool(),
22
24
  ];
23
25
  }
24
26
  /**
@@ -354,4 +356,29 @@ function getIncidentReportTool() {
354
356
  },
355
357
  };
356
358
  }
359
+ /**
360
+ * Tool: hawkeye_switch_instance
361
+ */
362
+ function getSwitchInstanceTool() {
363
+ return {
364
+ tool: {
365
+ name: 'hawkeye_switch_instance',
366
+ description: 'Switch to a different Hawkeye instance by updating the base URL. Useful for users managing multiple Hawkeye environments (dev, staging, prod) or multiple customer instances. This clears authentication tokens and project cache.',
367
+ inputSchema: {
368
+ type: 'object',
369
+ properties: {
370
+ base_url: {
371
+ type: 'string',
372
+ description: 'The new Hawkeye API base URL to connect to (e.g., "https://prod.app.neubird.ai/api", "https://sandbox.app.neubird.ai/api"). Must include the /api path.',
373
+ },
374
+ },
375
+ required: ['base_url'],
376
+ },
377
+ },
378
+ handler: async (services, args) => {
379
+ const { switchInstance } = await import('./switch-instance.js');
380
+ return switchInstance(services, args);
381
+ },
382
+ };
383
+ }
357
384
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Tool: hawkeye_switch_instance
3
+ * Switches the Hawkeye API base URL to connect to a different instance
4
+ */
5
+ import { ToolServices } from './index.js';
6
+ import { z } from 'zod';
7
+ /**
8
+ * Input validation schema
9
+ */
10
+ declare const SwitchInstanceInputSchema: z.ZodObject<{
11
+ base_url: z.ZodString;
12
+ }, "strip", z.ZodTypeAny, {
13
+ base_url: string;
14
+ }, {
15
+ base_url: string;
16
+ }>;
17
+ export type SwitchInstanceInput = z.infer<typeof SwitchInstanceInputSchema>;
18
+ /**
19
+ * Switch to a different Hawkeye instance
20
+ */
21
+ export declare function switchInstance(services: ToolServices, args: unknown): Promise<any>;
22
+ export {};
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Tool: hawkeye_switch_instance
3
+ * Switches the Hawkeye API base URL to connect to a different instance
4
+ */
5
+ import { setBaseUrl, getCurrentBaseUrl } from '../config/config.js';
6
+ import { logger } from '../utils/logger.js';
7
+ import { z } from 'zod';
8
+ /**
9
+ * Input validation schema
10
+ */
11
+ const SwitchInstanceInputSchema = z.object({
12
+ base_url: z.string().url().describe('The new Hawkeye API base URL (e.g., "https://prod.app.neubird.ai/api")'),
13
+ });
14
+ /**
15
+ * Switch to a different Hawkeye instance
16
+ */
17
+ export async function switchInstance(services, args) {
18
+ const input = SwitchInstanceInputSchema.parse(args);
19
+ logger.info('Switching Hawkeye instance', {
20
+ previousUrl: getCurrentBaseUrl(),
21
+ newUrl: input.base_url,
22
+ });
23
+ try {
24
+ // Get previous URL for comparison
25
+ const previousUrl = getCurrentBaseUrl();
26
+ // Update the base URL in config
27
+ const updatedConfig = setBaseUrl(input.base_url);
28
+ // Clear cached authentication tokens (different instance requires new auth)
29
+ services.authService.clearTokenCache();
30
+ // Clear project cache (different instance has different projects)
31
+ services.projectService.clearCache();
32
+ logger.info(`Successfully switched to new Hawkeye instance: ${input.base_url}`);
33
+ return {
34
+ success: true,
35
+ previous_url: previousUrl,
36
+ new_url: updatedConfig.baseUrl,
37
+ message: `Switched from ${previousUrl} to ${updatedConfig.baseUrl}. Authentication tokens cleared. You can now use Hawkeye tools with the new instance.`,
38
+ note: 'The next Hawkeye API call will authenticate against the new instance.',
39
+ };
40
+ }
41
+ catch (error) {
42
+ logger.error('Failed to switch Hawkeye instance', error);
43
+ return {
44
+ success: false,
45
+ error: error instanceof Error ? error.message : String(error),
46
+ current_url: getCurrentBaseUrl(),
47
+ suggestions: [
48
+ 'Verify the base URL format is correct (e.g., "https://app.neubird.ai/api")',
49
+ 'Ensure the URL includes the /api path',
50
+ 'Check that the instance is accessible',
51
+ ],
52
+ };
53
+ }
54
+ }
55
+ //# sourceMappingURL=switch-instance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-instance.js","sourceRoot":"","sources":["../../src/tools/switch-instance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;CAC9G,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAsB,EACtB,IAAa;IAEb,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;QACxC,WAAW,EAAE,iBAAiB,EAAE;QAChC,MAAM,EAAE,KAAK,CAAC,QAAQ;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;QAExC,gCAAgC;QAChC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEjD,4EAA4E;QAC5E,QAAQ,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEvC,kEAAkE;QAClE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC,kDAAkD,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEhF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,OAAO,EAAE,iBAAiB,WAAW,OAAO,aAAa,CAAC,OAAO,uFAAuF;YACxJ,IAAI,EAAE,uEAAuE;SAC9E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAEzD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,WAAW,EAAE,iBAAiB,EAAE;YAChC,WAAW,EAAE;gBACX,4EAA4E;gBAC5E,uCAAuC;gBACvC,uCAAuC;aACxC;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hawkeye-mcp-server",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "MCP Server for Hawkeye automated incident investigation and root cause analysis",
5
5
  "private": false,
6
6
  "type": "module",