hawkeye-mcp-server 1.1.0 → 1.2.1

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 CHANGED
@@ -5,6 +5,91 @@ All notable changes to the Hawkeye MCP Server will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.2.1] - 2025-11-20
9
+
10
+ ### Enhanced
11
+ - **Smart URL Normalization for Instance Switching** - The `hawkeye_switch_instance` tool now accepts flexible URL formats:
12
+ - Just subdomain: `"prod"` → `https://prod.app.neubird.ai/api`
13
+ - Partial URL: `"prod.app.neubird.ai"` → `https://prod.app.neubird.ai/api`
14
+ - Full URL: preserved with smart completion
15
+ - Automatic `https://` prefix addition
16
+ - Automatic `/api` path suffix addition
17
+ - Custom domain support
18
+
19
+ ### Added
20
+ - Comprehensive URL normalization examples in documentation
21
+ - New "Working with Multiple Hawkeye Instances" section in USAGE.md
22
+ - Complete tool specification for `hawkeye_switch_instance` in SPECIFICATION.md
23
+ - Test suite for URL normalization (7 test cases, 100% passing)
24
+
25
+ ### Changed
26
+ - Updated tool description to clarify flexible URL input formats
27
+ - Enhanced error messages with URL normalization information
28
+
29
+ ---
30
+
31
+ ## [1.2.0] - 2025-11-20
32
+
33
+ ### Added
34
+ - **Instance Switching** - New `hawkeye_switch_instance` tool for managing multiple Hawkeye environments
35
+ - Switch between dev/staging/production environments
36
+ - Support for multiple customer deployments
37
+ - Automatic authentication token clearing
38
+ - Automatic project cache clearing
39
+ - URL validation
40
+
41
+ ### Changed
42
+ - Added `clearCache()` method to ProjectService
43
+ - Added `clearTokenCache()` method to AuthenticationService
44
+ - Updated ToolServices interface to include authService
45
+
46
+ ---
47
+
48
+ ## [1.1.0] - 2025-11-19
49
+
50
+ ### Added
51
+ - **Search Functionality** - New `search_term` parameter for `hawkeye_list_sessions`
52
+ - Search incidents by title using keywords (e.g., "load avg", "database", "timeout")
53
+ - Case-insensitive partial matching
54
+ - Works with both investigated and uninvestigated incidents
55
+ - Can be combined with other filters
56
+
57
+ ### Changed
58
+ - Updated documentation with search examples
59
+ - Enhanced USAGE.md with search use cases
60
+
61
+ ---
62
+
63
+ ## [1.0.2] - 2025-11-19
64
+
65
+ ### Enhanced
66
+ - **Tool Descriptions** - Improved clarity to help LLMs select the correct tool
67
+ - Added explicit "START new" vs "ALREADY STARTED" language
68
+ - Added "Do NOT use" warnings to prevent tool confusion
69
+ - Enhanced parameter descriptions for alert_id and session_uuid
70
+ - Added `investigation_hint` to list_sessions response for uninvestigated incidents
71
+
72
+ ### Changed
73
+ - Updated tool descriptions for `hawkeye_investigate_alert` and `hawkeye_continue_investigation`
74
+ - Added contextual hints in responses to guide proper tool usage
75
+
76
+ ---
77
+
78
+ ## [1.0.1] - 2025-11-19
79
+
80
+ ### Added
81
+ - **Compact Mode** - Automatic token optimization for large result sets
82
+ - Auto-enables for >10 sessions in list_sessions
83
+ - Strips verbose fields (raw_data, detailed grouped_incidents)
84
+ - 88.5% token reduction (from ~78KB to ~9KB for 20 sessions)
85
+ - Keeps essential fields: id, title, priority, status, create_time
86
+ - Manual control via `compact` parameter
87
+
88
+ ### Enhanced
89
+ - Added helpful hints in responses (compact_hint, pagination_hint, investigation_hint)
90
+
91
+ ---
92
+
8
93
  ## [1.0.0] - 2024-11-19
9
94
 
10
95
  ### Added
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,36 @@ 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 with flexible URL formats:
220
+
221
+ ```
222
+ "Switch to the production instance"
223
+ "Switch to customerA deployment"
224
+ "Switch to staging.app.neubird.ai"
225
+ ```
226
+
227
+ The tool accepts multiple URL formats and automatically normalizes them:
228
+
229
+ **Supported Formats:**
230
+ - **Just subdomain**: `"prod"` → `https://prod.app.neubird.ai/api`
231
+ - **Subdomain name**: `"customerA"` → `https://customerA.app.neubird.ai/api`
232
+ - **Partial URL**: `"prod.app.neubird.ai"` → `https://prod.app.neubird.ai/api`
233
+ - **URL without protocol**: `"staging.app.neubird.ai"` → `https://staging.app.neubird.ai/api`
234
+ - **Full URL without path**: `"https://prod.app.neubird.ai"` → `https://prod.app.neubird.ai/api`
235
+ - **Complete URL**: `"https://prod.app.neubird.ai/api"` → `https://prod.app.neubird.ai/api` (no change)
236
+ - **Custom domains**: `"custom.domain.com/api"` → `https://custom.domain.com/api`
237
+
238
+ **Example:**
239
+ ```json
240
+ {
241
+ "base_url": "prod"
242
+ }
243
+ ```
244
+
245
+ Useful for users managing multiple environments (dev, staging, production) or multiple customer instances. Automatically clears authentication tokens and project cache, requiring re-authentication on the next API call.
246
+
150
247
  ## 🛠️ Available Tools
151
248
 
152
249
  The Hawkeye MCP Server provides the following tools to AI agents:
@@ -162,6 +259,7 @@ The Hawkeye MCP Server provides the following tools to AI agents:
162
259
  | `hawkeye_get_session_report` | Get summary reports with time-saved metrics |
163
260
  | `hawkeye_get_session_summary` | Get quality scores and analysis metrics |
164
261
  | `hawkeye_get_incident_report` | Get organization-wide incident analytics |
262
+ | `hawkeye_switch_instance` | **NEW** Switch to a different Hawkeye instance (dev/staging/prod) |
165
263
 
166
264
  See the [API Reference](./SPECIFICATION.md) for detailed documentation on each tool.
167
265
 
@@ -191,9 +289,9 @@ See the [API Reference](./SPECIFICATION.md) for detailed documentation on each t
191
289
 
192
290
  The Hawkeye MCP Server works with any MCP-compatible AI agent:
193
291
 
194
- - ✅ **Claude Code** (CLI tool - macOS, Windows, Linux) - **Recommended for developers**
292
+ - ✅ **Cursor** (macOS, Windows, Linux) - **Recommended for IDE integration**
293
+ - ✅ **Claude Code** (CLI tool - macOS, Windows, Linux) - **Recommended for terminal workflows**
195
294
  - ✅ **Claude Desktop** (macOS, Windows)
196
- - ✅ **Cursor.ai** (macOS, Windows, Linux)
197
295
  - ✅ **Continue.dev** (VS Code extension)
198
296
  - ✅ Any other MCP-compatible agent
199
297
 
@@ -230,7 +328,27 @@ For more troubleshooting tips, see the [Installation Guide](./INSTALLATION.md#tr
230
328
 
231
329
  ## 📊 Examples
232
330
 
233
- ### Example 1: Find and Investigate Uninvestigated Incidents
331
+ ### Example 1: Using in Cursor IDE
332
+
333
+ ```
334
+ You: "List all my Hawkeye projects"
335
+
336
+ Cursor: *Shows your available projects with sync status*
337
+
338
+ You: "Show me all uninvestigated incidents from the Variation1 project"
339
+
340
+ Cursor: *Lists uninvestigated incidents*
341
+
342
+ You: "Investigate the most recent one"
343
+
344
+ Cursor: *Creates investigation and returns detailed RCA*
345
+
346
+ You: "Can you dig deeper into the network issues mentioned?"
347
+
348
+ Cursor: *Continues investigation with follow-up analysis*
349
+ ```
350
+
351
+ ### Example 2: Find and Investigate Uninvestigated Incidents
234
352
 
235
353
  ```
236
354
  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
 
@@ -465,7 +474,92 @@ A developer using Cursor.ai encounters an alert or incident in their cloud envir
465
474
  }
466
475
  ```
467
476
 
468
- ### 11. `hawkeye_configure_defaults`
477
+ ### 11. `hawkeye_switch_instance`
478
+
479
+ **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.
480
+
481
+ **Input Schema**:
482
+ ```typescript
483
+ {
484
+ base_url: string; // The new Hawkeye instance to connect to
485
+ // Accepts multiple formats:
486
+ // - Just subdomain: "prod", "customerA"
487
+ // - Partial URL: "prod.app.neubird.ai"
488
+ // - Full URL: "https://prod.app.neubird.ai/api"
489
+ }
490
+ ```
491
+
492
+ **Behavior**:
493
+ 1. Normalizes the input URL to ensure correct format:
494
+ - Adds `.app.neubird.ai` suffix if only subdomain provided
495
+ - Adds `https://` prefix if protocol missing
496
+ - Adds `/api` path if not present
497
+ 2. Validates the URL format
498
+ 3. Updates the base URL configuration
499
+ 4. Clears cached authentication tokens (different instance requires new auth)
500
+ 5. Clears project cache (different instance has different projects)
501
+
502
+ **URL Normalization Examples**:
503
+
504
+ | Input | Normalized Output |
505
+ |-------|------------------|
506
+ | `"prod"` | `https://prod.app.neubird.ai/api` |
507
+ | `"customerA"` | `https://customerA.app.neubird.ai/api` |
508
+ | `"staging"` | `https://staging.app.neubird.ai/api` |
509
+ | `"prod.app.neubird.ai"` | `https://prod.app.neubird.ai/api` |
510
+ | `"https://prod.app.neubird.ai"` | `https://prod.app.neubird.ai/api` |
511
+ | `"https://prod.app.neubird.ai/api"` | `https://prod.app.neubird.ai/api` |
512
+ | `"custom.domain.com/api"` | `https://custom.domain.com/api` |
513
+
514
+ **Output**:
515
+ ```typescript
516
+ {
517
+ success: boolean;
518
+ input_provided: string; // Original input from user
519
+ normalized_url: string; // URL after normalization
520
+ previous_url: string; // Previous base URL
521
+ new_url: string; // New base URL (same as normalized_url)
522
+ message: string; // Human-readable status message
523
+ note: string; // Important information about next steps
524
+ }
525
+ ```
526
+
527
+ **Success Response Example**:
528
+ ```typescript
529
+ {
530
+ success: true,
531
+ input_provided: "prod",
532
+ normalized_url: "https://prod.app.neubird.ai/api",
533
+ previous_url: "https://sandbox.app.neubird.ai/api",
534
+ new_url: "https://prod.app.neubird.ai/api",
535
+ message: "Switched from https://sandbox.app.neubird.ai/api to https://prod.app.neubird.ai/api. Authentication tokens cleared. You can now use Hawkeye tools with the new instance.",
536
+ note: "The next Hawkeye API call will authenticate against the new instance."
537
+ }
538
+ ```
539
+
540
+ **Error Response Example**:
541
+ ```typescript
542
+ {
543
+ success: false,
544
+ error: "Invalid base URL format: invalid-url",
545
+ current_url: "https://sandbox.app.neubird.ai/api",
546
+ suggestions: [
547
+ "Verify the base URL format is correct (e.g., \"https://app.neubird.ai/api\")",
548
+ "Ensure the URL includes the /api path",
549
+ "Check that the instance is accessible"
550
+ ]
551
+ }
552
+ ```
553
+
554
+ **Important Notes**:
555
+ - Switching instances clears all authentication tokens
556
+ - Switching instances clears the project cache
557
+ - The next API call will trigger re-authentication
558
+ - Users will need to re-list projects after switching
559
+
560
+ ---
561
+
562
+ ### 12. `hawkeye_configure_defaults`
469
563
 
470
564
  **Description**: Sets default project and preferences for the session.
471
565
 
@@ -890,6 +984,31 @@ Show me all the incidents that haven't been investigated yet in the HTM-Azure pr
890
984
  }
891
985
  ```
892
986
 
987
+ ### Example 1b: Search for Specific Incidents
988
+
989
+ **User to Cursor**:
990
+ ```
991
+ List all investigations into load avg issues
992
+ ```
993
+
994
+ **Cursor calls**:
995
+ ```json
996
+ {
997
+ "tool": "hawkeye_list_sessions",
998
+ "arguments": {
999
+ "search_term": "load avg",
1000
+ "only_uninvestigated": true,
1001
+ "limit": 20
1002
+ }
1003
+ }
1004
+ ```
1005
+
1006
+ **Notes**:
1007
+ - The `search_term` performs case-insensitive partial matching on incident titles
1008
+ - Works with both investigated and uninvestigated incidents
1009
+ - Can be combined with other filters like date ranges, investigation status, etc.
1010
+ - Example searches: "database", "timeout", "disk space", "API gateway", "high CPU"
1011
+
893
1012
  **Alternative using explicit filters**:
894
1013
  ```json
895
1014
  {
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
@@ -513,6 +529,79 @@ Completeness:
513
529
 
514
530
  ## Advanced Usage
515
531
 
532
+ ### Working with Multiple Hawkeye Instances
533
+
534
+ If you manage multiple Hawkeye instances (dev, staging, production) or multiple customer deployments, you can easily switch between them:
535
+
536
+ **Switch Using Simple Names:**
537
+
538
+ ```
539
+ You: "Switch to the production instance"
540
+
541
+ Agent: *Calls hawkeye_switch_instance with base_url: "prod"*
542
+
543
+ Response:
544
+ ✅ Switched from https://sandbox.app.neubird.ai/api to https://prod.app.neubird.ai/api
545
+ Authentication tokens cleared. Next API call will authenticate against the new instance.
546
+ ```
547
+
548
+ **Switch Using Partial URLs:**
549
+
550
+ ```
551
+ You: "Switch to staging.app.neubird.ai"
552
+
553
+ Agent: *Automatically adds https:// prefix and /api suffix*
554
+
555
+ Response: Successfully switched to https://staging.app.neubird.ai/api
556
+ ```
557
+
558
+ **Switch to Customer Deployments:**
559
+
560
+ ```
561
+ You: "Switch to the customerA deployment"
562
+
563
+ Agent: *Calls hawkeye_switch_instance with base_url: "customerA"*
564
+
565
+ Response: Switched to https://customerA.app.neubird.ai/api
566
+ ```
567
+
568
+ **Supported URL Formats:**
569
+
570
+ The `hawkeye_switch_instance` tool accepts flexible URL formats:
571
+
572
+ | Input Format | Normalized Output |
573
+ |--------------|------------------|
574
+ | `"prod"` | `https://prod.app.neubird.ai/api` |
575
+ | `"customerA"` | `https://customerA.app.neubird.ai/api` |
576
+ | `"staging.app.neubird.ai"` | `https://staging.app.neubird.ai/api` |
577
+ | `"https://prod.app.neubird.ai"` | `https://prod.app.neubird.ai/api` |
578
+ | `"https://prod.app.neubird.ai/api"` | `https://prod.app.neubird.ai/api` |
579
+ | `"custom.domain.com/api"` | `https://custom.domain.com/api` |
580
+
581
+ **Important Notes:**
582
+ - Switching instances **clears all cached authentication tokens**
583
+ - Switching instances **clears the project cache**
584
+ - The next API call will automatically re-authenticate against the new instance
585
+ - You'll need to re-list projects after switching to see what's available on the new instance
586
+
587
+ **Example Workflow:**
588
+
589
+ ```
590
+ You: "Switch to prod"
591
+ Agent: ✅ Switched to prod instance
592
+
593
+ You: "List my projects"
594
+ Agent: *Authenticates to prod, lists projects*
595
+
596
+ You: "Show uninvestigated incidents"
597
+ Agent: *Uses the prod instance*
598
+
599
+ You: "Switch back to sandbox"
600
+ Agent: ✅ Switched to sandbox instance
601
+ ```
602
+
603
+ ---
604
+
516
605
  ### Working with Multiple Projects
517
606
 
518
607
  If you manage multiple Hawkeye projects:
@@ -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":";AACA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,WAAW;AACX,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AAEzE;;GAEG;AACH,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEnE,OAAO;QACL,WAAW;QACX,cAAc;QACd,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QAEtC,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;YACE,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,OAAO,EAAE,MAAM,CAAC,aAAa;SAC9B,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,2BAA2B;QAC3B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzF;;WAEG;QACH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH;;WAEG;QACH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAwB,EAAE,EAAE;YACjF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAE/D,IAAI,CAAC;gBACH,uBAAuB;gBACvB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oCACE,KAAK,EAAE;wCACL,IAAI,EAAE,YAAY;wCAClB,OAAO,EAAE,iBAAiB,QAAQ,EAAE;qCACrC;iCACF,EACD,IAAI,EACJ,CAAC,CACF;6BACF;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,mBAAmB;gBACnB,MAAM,YAAY,GAAiB;oBACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;iBACxC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAErD,oBAAoB;gBACpB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;yBACxD;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,aAAa,uBAAuB,CAAC,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO;IACpB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,kBAAkB;AAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE/B,mBAAmB;AACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -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. Accepts flexible URL formats and automatically adds https:// and /api if needed. 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 instance to connect to. Accepts multiple formats: just subdomain ("prod", "customerA"), partial URL ("prod.app.neubird.ai"), or full URL ("https://prod.app.neubird.ai/api"). The tool will automatically format it correctly.',
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,88 @@
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().min(1).describe('The new Hawkeye instance identifier or URL. Can be: a subdomain like "prod" or "customerA", a partial URL like "prod.app.neubird.ai", or a full URL like "https://prod.app.neubird.ai/api"'),
13
+ });
14
+ /**
15
+ * Normalize and format the base URL to ensure it has the correct format
16
+ * Handles various input formats:
17
+ * - "prod" → "https://prod.app.neubird.ai/api"
18
+ * - "customerA" → "https://customerA.app.neubird.ai/api"
19
+ * - "prod.app.neubird.ai" → "https://prod.app.neubird.ai/api"
20
+ * - "https://prod.app.neubird.ai" → "https://prod.app.neubird.ai/api"
21
+ * - "https://prod.app.neubird.ai/api" → "https://prod.app.neubird.ai/api" (no change)
22
+ * - "https://custom.domain.com/api" → "https://custom.domain.com/api" (custom domains preserved)
23
+ */
24
+ function normalizeBaseUrl(input) {
25
+ let url = input.trim();
26
+ // If it's just a subdomain like "prod" or "customerA", add the full domain
27
+ if (!url.includes('.') && !url.includes('://')) {
28
+ url = `${url}.app.neubird.ai`;
29
+ }
30
+ // Add https:// prefix if missing
31
+ if (!url.startsWith('http://') && !url.startsWith('https://')) {
32
+ url = `https://${url}`;
33
+ }
34
+ // Add /api suffix if missing
35
+ if (!url.endsWith('/api')) {
36
+ // Remove trailing slash if present
37
+ url = url.replace(/\/$/, '');
38
+ url = `${url}/api`;
39
+ }
40
+ return url;
41
+ }
42
+ /**
43
+ * Switch to a different Hawkeye instance
44
+ */
45
+ export async function switchInstance(services, args) {
46
+ const input = SwitchInstanceInputSchema.parse(args);
47
+ try {
48
+ // Normalize the URL (handles partial URLs, adds https://, adds /api suffix)
49
+ const normalizedUrl = normalizeBaseUrl(input.base_url);
50
+ logger.info('Switching Hawkeye instance', {
51
+ previousUrl: getCurrentBaseUrl(),
52
+ inputUrl: input.base_url,
53
+ normalizedUrl: normalizedUrl,
54
+ });
55
+ // Get previous URL for comparison
56
+ const previousUrl = getCurrentBaseUrl();
57
+ // Update the base URL in config
58
+ const updatedConfig = setBaseUrl(normalizedUrl);
59
+ // Clear cached authentication tokens (different instance requires new auth)
60
+ services.authService.clearTokenCache();
61
+ // Clear project cache (different instance has different projects)
62
+ services.projectService.clearCache();
63
+ logger.info(`Successfully switched to new Hawkeye instance: ${input.base_url}`);
64
+ return {
65
+ success: true,
66
+ input_provided: input.base_url,
67
+ normalized_url: normalizedUrl,
68
+ previous_url: previousUrl,
69
+ new_url: updatedConfig.baseUrl,
70
+ message: `Switched from ${previousUrl} to ${updatedConfig.baseUrl}. Authentication tokens cleared. You can now use Hawkeye tools with the new instance.`,
71
+ note: 'The next Hawkeye API call will authenticate against the new instance.',
72
+ };
73
+ }
74
+ catch (error) {
75
+ logger.error('Failed to switch Hawkeye instance', error);
76
+ return {
77
+ success: false,
78
+ error: error instanceof Error ? error.message : String(error),
79
+ current_url: getCurrentBaseUrl(),
80
+ suggestions: [
81
+ 'Verify the base URL format is correct (e.g., "https://app.neubird.ai/api")',
82
+ 'Ensure the URL includes the /api path',
83
+ 'Check that the instance is accessible',
84
+ ],
85
+ };
86
+ }
87
+ }
88
+ //# sourceMappingURL=switch-instance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-instance.js","sourceRoot":"","sources":["../../src/tools/switch-instance.ts"],"names":[],"mappings":"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"}
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.1",
4
4
  "description": "MCP Server for Hawkeye automated incident investigation and root cause analysis",
5
5
  "private": false,
6
6
  "type": "module",