@mithung/vunet-mcp-server 2.0.8 → 2.1.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
@@ -1,93 +1,67 @@
1
1
  # @mithung/vunet-mcp-server
2
2
 
3
- [![npm version](https://badge.fury.io/js/@mithung%2Fvunet-mcp-server.svg)](https://badge.fury.io/js/@mithung%2Fvunet-mcp-server)
3
+ [![npm version](https://badge.fury.io/js/@mithung%2Fvunet-mcp-server.svg)](https://www.npmjs.com/package/@mithung/vunet-mcp-server)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
  [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org)
6
6
 
7
- **Model Context Protocol (MCP) Server for Vunet vuSmartMaps** - A multi-tenant observability platform integration similar to Dynatrace MCP.
7
+ **Model Context Protocol (MCP) Server for Vunet vuSmartMaps** - A multi-tenant observability platform integration.
8
8
 
9
- Query metrics, traces, logs, and data models from your Vunet tenants using natural language through AI assistants like Claude, ChatGPT, or any MCP-compatible client.
9
+ Query metrics, traces, logs, and data models from your Vunet tenants using natural language through AI assistants like Claude, GitHub Copilot, or any MCP-compatible client.
10
10
 
11
- > **Latest Version:** 2.0.8 - Fixed authentication endpoint, comprehensive RCA documentation added.
11
+ > **Latest Version:** 2.1.0 - Authentication improvements with proxy support.
12
12
 
13
13
  ---
14
14
 
15
15
  ## 🚀 Features
16
16
 
17
17
  - ✅ **Multi-Tenant Support** - Connect to multiple Vunet tenants simultaneously
18
- - 🔐 **Secure Authentication** - Session-based authentication with automatic token refresh
19
- - 📊 **Comprehensive Data Access** - Query 80+ data models including:
18
+ - 🔐 **Secure Authentication** - Session-based auth with automatic token refresh
19
+ - 📊 **Comprehensive Data Access** - Query 600+ data models including:
20
+ - Journey Metrics (IBMB, UPI, CBS, FRM)
21
+ - Application traces and exceptions
22
+ - Infrastructure metrics (CPU, Memory, Disk)
20
23
  - Kubernetes metrics
21
- - Application traces
22
- - Transaction volumes
23
- - Infrastructure metrics
24
- - Custom data models
24
+ - Alert data and RCA metrics
25
25
  - ⚡ **Flexible Querying** - Support for:
26
- - Relative time ranges (`15m`, `1h`, `1d`, `1w`, `1M`, `1y`)
26
+ - Relative time ranges (`5m`, `15m`, `1h`, `2h`, `1d`, `1w`, `1M`)
27
27
  - Absolute time ranges (epoch timestamps)
28
28
  - Dynamic filters and field selection
29
- - Time-shift comparisons
30
- - Threshold data inclusion
31
- - 🔄 **Automatic Session Management** - Handles login, token refresh, and logout
32
- - 🌐 **SSL/TLS Support** - Configurable SSL certificate verification
33
- - 📦 **Easy Installation** - npm package ready for global or local use
34
-
35
- ---
36
-
37
- ## 📋 Table of Contents
38
-
39
- - [Installation](#installation)
40
- - [Quick Start](#quick-start)
41
- - [Configuration](#configuration)
42
- - [VS Code Configuration](#vs-code-configuration)
43
- - [Multiple Tenants](#multiple-tenants)
44
- - [Usage](#usage)
45
- - [Available Tools](#available-tools)
46
- - [Query Examples](#query-examples)
47
- - [Data Models](#data-models)
48
- - [Environment Variables](#environment-variables)
49
- - [Troubleshooting](#troubleshooting)
50
- - [Examples](#examples)
51
- - [Contributing](#contributing)
52
- - [License](#license)
29
+ - 🔄 **Auto Session Management** - Handles login, token refresh, and logout
30
+ - 🌐 **Proxy Support** - Works with Traefik and other reverse proxies
53
31
 
54
32
  ---
55
33
 
56
34
  ## 📦 Installation
57
35
 
58
- ### Global Installation (Recommended)
36
+ ### Using npx (Recommended - No Installation Required)
59
37
 
60
38
  ```bash
61
- npm install -g @mithung/vunet-mcp-server
39
+ npx @mithung/vunet-mcp-server
62
40
  ```
63
41
 
64
- ### Local Installation
42
+ ### Global Installation
65
43
 
66
44
  ```bash
67
- npm install @mithung/vunet-mcp-server
45
+ npm install -g @mithung/vunet-mcp-server
68
46
  ```
69
47
 
70
- ### From Source
48
+ ### Local Installation
71
49
 
72
50
  ```bash
73
- git clone https://github.com/mithung/vunet-mcp-server.git
74
- cd vunet-mcp-server
75
- npm install
76
- npm link
51
+ npm install @mithung/vunet-mcp-server
77
52
  ```
78
53
 
79
54
  ---
80
55
 
81
- ## 🚀 Quick Start
56
+ ## 🛠️ Configuration
82
57
 
83
- ### 1. Configure VS Code (or any MCP client)
58
+ ### VS Code / GitHub Copilot Setup
84
59
 
85
- Add to your `settings.json` or `.vscode/mcp.json`:
60
+ Create `.vscode/mcp.json` in your workspace:
86
61
 
87
- **Option A: Username/Password Authentication**
88
62
  ```json
89
63
  {
90
- "mcpServers": {
64
+ "servers": {
91
65
  "vunet": {
92
66
  "command": "npx",
93
67
  "args": ["@mithung/vunet-mcp-server"],
@@ -103,119 +77,51 @@ Add to your `settings.json` or `.vscode/mcp.json`:
103
77
  }
104
78
  ```
105
79
 
106
- **Option B: Bearer Token Authentication (Recommended for CI/CD)**
107
- ```json
108
- {
109
- "mcpServers": {
110
- "vunet": {
111
- "command": "npx",
112
- "args": ["@mithung/vunet-mcp-server"],
113
- "env": {
114
- "VUNET_TENANT_URL": "https://your-tenant.vunetsystems.com",
115
- "VUNET_BEARER_TOKEN": "your-bearer-token-here",
116
- "VUNET_BU_ID": "1",
117
- "VUNET_VERIFY_SSL": "true"
118
- }
119
- }
120
- }
121
- }
122
- ```
123
-
124
- ### 2. Reload VS Code
80
+ ### Multiple Tenants
125
81
 
126
- Press `Ctrl+Shift+P` (Windows/Linux) or `Cmd+Shift+P` (Mac), then run:
127
- ```
128
- Developer: Reload Window
129
- ```
130
-
131
- ### 3. Start Using!
132
-
133
- Open GitHub Copilot Chat or any MCP client and ask:
134
- - "Show me Kubernetes metrics for the last 15 minutes"
135
- - "What traces are taking more than 5 seconds?"
136
- - "Get transaction volume for the last 24 hours"
137
-
138
- ---
139
-
140
- ## ⚙️ Configuration
141
-
142
- ### VS Code Configuration
143
-
144
- #### Single Tenant
145
-
146
- Create or edit `.vscode/mcp.json` in your workspace:
147
-
148
- **Using Username/Password:**
149
82
  ```json
150
83
  {
151
- "mcpServers": {
152
- "vunet": {
84
+ "servers": {
85
+ "vunet-prod": {
153
86
  "command": "npx",
154
87
  "args": ["@mithung/vunet-mcp-server"],
155
88
  "env": {
156
- "VUNET_TENANT_URL": "https://your-tenant.com",
157
- "VUNET_USERNAME": "your-username",
158
- "VUNET_PASSWORD": "your-password",
89
+ "VUNET_TENANT_URL": "https://prod.vunetsystems.com",
90
+ "VUNET_USERNAME": "prod-user",
91
+ "VUNET_PASSWORD": "prod-password",
159
92
  "VUNET_BU_ID": "1",
160
93
  "VUNET_VERIFY_SSL": "true"
161
94
  }
162
- }
163
- }
164
- }
165
- ```
166
-
167
- **Using Bearer Token:**
168
- ```json
169
- {
170
- "mcpServers": {
171
- "vunet": {
95
+ },
96
+ "vunet-uat": {
172
97
  "command": "npx",
173
98
  "args": ["@mithung/vunet-mcp-server"],
174
99
  "env": {
175
- "VUNET_TENANT_URL": "https://your-tenant.com",
176
- "VUNET_BEARER_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
100
+ "VUNET_TENANT_URL": "https://uat.vunetsystems.com",
101
+ "VUNET_USERNAME": "uat-user",
102
+ "VUNET_PASSWORD": "uat-password",
177
103
  "VUNET_BU_ID": "1",
178
- "VUNET_VERIFY_SSL": "true"
104
+ "VUNET_VERIFY_SSL": "false"
179
105
  }
180
106
  }
181
107
  }
182
108
  }
183
109
  ```
184
110
 
185
- #### Multiple Tenants
111
+ ### Running from Source
112
+
113
+ If you've cloned the repository:
186
114
 
187
115
  ```json
188
116
  {
189
- "mcpServers": {
190
- "vunet-production": {
191
- "command": "npx",
192
- "args": ["@mithung/vunet-mcp-server"],
193
- "env": {
194
- "VUNET_TENANT_URL": "https://prod.company.com",
195
- "VUNET_USERNAME": "prod-user",
196
- "VUNET_PASSWORD": "prod-password",
197
- "VUNET_BU_ID": "1",
198
- "VUNET_VERIFY_SSL": "true"
199
- }
200
- },
201
- "vunet-staging": {
202
- "command": "npx",
203
- "args": ["@mithung/vunet-mcp-server"],
204
- "env": {
205
- "VUNET_TENANT_URL": "https://staging.company.com",
206
- "VUNET_USERNAME": "staging-user",
207
- "VUNET_PASSWORD": "staging-password",
208
- "VUNET_BU_ID": "1",
209
- "VUNET_VERIFY_SSL": "true"
210
- }
211
- },
212
- "vunet-dev": {
117
+ "servers": {
118
+ "vunet": {
213
119
  "command": "node",
214
- "args": ["C:\\path\\to\\local\\vunet-mcp-server\\index.js"],
120
+ "args": ["c:\\path\\to\\vunet-mcp-server\\index.js"],
215
121
  "env": {
216
- "VUNET_TENANT_URL": "https://dev.company.com",
217
- "VUNET_USERNAME": "dev-user",
218
- "VUNET_PASSWORD": "dev-password",
122
+ "VUNET_TENANT_URL": "https://your-tenant.vunetsystems.com",
123
+ "VUNET_USERNAME": "your-username",
124
+ "VUNET_PASSWORD": "your-password",
219
125
  "VUNET_BU_ID": "1",
220
126
  "VUNET_VERIFY_SSL": "false"
221
127
  }
@@ -224,458 +130,186 @@ Create or edit `.vscode/mcp.json` in your workspace:
224
130
  }
225
131
  ```
226
132
 
227
- ### Windows Path Format
228
-
229
- For local installations on Windows, use double backslashes or forward slashes:
230
-
231
- ```json
232
- {
233
- "command": "C:\\Program Files\\nodejs\\node.exe",
234
- "args": ["C:\\Projects\\vunet-mcp-server\\index.js"]
235
- }
236
- ```
237
-
238
- Or:
239
-
240
- ```json
241
- {
242
- "command": "C:/Program Files/nodejs/node.exe",
243
- "args": ["C:/Projects/vunet-mcp-server/index.js"]
244
- }
245
- ```
246
-
247
133
  ---
248
134
 
249
- ## 🛠️ Usage
250
-
251
- ### Available Tools
252
-
253
- #### 1. `vunet_query_metric`
254
-
255
- Query any Vunet data model with flexible time ranges and filters.
256
-
257
- **Parameters:**
135
+ ## 📊 Available MCP Tools
258
136
 
259
- | Parameter | Type | Required | Description | Example |
260
- |-----------|------|----------|-------------|---------|
261
- | `metric_name` | string | ✅ | Data model name | `"Trace Map Data"` |
262
- | `relative_time` | string | ❌ | Relative time range | `"1h"`, `"24h"`, `"7d"` |
263
- | `start_time` | string | ❌ | Start timestamp | `"1770886639"`, `"now-1h"` |
264
- | `end_time` | string | ❌ | End timestamp | `"1770973039"`, `"now"` |
265
- | `filters` | object | ❌ | Dynamic filters | `{"service": "ibmb"}` |
266
- | `include` | string | ❌ | Include specific fields | `"timestamp,duration"` |
267
- | `exclude` | string | ❌ | Exclude specific fields | `"raw_data"` |
268
- | `thresholds` | boolean | ❌ | Include thresholds | `true` |
269
- | `formatting` | string | ❌ | Response format | `"lama"` |
270
- | `add_on_time_intervals` | array | ❌ | Additional time comparisons | `["1h_ago", "1d_ago"]` |
271
- | `time_shift` | string | ❌ | Time shift for comparison | `"1d"` |
137
+ ### 1. `vunet_get_status`
138
+ Check authentication status and session validity.
272
139
 
273
- #### 2. `vunet_get_status`
274
-
275
- Get current connection status and tenant information.
140
+ ```
141
+ Example: "Check if Vunet connection is working"
142
+ ```
276
143
 
277
- **Returns:**
278
- - Connection status
279
- - Tenant URL
280
- - Authentication status
281
- - Session expiry
144
+ ### 2. `vunet_list_data_models`
145
+ List all available data models/metrics in the tenant.
282
146
 
283
- #### 3. `vunet_list_data_models`
147
+ ```
148
+ Example: "List all available Vunet data models"
149
+ ```
284
150
 
285
- List common Vunet data models organized by category.
151
+ ### 3. `vunet_query_metric`
152
+ Query a specific metric with time range and filters.
286
153
 
287
154
  **Parameters:**
288
-
289
- | Parameter | Type | Required | Description | Example |
290
- |-----------|------|----------|-------------|---------|
291
- | `category` | string | | Filter by category | `"all"`, `"apm"`, `"infrastructure"`, `"database"` |
292
-
293
- **Categories:**
294
- - `all` - All data models (default)
295
- - `apm` - Application Performance Monitoring
296
- - `infrastructure` - Kubernetes, servers, system resources
297
- - `database` - Database performance metrics
298
- - `network` - Network monitoring
299
- - `business` - Business KPIs
300
- - `logs` - Log analytics
301
- - `security` - Security events
302
-
303
- **Returns:**
304
- - List of common data models by category
305
- - Total count of listed models
306
- - Usage instructions
155
+ | Parameter | Required | Description |
156
+ |-----------|----------|-------------|
157
+ | `metric_name` | Yes | Name of the data model to query |
158
+ | `relative_time` | No | Time range: `5m`, `15m`, `1h`, `2h`, `1d`, `1w`, `1M` |
159
+ | `start_time` | No | Start epoch timestamp (for absolute range) |
160
+ | `end_time` | No | End epoch timestamp (for absolute range) |
161
+ | `filters` | No | JSON object with field:value filters |
307
162
 
308
163
  ---
309
164
 
310
- ### Query Examples
165
+ ## 💬 Usage Examples
311
166
 
312
- #### Example 1: Get Traces (Last 2 Days)
313
-
314
- ```
315
- Show me all traces from the last 2 days
167
+ ### Check Connection Status
316
168
  ```
317
-
318
- **Behind the scenes:**
319
- ```json
320
- {
321
- "metric_name": "Trace Map Data",
322
- "relative_time": "2d"
323
- }
169
+ "Is the Vunet MCP server connected?"
324
170
  ```
325
171
 
326
- #### Example 2: Filter Slow Traces
327
-
172
+ ### List Available Metrics
328
173
  ```
329
- Show traces with duration > 5 seconds in the last 24 hours
174
+ "What data models are available in Vunet?"
330
175
  ```
331
176
 
332
- **Post-processing with filters:**
333
- ```json
334
- {
335
- "metric_name": "Trace Map Data",
336
- "relative_time": "24h"
337
- }
338
- ```
339
- Then filter where `duration > 5000` (milliseconds)
340
-
341
- #### Example 3: Kubernetes Metrics
342
-
177
+ ### Query Journey Metrics
343
178
  ```
344
- Get Kubernetes pod metrics for the last 15 minutes
179
+ "Show me IBMB Journey Metrics for the last 2 hours"
345
180
  ```
346
181
 
347
- ```json
348
- {
349
- "metric_name": "Kubernetes Pod Metrics",
350
- "relative_time": "15m"
351
- }
352
- ```
353
-
354
- #### Example 4: Transaction Volume by Service
355
-
182
+ ### Query Alerts
356
183
  ```
357
- Show transaction volume by service for last hour
184
+ "Get all critical alerts from the last 1 hour"
358
185
  ```
359
186
 
360
- ```json
361
- {
362
- "metric_name": "Traces Transaction Volume",
363
- "relative_time": "1h",
364
- "filters": {
365
- "service": "ibmb"
366
- }
367
- }
368
- ```
369
-
370
- #### Example 5: Compare Performance (Time Shift)
371
-
187
+ ### Query with Filters
372
188
  ```
373
- Compare current hour performance with 1 day ago
189
+ "Query IBMB Journey Metrics where name equals CBS for the last 30 minutes"
374
190
  ```
375
191
 
376
- ```json
377
- {
378
- "metric_name": "Trace Map Data",
379
- "relative_time": "1h",
380
- "time_shift": "1d"
381
- }
192
+ ### Infrastructure Monitoring
382
193
  ```
383
-
384
- ---
385
-
386
- ## 📊 Data Models
387
-
388
- Common data models available (80+ total).
389
-
390
- > **📖 Complete Reference:** See [DATA_MODELS.md](DATA_MODELS.md) for comprehensive list and examples.
391
-
392
- > **🔧 Programmatic Access:** Use the `vunet_list_data_models` tool to get the curated list with category filtering.
393
-
394
- ### Application Performance
395
- - `Trace Map Data` - Individual trace spans with duration
396
- - `Traces Transaction Volume` - Aggregated transaction counts
397
- - `Application Response Time` - Response time metrics
398
- - `Error Rate` - Error tracking and analysis
399
-
400
- ### Infrastructure
401
- - `Kubernetes Pod Metrics` - Pod-level metrics
402
- - `Kubernetes Node Metrics` - Node-level metrics
403
- - `Kubernetes Deployment Metrics` - Deployment tracking
404
- - `CPU Usage` - CPU utilization
405
- - `Memory Usage` - Memory consumption
406
- - `Disk I/O` - Disk operations
407
-
408
- ### Business Metrics
409
- - `VuBank Metrics` - Custom business metrics
410
- - `Transaction Success Rate` - Success/failure tracking
411
- - `User Sessions` - Session analytics
412
-
413
- ### Database
414
- - `MySQL Performance` - MySQL metrics
415
- - `Hibernate Query Performance` - ORM performance
416
-
417
- ### Custom
418
- - Custom data models defined in your tenant
419
-
420
- **Quick Discovery:**
194
+ "Show CPU utilization for IBMB servers in the last hour"
421
195
  ```
422
- # List all categories
423
- vunet_list_data_models
424
196
 
425
- # Filter by category
426
- vunet_list_data_models --category apm
427
- vunet_list_data_models --category infrastructure
197
+ ### RCA Analysis
428
198
  ```
429
-
430
- **Natural Language:**
431
- ```
432
- "What data models are available for APM?"
433
- "Show me infrastructure metrics"
434
- "List database performance models"
199
+ "Get Technical Decline data for IBMB in the last 2 hours"
435
200
  ```
436
201
 
437
202
  ---
438
203
 
439
- ## 🔐 Environment Variables
204
+ ## 🔧 Environment Variables
440
205
 
441
206
  | Variable | Required | Default | Description |
442
207
  |----------|----------|---------|-------------|
443
- | `VUNET_TENANT_URL` | | - | Vunet tenant URL (e.g., `https://tenant.com`) |
444
- | `VUNET_USERNAME` | ✅* | - | Username for authentication (*required if no bearer token) |
445
- | `VUNET_PASSWORD` | ✅* | - | Password for authentication (*required if no bearer token) |
446
- | `VUNET_BEARER_TOKEN` | ✅* | - | API bearer token (*required if no username/password) |
447
- | `VUNET_BU_ID` | | `"1"` | Business Unit ID |
448
- | `VUNET_VERIFY_SSL` | ❌ | `"true"` | Enable SSL verification (`"true"` or `"false"`) |
449
-
450
- **Security Note:** Never commit credentials to version control. Use environment variables or secure credential stores.
451
-
452
- ### Authentication Methods
453
-
454
- **Method 1: Username/Password** (Auto-managed sessions)
455
- - The server automatically logs in and manages session tokens
456
- - Session tokens are refreshed automatically on expiry
457
- - Ideal for interactive use
458
-
459
- **Method 2: Bearer Token** (Long-lived API tokens)
460
- - Use pre-generated API tokens from Vunet
461
- - No session management needed
462
- - Ideal for CI/CD, automation, and service accounts
463
- - **How to get:** Generate from Vunet UI → Settings → API Tokens
464
-
465
- **Note:** Provide either `VUNET_USERNAME`+`VUNET_PASSWORD` **OR** `VUNET_BEARER_TOKEN`, not both.
208
+ | `VUNET_TENANT_URL` | Yes | - | Vunet tenant URL |
209
+ | `VUNET_USERNAME` | Yes | - | Username for authentication |
210
+ | `VUNET_PASSWORD` | Yes | - | Password for authentication |
211
+ | `VUNET_BU_ID` | Yes | `1` | Business Unit ID |
212
+ | `VUNET_VERIFY_SSL` | No | `true` | Verify SSL certificates |
466
213
 
467
214
  ---
468
215
 
469
- ## 🐛 Troubleshooting
470
-
471
- ### Common Issues
472
-
473
- #### 1. "Node is not recognized as internal or external command"
474
-
475
- **Solution:** Add Node.js to your system PATH or use full path:
476
-
477
- ```json
478
- {
479
- "command": "C:\\Program Files\\nodejs\\node.exe",
480
- "args": ["path\\to\\index.js"]
481
- }
482
- ```
483
-
484
- #### 2. "Failed to authenticate to Vunet"
485
-
486
- **Check:**
487
- - ✅ Credentials are correct
488
- - ✅ Tenant URL is accessible
489
- - ✅ SSL verification settings match your environment
490
- - ✅ Business Unit ID is correct
491
-
492
- **Debug:**
493
- ```bash
494
- # Test authentication manually
495
- curl -X POST https://your-tenant.com/api/login/ \
496
- -H "Content-Type: application/json" \
497
- -d '{"username":"your-user","password":"your-pass","bu_id":"1"}'
498
- ```
499
-
500
- #### 3. "SSL Certificate Verification Failed"
216
+ ## 📈 Common Data Models
501
217
 
502
- **Solution:** For self-signed certificates or internal environments:
218
+ ### Journey Metrics
219
+ - `IBMB Journey Metrics` - Internet/Mobile Banking metrics
220
+ - `UPI Journey Metrics` - UPI payment metrics
221
+ - `CBS Journey Metrics` - Core Banking metrics
222
+ - `FRM Journey Metrics` - Fraud Risk Management
503
223
 
504
- ```json
505
- {
506
- "env": {
507
- "VUNET_VERIFY_SSL": "false"
508
- }
509
- }
510
- ```
224
+ ### RCA (Root Cause Analysis)
225
+ - `RCA IBMB TD` - Technical Decline breakdown
226
+ - `RCA CPU Utilization IBMB` - Server CPU metrics
227
+ - `RCA Memory Utilization IBMB` - Server memory metrics
228
+ - `Linux Disk Utilization IBMB` - Disk usage
511
229
 
512
- #### 4. MCP Server Not Showing in VS Code
230
+ ### Alerts
231
+ - `Alert data` - All active alerts with severity
232
+ - `IBMB Exceptions` - Application exceptions
513
233
 
514
- **Steps:**
515
- 1. Check `.vscode/mcp.json` or `settings.json` syntax
516
- 2. Reload VS Code window (`Ctrl+Shift+P` → "Developer: Reload Window")
517
- 3. Check VS Code output panel for errors
518
- 4. Verify package is installed: `npm list -g @mithung/vunet-mcp-server`
519
-
520
- #### 5. Empty or Missing Data
521
-
522
- **Check:**
523
- - ✅ Data model name is correct (case-sensitive)
524
- - ✅ Time range has data
525
- - ✅ Filters are not too restrictive
526
- - ✅ Fields exist in the data model
234
+ ### Infrastructure
235
+ - `Kubernetes Pod Metrics`
236
+ - `Linux Host Metrics`
237
+ - `Network Metrics`
527
238
 
528
239
  ---
529
240
 
530
- ## 📚 Examples
531
-
532
- ### Example 1: Performance Analysis
533
-
534
- ```
535
- Create a report of all traces taking more than 5 seconds in the last 2 days
536
- ```
537
-
538
- **Result:** HTML report with:
539
- - Slowest traces ranked
540
- - Performance percentiles
541
- - Error analysis
542
- - Recommendations
241
+ ## 🔥 Troubleshooting
543
242
 
544
- ### Example 2: Multi-Tenant Monitoring
545
-
546
- **Production:**
243
+ ### Authentication Failed (401)
547
244
  ```
548
- @vunet-production show error rate for last hour
245
+ Error: www-authenticate: Basic realm="traefik"
549
246
  ```
247
+ **Solution:** Your environment may have a Traefik proxy. The MCP server v2.1.0+ handles this automatically.
550
248
 
551
- **Staging:**
552
- ```
553
- @vunet-staging compare current performance with 1 day ago
554
- ```
555
-
556
- ### Example 3: Kubernetes Dashboard
249
+ ### Session Expired
250
+ The server automatically refreshes sessions. If issues persist, restart the MCP server.
557
251
 
558
- ```
559
- Create a Kubernetes dashboard showing pod health for the last 30 minutes
252
+ ### SSL Certificate Errors
253
+ Set `VUNET_VERIFY_SSL` to `false` for self-signed certificates:
254
+ ```json
255
+ "VUNET_VERIFY_SSL": "false"
560
256
  ```
561
257
 
562
- **Result:** Interactive HTML dashboard with metrics visualization
258
+ ### Data Model Not Found
259
+ Use `vunet_list_data_models` to see available metrics. Names are case-sensitive.
563
260
 
564
261
  ---
565
262
 
566
- ## 🔧 Development
567
-
568
- ### Run Locally
263
+ ## 🚀 Quick Start Commands
569
264
 
570
265
  ```bash
571
- git clone https://github.com/mithung/vunet-mcp-server.git
572
- cd vunet-mcp-server
573
- npm install
266
+ # Install globally
267
+ npm install -g @mithung/vunet-mcp-server
574
268
 
575
- # Set environment variables
576
- export VUNET_TENANT_URL="https://your-tenant.com"
577
- export VUNET_USERNAME="your-username"
578
- export VUNET_PASSWORD="your-password"
269
+ # Or run directly with npx
270
+ npx @mithung/vunet-mcp-server
579
271
 
580
- # Run
581
- npm start
272
+ # Check installed version
273
+ npm list -g @mithung/vunet-mcp-server
582
274
  ```
583
275
 
584
- ### Watch Mode (Development)
276
+ ---
585
277
 
586
- ```bash
587
- npm run dev
588
- ```
278
+ ## 📄 Changelog
589
279
 
590
- ### Package for Distribution
280
+ ### v2.1.0 (2026-02-17)
281
+ - ✅ Authentication improvements with proxy support
282
+ - ✅ Auto-reconnect on session expiry
283
+ - ✅ Better error handling
591
284
 
592
- ```bash
593
- npm pack
594
- ```
285
+ ### v2.0.8
286
+ - Initial stable release
287
+ - Multi-tenant support
288
+ - Comprehensive data model access
595
289
 
596
290
  ---
597
291
 
598
- ## 📝 API Reference
292
+ ## 📝 License
599
293
 
600
- ### VunetMCPServer Class
601
-
602
- ```javascript
603
- class VunetMCPServer {
604
- constructor()
605
- async login()
606
- async logout()
607
- async ensureAuthenticated()
608
- async queryMetric(metricName, queryParams)
609
- buildQueryParams(args)
610
- normalizeTenantUrl(url)
611
- }
612
- ```
613
-
614
- ### Query Response Format
615
-
616
- ```json
617
- {
618
- "metricData": [
619
- {
620
- "start_time": 1770886639,
621
- "end_time": 1770973039,
622
- "label": "Primary relative time",
623
- "data": [
624
- {
625
- "timestamp": "2026-02-13 07:02:18.494",
626
- "field1": "value1",
627
- "field2": "value2"
628
- }
629
- ]
630
- }
631
- ]
632
- }
633
- ```
294
+ MIT License - see [LICENSE](LICENSE) file.
634
295
 
635
296
  ---
636
297
 
637
298
  ## 🤝 Contributing
638
299
 
639
- Contributions are welcome! Please follow these steps:
640
-
641
300
  1. Fork the repository
642
- 2. Create a feature branch: `git checkout -b feature/amazing-feature`
643
- 3. Commit changes: `git commit -m 'Add amazing feature'`
644
- 4. Push to branch: `git push origin feature/amazing-feature`
301
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
302
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
303
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
645
304
  5. Open a Pull Request
646
305
 
647
306
  ---
648
307
 
649
- ## 📄 License
650
-
651
- MIT License - see [LICENSE](LICENSE) file for details
652
-
653
- ---
654
-
655
- ## 🙏 Acknowledgments
656
-
657
- - Built with [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk)
658
- - Inspired by [Dynatrace MCP Server](https://github.com/dynatrace/mcp-server)
659
- - Powered by [Vunet vuSmartMaps](https://vunetsystems.com)
660
-
661
- ---
662
-
663
- ## 🔗 Links
664
-
665
- - **Vunet Systems:** https://vunetsystems.com
666
- - **MCP Protocol:** https://modelcontextprotocol.io
667
- - **npm Package:** https://www.npmjs.com/package/@mithung/vunet-mcp-server
668
- - **GitHub:** https://github.com/mithung/vunet-mcp-server
669
- - **Issues:** https://github.com/mithung/vunet-mcp-server/issues
670
-
671
- ---
672
-
673
- ## 📞 Support
308
+ ## 📧 Support
674
309
 
675
- - **Documentation:** [GitHub Wiki](https://github.com/mithung/vunet-mcp-server/wiki)
676
- - **Issues:** [GitHub Issues](https://github.com/mithung/vunet-mcp-server/issues)
677
- - **Email:** support@vunetsystems.com
310
+ - **GitHub Issues:** [https://github.com/mithung/vunet-mcp-server/issues](https://github.com/mithung/vunet-mcp-server/issues)
311
+ - **npm Package:** [https://www.npmjs.com/package/@mithung/vunet-mcp-server](https://www.npmjs.com/package/@mithung/vunet-mcp-server)
678
312
 
679
313
  ---
680
314
 
681
- **Made with ❤️ by Vunet Systems**
315
+ Made with ❤️ by [Vunet Systems](https://vunetsystems.com)