@tocharianou/mcp-server-kibana 0.7.2 → 0.7.3
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 +137 -404
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,517 +5,250 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@tocharian/mcp-server-kibana)
|
|
6
6
|
[](https://deepwiki.com/TocharianOU/mcp-server-kibana)
|
|
7
7
|
|
|
8
|
-
> **API Specification**
|
|
9
|
-
>
|
|
10
|
-
> This project is based on the official Elastic Kibana API documentation and uses the OpenAPI YAML specification from Elastic Stack 8.x (ES8) to dynamically retrieve and manage all Kibana API endpoints. For the latest details, see the [Kibana API documentation](https://www.elastic.co/docs/api/doc/kibana/).
|
|
11
|
-
|
|
12
8
|
A Kibana MCP server implementation that allows any MCP-compatible client (such as Claude Desktop) to access your Kibana instance via natural language or programmatic requests.
|
|
13
9
|
|
|
10
|
+
> This project is based on the official Elastic Kibana API documentation and uses the OpenAPI YAML specification from Elastic Stack 8.x. For details, see the [Kibana API documentation](https://www.elastic.co/docs/api/doc/kibana/).
|
|
11
|
+
|
|
14
12
|
**This project is community-maintained and is not an official product of Elastic or MCP.**
|
|
15
13
|
|
|
16
|
-
> **💡 Companion Project**
|
|
17
|
-
>
|
|
18
|
-
> For complete Elastic Stack integration, pair this with [**Elasticsearch MCP Server**](https://github.com/TocharianOU/mcp-server-elasticsearch-sl) for direct Elasticsearch data operations. Together, they provide comprehensive observability and data management capabilities for your Elastic Stack environment.
|
|
14
|
+
> **💡 Companion Project:** For complete Elastic Stack integration, pair this with [**Elasticsearch MCP Server**](https://github.com/TocharianOU/mcp-server-elasticsearch-sl) for direct Elasticsearch data operations.
|
|
19
15
|
|
|
20
16
|
---
|
|
21
17
|
|
|
22
18
|
## 🚀 Installation
|
|
23
19
|
|
|
24
|
-
### Quick Install
|
|
25
20
|
```bash
|
|
26
21
|
# Global installation (recommended)
|
|
27
|
-
npm install -g @
|
|
22
|
+
npm install -g @tocharianou/mcp-server-kibana
|
|
28
23
|
|
|
29
|
-
# Or
|
|
30
|
-
|
|
24
|
+
# Or use directly with npx
|
|
25
|
+
npx @tocharianou/mcp-server-kibana
|
|
31
26
|
```
|
|
32
27
|
|
|
33
|
-
###
|
|
28
|
+
### From Source
|
|
34
29
|
```bash
|
|
35
30
|
git clone https://github.com/TocharianOU/mcp-server-kibana.git
|
|
36
31
|
cd mcp-server-kibana
|
|
37
|
-
npm install
|
|
38
|
-
npm run build
|
|
32
|
+
npm install && npm run build
|
|
39
33
|
```
|
|
40
34
|
|
|
41
35
|
---
|
|
42
36
|
|
|
43
37
|
## 🎯 Quick Start
|
|
44
38
|
|
|
45
|
-
###
|
|
46
|
-
|
|
47
|
-
#### Using Basic Authentication
|
|
48
|
-
```bash
|
|
49
|
-
# Set your Kibana credentials and run
|
|
50
|
-
KIBANA_URL=http://your-kibana-server:5601 \
|
|
51
|
-
KIBANA_USERNAME=your-username \
|
|
52
|
-
KIBANA_PASSWORD=your-password \
|
|
53
|
-
npx @tocharian/mcp-server-kibana
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
#### Using Cookie Authentication
|
|
57
|
-
```bash
|
|
58
|
-
# Set your Kibana session cookies and run
|
|
59
|
-
KIBANA_URL=http://your-kibana-server:5601 \
|
|
60
|
-
KIBANA_COOKIES="sid=your-session-id; security-session=your-security-session" \
|
|
61
|
-
npx @tocharian/mcp-server-kibana
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
#### Using API Key Authentication
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
# Set your Kibana API Key and run
|
|
68
|
-
KIBANA_URL=http://your-kibana-server:5601 \
|
|
69
|
-
KIBANA_API_KEY=your-base64-encoded-api-key \
|
|
70
|
-
npx @tocharian/mcp-server-kibana
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Method 2: Claude Desktop Integration (Recommended)
|
|
39
|
+
### Claude Desktop Integration (Recommended)
|
|
74
40
|
|
|
75
41
|
Add to your Claude Desktop configuration file:
|
|
76
|
-
|
|
77
|
-
**Config file locations:**
|
|
78
|
-
|
|
79
42
|
- **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
80
43
|
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
81
44
|
|
|
82
|
-
#### Using Basic Authentication
|
|
83
|
-
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"mcpServers": {
|
|
87
|
-
"kibana-mcp-server": {
|
|
88
|
-
"command": "npx",
|
|
89
|
-
"args": ["@tocharian/mcp-server-kibana"],
|
|
90
|
-
"env": {
|
|
91
|
-
"KIBANA_URL": "http://your-kibana-server:5601",
|
|
92
|
-
"KIBANA_USERNAME": "your-username",
|
|
93
|
-
"KIBANA_PASSWORD": "your-password",
|
|
94
|
-
"KIBANA_DEFAULT_SPACE": "default",
|
|
95
|
-
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
#### Using Cookie Authentication
|
|
103
|
-
|
|
104
45
|
```json
|
|
105
46
|
{
|
|
106
47
|
"mcpServers": {
|
|
107
|
-
"kibana
|
|
48
|
+
"kibana": {
|
|
108
49
|
"command": "npx",
|
|
109
|
-
"args": ["@
|
|
50
|
+
"args": ["@tocharianou/mcp-server-kibana"],
|
|
110
51
|
"env": {
|
|
111
52
|
"KIBANA_URL": "http://your-kibana-server:5601",
|
|
112
|
-
"
|
|
113
|
-
"KIBANA_DEFAULT_SPACE": "default"
|
|
114
|
-
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
|
|
53
|
+
"KIBANA_API_KEY": "your-api-key",
|
|
54
|
+
"KIBANA_DEFAULT_SPACE": "default"
|
|
115
55
|
}
|
|
116
56
|
}
|
|
117
57
|
}
|
|
118
58
|
}
|
|
119
59
|
```
|
|
120
60
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
```json
|
|
124
|
-
{
|
|
125
|
-
"mcpServers": {
|
|
126
|
-
"kibana-mcp-server": {
|
|
127
|
-
"command": "npx",
|
|
128
|
-
"args": ["@tocharian/mcp-server-kibana"],
|
|
129
|
-
"env": {
|
|
130
|
-
"KIBANA_URL": "http://your-kibana-server:5601",
|
|
131
|
-
"KIBANA_API_KEY": "your-base64-encoded-api-key",
|
|
132
|
-
"KIBANA_DEFAULT_SPACE": "default",
|
|
133
|
-
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Method 3: Using Environment File
|
|
61
|
+
### Direct CLI Usage
|
|
141
62
|
|
|
142
63
|
```bash
|
|
143
|
-
#
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
KIBANA_PASSWORD=your-password
|
|
148
|
-
NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
149
|
-
EOF
|
|
150
|
-
|
|
151
|
-
# Run with environment file
|
|
152
|
-
env $(cat kibana-mcp.env | xargs) npx @tocharian/mcp-server-kibana
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Method 4: Streamable HTTP Mode (NEW in v0.4.0)
|
|
64
|
+
# Using API Key (recommended)
|
|
65
|
+
KIBANA_URL=http://localhost:5601 \
|
|
66
|
+
KIBANA_API_KEY=your-api-key \
|
|
67
|
+
npx @tocharianou/mcp-server-kibana
|
|
156
68
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
# Start HTTP server (default port 3000)
|
|
161
|
-
MCP_TRANSPORT=http \
|
|
162
|
-
KIBANA_URL=http://your-kibana-server:5601 \
|
|
163
|
-
KIBANA_USERNAME=your-username \
|
|
164
|
-
KIBANA_PASSWORD=your-password \
|
|
165
|
-
npx @tocharian/mcp-server-kibana
|
|
166
|
-
|
|
167
|
-
# Or with custom port and host
|
|
168
|
-
MCP_TRANSPORT=http \
|
|
169
|
-
MCP_HTTP_PORT=9000 \
|
|
170
|
-
MCP_HTTP_HOST=0.0.0.0 \
|
|
171
|
-
KIBANA_URL=http://your-kibana-server:5601 \
|
|
69
|
+
# Using Basic Auth
|
|
70
|
+
KIBANA_URL=http://localhost:5601 \
|
|
172
71
|
KIBANA_USERNAME=your-username \
|
|
173
72
|
KIBANA_PASSWORD=your-password \
|
|
174
|
-
npx @
|
|
175
|
-
```
|
|
73
|
+
npx @tocharianou/mcp-server-kibana
|
|
176
74
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
-
|
|
180
|
-
|
|
181
|
-
- Session-based connection management
|
|
182
|
-
- Supports both POST (JSON-RPC requests) and GET (SSE streams)
|
|
183
|
-
- Compatible with any HTTP client or MCP SDK
|
|
184
|
-
|
|
185
|
-
**Example HTTP client usage:**
|
|
186
|
-
|
|
187
|
-
```javascript
|
|
188
|
-
// Initialize connection
|
|
189
|
-
const response = await fetch('http://localhost:3000/mcp', {
|
|
190
|
-
method: 'POST',
|
|
191
|
-
headers: { 'Content-Type': 'application/json' },
|
|
192
|
-
body: JSON.stringify({
|
|
193
|
-
jsonrpc: '2.0',
|
|
194
|
-
method: 'initialize',
|
|
195
|
-
params: {
|
|
196
|
-
protocolVersion: '2024-11-05',
|
|
197
|
-
capabilities: {},
|
|
198
|
-
clientInfo: { name: 'my-client', version: '1.0.0' }
|
|
199
|
-
},
|
|
200
|
-
id: 1
|
|
201
|
-
})
|
|
202
|
-
});
|
|
203
|
-
|
|
204
|
-
const sessionId = response.headers.get('mcp-session-id');
|
|
205
|
-
|
|
206
|
-
// Subsequent requests include session ID
|
|
207
|
-
const toolsResponse = await fetch('http://localhost:3000/mcp', {
|
|
208
|
-
method: 'POST',
|
|
209
|
-
headers: {
|
|
210
|
-
'Content-Type': 'application/json',
|
|
211
|
-
'mcp-session-id': sessionId
|
|
212
|
-
},
|
|
213
|
-
body: JSON.stringify({
|
|
214
|
-
jsonrpc: '2.0',
|
|
215
|
-
method: 'tools/list',
|
|
216
|
-
params: {},
|
|
217
|
-
id: 2
|
|
218
|
-
})
|
|
219
|
-
});
|
|
75
|
+
# Using Cookie Auth
|
|
76
|
+
KIBANA_URL=http://localhost:5601 \
|
|
77
|
+
KIBANA_COOKIES="sid=xxx; security-session=yyy" \
|
|
78
|
+
npx @tocharianou/mcp-server-kibana
|
|
220
79
|
```
|
|
221
80
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
## Features
|
|
225
|
-
|
|
226
|
-
### Core Features
|
|
227
|
-
|
|
228
|
-
- Connect to local or remote Kibana instances
|
|
229
|
-
- **Dual transport modes**:
|
|
230
|
-
- **Stdio transport** (default) - For Claude Desktop and local MCP clients
|
|
231
|
-
- **Streamable HTTP transport** (NEW in v0.4.0) - For remote access, API integration, and web applications
|
|
232
|
-
- **Dual authentication support**:
|
|
233
|
-
- Cookie-based authentication (recommended for browser sessions)
|
|
234
|
-
- Basic authentication (username/password)
|
|
235
|
-
- SSL/TLS and custom CA certificate support
|
|
236
|
-
- Multi-space support for enterprise Kibana environments
|
|
237
|
-
- Exposes Kibana API endpoints as both tools and resources
|
|
238
|
-
- Search, view, and execute Kibana APIs from MCP clients
|
|
239
|
-
- Type-safe, extensible, and easy to integrate
|
|
240
|
-
- **Session management** with automatic UUID generation for HTTP mode
|
|
241
|
-
- **Health check endpoint** for monitoring and load balancing
|
|
242
|
-
|
|
243
|
-
### Visualization Layer (VL) Features
|
|
244
|
-
|
|
245
|
-
- **Complete CRUD operations** for Kibana saved objects
|
|
246
|
-
- **Universal saved object management** - works with all object types
|
|
247
|
-
- **Intelligent parameter handling** - supports multiple input formats (arrays, JSON strings, comma-separated)
|
|
248
|
-
- **Optimized search** with pagination support and performance tips
|
|
249
|
-
- **Bulk operations** for efficient mass updates and deletions
|
|
250
|
-
- **Version control** with optimistic concurrency for safe updates
|
|
251
|
-
- **Reference management** for object relationships
|
|
252
|
-
- **Multi-format type support** - flexible input parsing for better UX
|
|
81
|
+
### HTTP Mode (Remote Access)
|
|
253
82
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
├── src/
|
|
261
|
-
│ ├── types.ts # Type definitions and schemas
|
|
262
|
-
│ ├── base-tools.ts # Tool registration and API logic
|
|
263
|
-
│ ├── prompts.ts # Prompt registration (expert & resource helper)
|
|
264
|
-
│ ├── resources.ts # Resource registration (API paths/URIs)
|
|
265
|
-
│ ├── vl_search_tools.ts # Visualization Layer - Search tools
|
|
266
|
-
│ ├── vl_get_tools.ts # Visualization Layer - Get tools
|
|
267
|
-
│ ├── vl_create_tools.ts # Visualization Layer - Create tools
|
|
268
|
-
│ ├── vl_update_tools.ts # Visualization Layer - Update tools
|
|
269
|
-
│ └── vl_delete_tools.ts # Visualization Layer - Delete tools
|
|
270
|
-
├── kibana-openapi-source.yaml # Kibana API OpenAPI index
|
|
271
|
-
├── README.md # English documentation
|
|
272
|
-
├── README_zh.md # Chinese documentation
|
|
83
|
+
```bash
|
|
84
|
+
MCP_TRANSPORT=http \
|
|
85
|
+
MCP_HTTP_PORT=3000 \
|
|
86
|
+
KIBANA_URL=http://localhost:5601 \
|
|
87
|
+
KIBANA_API_KEY=your-api-key \
|
|
88
|
+
npx @tocharianou/mcp-server-kibana
|
|
273
89
|
```
|
|
274
90
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
## Resources
|
|
278
|
-
|
|
279
|
-
| Resource URI | Description |
|
|
280
|
-
|------------------------------------------------|----------------------------------------------------|
|
|
281
|
-
| `kibana-api://paths` | Returns all available Kibana API endpoints (can filter with `search` param) |
|
|
282
|
-
| `kibana-api://path/{method}/{encoded_path}` | Returns details for a specific API endpoint |
|
|
283
|
-
|
|
284
|
-
**Examples:**
|
|
285
|
-
|
|
286
|
-
- `kibana-api://paths?search=saved_objects`
|
|
287
|
-
- `kibana-api://path/GET/%2Fapi%2Fstatus`
|
|
91
|
+
Access at: `http://localhost:3000/mcp`
|
|
92
|
+
Health check: `http://localhost:3000/health`
|
|
288
93
|
|
|
289
94
|
---
|
|
290
95
|
|
|
291
|
-
##
|
|
292
|
-
|
|
293
|
-
### Base Tools
|
|
294
|
-
|
|
295
|
-
| Tool Name | Description | Input Parameters |
|
|
296
|
-
|-----------------------------|----------------------------------------------------|---------------------------------------------------------------------|
|
|
297
|
-
| `get_status` | Get the current status of the Kibana server | `space` (optional string) - Target Kibana space |
|
|
298
|
-
| `execute_kb_api` | Execute a custom Kibana API request | `method` (GET/POST/PUT/DELETE), `path` (string), `body` (optional), `params` (optional), `space` (optional string) |
|
|
299
|
-
| `get_available_spaces` | Get available Kibana spaces and current context | `include_details` (optional boolean) - Include full space details |
|
|
300
|
-
| `search_kibana_api_paths` | Search Kibana API endpoints by keyword | `search` (string) |
|
|
301
|
-
| `list_all_kibana_api_paths` | List all Kibana API endpoints | None |
|
|
302
|
-
| `get_kibana_api_detail` | Get details for a specific Kibana API endpoint | `method` (string), `path` (string) |
|
|
303
|
-
|
|
304
|
-
### Visualization Layer (VL) Tools - Saved Objects Management
|
|
96
|
+
## ✨ Features
|
|
305
97
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
| `vl_bulk_delete_saved_objects` | Delete multiple saved objects in bulk | `objects` (required array), `force` (optional), `space` (optional) |
|
|
98
|
+
### Core Capabilities
|
|
99
|
+
- **Dual transport modes**: Stdio (local) and HTTP (remote access)
|
|
100
|
+
- **Multiple authentication methods**: API Key, Basic Auth, Cookie-based
|
|
101
|
+
- **Multi-space support**: Enterprise-ready Kibana space management
|
|
102
|
+
- **SSL/TLS support**: Custom CA certificate configuration
|
|
103
|
+
- **Session management**: Automatic UUID generation for HTTP mode
|
|
104
|
+
- **Dynamic API discovery**: Based on official Kibana OpenAPI specification
|
|
314
105
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
| Prompt Name | Description |
|
|
322
|
-
|-------------------------|-----------------------------------------------------------------------------|
|
|
323
|
-
| `kibana-tool-expert` | Tool expert mode (highly recommended in Claude Desktop), supports intelligent analysis, search, execution, and explanation of Kibana APIs via tools. Recommended for most users. |
|
|
324
|
-
| `kibana-resource-helper`| Resource helper mode, guides how to access and use Kibana API info via resource URIs. Suitable for clients that only support resource access or need raw API metadata. |
|
|
106
|
+
### Saved Objects Management
|
|
107
|
+
- Complete CRUD operations for all Kibana saved object types
|
|
108
|
+
- Intelligent search with pagination support
|
|
109
|
+
- Bulk operations for efficient mass updates
|
|
110
|
+
- Version control with optimistic concurrency
|
|
111
|
+
- Reference management for object relationships
|
|
325
112
|
|
|
326
113
|
---
|
|
327
114
|
|
|
328
|
-
## Configuration
|
|
329
|
-
|
|
330
|
-
Configure the server via environment variables:
|
|
331
|
-
|
|
332
|
-
### Kibana Connection Settings
|
|
333
|
-
|
|
334
|
-
| Variable Name | Description | Required |
|
|
335
|
-
|----------------------------------|-----------------------------------------------------|----------|
|
|
336
|
-
| `KIBANA_URL` | Kibana server address (e.g. <http://localhost:5601>) | Yes |
|
|
337
|
-
| `KIBANA_API_KEY` | Kibana API Key (base64 encoded, for API key auth) | No* |
|
|
338
|
-
| `KIBANA_USERNAME` | Kibana username (for basic auth) | No* |
|
|
339
|
-
| `KIBANA_PASSWORD` | Kibana password (for basic auth) | No* |
|
|
340
|
-
| `KIBANA_COOKIES` | Kibana session cookies (for cookie auth) | No* |
|
|
341
|
-
| `KIBANA_DEFAULT_SPACE` | Default Kibana space (default: 'default') | No |
|
|
342
|
-
| `KIBANA_CA_CERT` | CA certificate path (optional, for SSL verification) | No |
|
|
343
|
-
| `KIBANA_TIMEOUT` | Request timeout in ms (default 30000) | No |
|
|
344
|
-
| `KIBANA_MAX_RETRIES` | Max request retries (default 3) | No |
|
|
345
|
-
| `NODE_TLS_REJECT_UNAUTHORIZED` | Set to `0` to disable SSL certificate validation (use with caution) | No |
|
|
115
|
+
## 🔧 Configuration
|
|
346
116
|
|
|
347
|
-
|
|
117
|
+
### Required Variables
|
|
348
118
|
|
|
349
|
-
|
|
119
|
+
| Variable | Description | Example |
|
|
120
|
+
|----------|-------------|---------|
|
|
121
|
+
| `KIBANA_URL` | Kibana server address | `http://localhost:5601` |
|
|
350
122
|
|
|
351
|
-
|
|
352
|
-
|-------------------|------------------------------------------------|-----------|-----------------|
|
|
353
|
-
| `MCP_TRANSPORT` | Transport mode selection | `stdio` | `stdio`, `http` |
|
|
354
|
-
| `MCP_HTTP_PORT` | HTTP server port (when using HTTP transport) | `3000` | 1-65535 |
|
|
355
|
-
| `MCP_HTTP_HOST` | HTTP server host (when using HTTP transport) | `localhost` | Any valid host |
|
|
123
|
+
### Authentication (choose one method)
|
|
356
124
|
|
|
357
|
-
|
|
125
|
+
| Variable | Description | Priority |
|
|
126
|
+
|----------|-------------|----------|
|
|
127
|
+
| `KIBANA_API_KEY` | API Key (base64 encoded) | 1st |
|
|
128
|
+
| `KIBANA_USERNAME` + `KIBANA_PASSWORD` | Basic authentication | 2nd |
|
|
129
|
+
| `KIBANA_COOKIES` | Session cookies | 3rd |
|
|
358
130
|
|
|
359
|
-
|
|
360
|
-
- **HTTP mode**: Runs as a standalone HTTP server for remote access, API integration, and web applications
|
|
131
|
+
### Optional Variables
|
|
361
132
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
133
|
+
| Variable | Description | Default |
|
|
134
|
+
|----------|-------------|---------|
|
|
135
|
+
| `KIBANA_DEFAULT_SPACE` | Default Kibana space | `default` |
|
|
136
|
+
| `KIBANA_CA_CERT` | CA certificate path | - |
|
|
137
|
+
| `KIBANA_TIMEOUT` | Request timeout (ms) | `30000` |
|
|
138
|
+
| `MCP_TRANSPORT` | Transport mode | `stdio` |
|
|
139
|
+
| `MCP_HTTP_PORT` | HTTP server port | `3000` |
|
|
140
|
+
| `MCP_HTTP_HOST` | HTTP server host | `localhost` |
|
|
141
|
+
| `NODE_TLS_REJECT_UNAUTHORIZED` | Disable SSL validation | `1` |
|
|
370
142
|
|
|
371
143
|
---
|
|
372
144
|
|
|
373
|
-
##
|
|
374
|
-
|
|
375
|
-
### Common Issues
|
|
145
|
+
## 🛠️ Available Tools
|
|
376
146
|
|
|
377
|
-
|
|
147
|
+
### Base Tools
|
|
148
|
+
- `get_status` - Get Kibana server status
|
|
149
|
+
- `execute_kb_api` - Execute custom Kibana API requests
|
|
150
|
+
- `get_available_spaces` - List available Kibana spaces
|
|
151
|
+
- `search_kibana_api_paths` - Search API endpoints
|
|
152
|
+
- `list_all_kibana_api_paths` - List all API endpoints
|
|
153
|
+
- `get_kibana_api_detail` - Get API endpoint details
|
|
378
154
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
155
|
+
### Saved Objects Tools
|
|
156
|
+
- `vl_search_saved_objects` - Search saved objects (universal)
|
|
157
|
+
- `vl_get_saved_object` - Get single saved object
|
|
158
|
+
- `vl_create_saved_object` - Create new saved object
|
|
159
|
+
- `vl_update_saved_object` - Update single saved object
|
|
160
|
+
- `vl_bulk_update_saved_objects` - Bulk update operations
|
|
161
|
+
- `vl_bulk_delete_saved_objects` - Bulk delete operations
|
|
382
162
|
|
|
383
|
-
|
|
384
|
-
node $(which mcp-server-kibana)
|
|
385
|
-
```
|
|
163
|
+
**Supported Object Types:** dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element
|
|
386
164
|
|
|
387
|
-
|
|
165
|
+
### Analysis Tools (v0.6.0+)
|
|
166
|
+
- `analyze_object_dependencies` - Analyze saved object dependencies
|
|
167
|
+
- `analyze_deletion_impact` - Check impact before deletion
|
|
168
|
+
- `check_dashboard_health` - Dashboard health check
|
|
169
|
+
- `scan_all_dashboards_health` - Batch health scanning
|
|
388
170
|
|
|
389
|
-
|
|
390
|
-
- Check authentication credentials
|
|
391
|
-
- For SSL issues, try setting `NODE_TLS_REJECT_UNAUTHORIZED=0`
|
|
171
|
+
---
|
|
392
172
|
|
|
393
|
-
|
|
173
|
+
## 📖 Resources
|
|
394
174
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
-
|
|
175
|
+
| Resource URI | Description |
|
|
176
|
+
|--------------|-------------|
|
|
177
|
+
| `kibana-api://paths` | List all available API endpoints |
|
|
178
|
+
| `kibana-api://paths?search=<keyword>` | Search endpoints by keyword |
|
|
179
|
+
| `kibana-api://path/{method}/{encoded_path}` | Get specific endpoint details |
|
|
398
180
|
|
|
399
181
|
---
|
|
400
182
|
|
|
401
|
-
## Example Queries
|
|
402
|
-
|
|
403
|
-
### Basic Queries
|
|
183
|
+
## 💬 Example Queries
|
|
404
184
|
|
|
185
|
+
### Basic Operations
|
|
405
186
|
- "What is the status of my Kibana server?"
|
|
406
|
-
- "
|
|
407
|
-
- "
|
|
408
|
-
- "List all available Kibana API endpoints."
|
|
409
|
-
- "Show details for the POST /api/saved_objects/_find endpoint."
|
|
410
|
-
- "Execute a custom API request for /api/status."
|
|
411
|
-
|
|
412
|
-
### Saved Objects Management
|
|
187
|
+
- "List all available Kibana spaces"
|
|
188
|
+
- "Show me all API endpoints related to dashboards"
|
|
413
189
|
|
|
414
|
-
|
|
190
|
+
### Saved Objects
|
|
191
|
+
- "Search for all dashboards"
|
|
415
192
|
- "Find visualizations containing 'nginx' in the title"
|
|
416
|
-
- "
|
|
417
|
-
- "
|
|
418
|
-
- "
|
|
419
|
-
- "Delete multiple old dashboards by their IDs"
|
|
420
|
-
- "Search for lens visualizations in the 'analytics' space"
|
|
421
|
-
- "Find all canvas workpads created this month"
|
|
422
|
-
- "Get the first 10 index patterns with only title and description fields"
|
|
423
|
-
- "Bulk update multiple dashboard titles"
|
|
424
|
-
- "Search across multiple object types: dashboards and visualizations"
|
|
425
|
-
- "Create a new index pattern for 'logs-*' with timestamp field"
|
|
193
|
+
- "Create a new dashboard named 'Sales Overview'"
|
|
194
|
+
- "Update the description of dashboard 'my-dashboard-123'"
|
|
195
|
+
- "Delete multiple dashboards by their IDs"
|
|
426
196
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
When using this server with Claude Desktop, two different prompt interaction modes are supported:
|
|
432
|
-
|
|
433
|
-
### 1. Tool-based Prompt Mode
|
|
434
|
-
|
|
435
|
-
- **How it works:** Claude Desktop can directly call server tools (including base tools like `get_status`, `execute_api`, and VL tools like `vl_search_saved_objects`, `vl_create_saved_object`) to answer your questions or perform actions.
|
|
436
|
-
- **Best for:** Users who want a conversational, guided experience. The server will automatically search, execute, and explain Kibana APIs and manage saved objects.
|
|
437
|
-
- **Example:** "Show all dashboards containing 'sales'" or "Create a new visualization for web analytics"
|
|
438
|
-
- **Testing tip:** Select the `kibana-tool-expert` prompt in Claude Desktop for integration testing, then start using it.
|
|
439
|
-
|
|
440
|
-
### 2. Resource-based Prompt Mode
|
|
441
|
-
|
|
442
|
-
- **How it works:** Claude Desktop interacts with the server via resource URIs (such as `kibana-api://paths` or `kibana-api://path/GET/%2Fapi%2Fstatus`), and the server returns structured data for Claude to parse.
|
|
443
|
-
- **Best for:** Advanced users, MCP clients that only support resource access, or programming scenarios needing raw API metadata.
|
|
444
|
-
- **Example:** "Get resource kibana-api://paths?search=dashboard"
|
|
445
|
-
|
|
446
|
-
**Note:** The two endpoints in `resources` (`kibana-api://paths` and `kibana-api://path/{method}/{encoded_path}`) have corresponding base tools (`list_all_kibana_api_paths`, `get_kibana_api_detail`). This design ensures compatibility with MCP clients that cannot intelligently select multiple resources, making it easier for tools like Claude Desktop to interact with Kibana.
|
|
447
|
-
|
|
448
|
-
**Tip:** Most users are recommended to use tool mode for a more natural and powerful experience; resource mode offers maximum flexibility for advanced and compatibility use cases.
|
|
197
|
+
### Health & Analysis
|
|
198
|
+
- "Check health of dashboard 'overview'"
|
|
199
|
+
- "Analyze dependencies for visualization 'viz-123'"
|
|
200
|
+
- "Scan all dashboards for health issues"
|
|
449
201
|
|
|
450
202
|
---
|
|
451
203
|
|
|
452
|
-
##
|
|
453
|
-
|
|
454
|
-
Install dependencies:
|
|
455
|
-
|
|
456
|
-
```bash
|
|
457
|
-
npm install
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
Build the server:
|
|
204
|
+
## 🐛 Troubleshooting
|
|
461
205
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
Auto-rebuild in development mode:
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
npm run watch
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
Run in different modes:
|
|
473
|
-
|
|
474
|
-
```bash
|
|
475
|
-
# Stdio mode (default)
|
|
476
|
-
npm start
|
|
477
|
-
|
|
478
|
-
# HTTP mode
|
|
479
|
-
npm run start:http
|
|
206
|
+
### Connection Issues
|
|
207
|
+
- Verify Kibana URL is accessible
|
|
208
|
+
- Check authentication credentials
|
|
209
|
+
- For SSL issues: `NODE_TLS_REJECT_UNAUTHORIZED=0` (use with caution)
|
|
480
210
|
|
|
481
|
-
|
|
482
|
-
|
|
211
|
+
### Claude Desktop Issues
|
|
212
|
+
- Restart Claude Desktop after config changes
|
|
213
|
+
- Validate JSON config syntax
|
|
214
|
+
- Check console logs for errors
|
|
483
215
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
216
|
+
### Common Errors
|
|
217
|
+
- **"import: command not found"**: Update to latest version
|
|
218
|
+
- **Authentication failed**: Verify credentials and permissions
|
|
219
|
+
- **SSL errors**: Check CA certificate or disable SSL validation
|
|
487
220
|
|
|
488
221
|
---
|
|
489
222
|
|
|
490
|
-
## Debugging
|
|
223
|
+
## 🔍 Debugging
|
|
491
224
|
|
|
492
|
-
|
|
225
|
+
Use MCP Inspector for debugging:
|
|
493
226
|
|
|
494
227
|
```bash
|
|
495
228
|
npm run inspector
|
|
496
229
|
```
|
|
497
230
|
|
|
498
|
-
|
|
231
|
+
This provides a browser-accessible debugging interface.
|
|
499
232
|
|
|
500
233
|
---
|
|
501
234
|
|
|
502
|
-
##
|
|
235
|
+
## 📦 Package Information
|
|
503
236
|
|
|
504
|
-
|
|
237
|
+
- **NPM**: [@tocharianou/mcp-server-kibana](https://www.npmjs.com/package/@tocharianou/mcp-server-kibana)
|
|
238
|
+
- **GitHub**: [TocharianOU/mcp-server-kibana](https://github.com/TocharianOU/mcp-server-kibana)
|
|
239
|
+
- **Node.js**: >= 18.0.0
|
|
240
|
+
- **License**: Apache 2.0
|
|
505
241
|
|
|
506
242
|
---
|
|
507
243
|
|
|
508
|
-
##
|
|
244
|
+
## 🤝 Contributing
|
|
245
|
+
|
|
246
|
+
This project is community-maintained. Contributions and feedback are welcome!
|
|
509
247
|
|
|
510
|
-
|
|
248
|
+
Please follow the [Elastic Community Code of Conduct](https://www.elastic.co/community/codeofconduct) in all communications.
|
|
511
249
|
|
|
512
250
|
---
|
|
513
251
|
|
|
514
|
-
##
|
|
252
|
+
## 📄 License
|
|
515
253
|
|
|
516
|
-
-
|
|
517
|
-
- Ensure the Kibana address is accessible
|
|
518
|
-
- Verify authentication credentials have sufficient permissions
|
|
519
|
-
- If using a custom CA, ensure the certificate path is correct and readable
|
|
520
|
-
- If using `NODE_TLS_REJECT_UNAUTHORIZED=0`, be aware of security risks
|
|
521
|
-
- Check error messages output in the terminal
|
|
254
|
+
Apache License 2.0 - See [LICENSE](LICENSE) file for details.
|
package/dist/index.js
CHANGED
|
@@ -54,7 +54,7 @@ function createKibanaClient(config) {
|
|
|
54
54
|
throw new KibanaError("Failed to load CA certificate", undefined, error);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
//
|
|
57
|
+
// Dynamic URL transformation logic - support specifying space for each call
|
|
58
58
|
const buildSpaceAwareUrl = (url, space) => {
|
|
59
59
|
const targetSpace = space || config.defaultSpace;
|
|
60
60
|
if (targetSpace && targetSpace !== 'default' && url.startsWith('/api/')) {
|
|
@@ -315,7 +315,7 @@ async function main() {
|
|
|
315
315
|
// Create server for this transport
|
|
316
316
|
const server = await createKibanaMcpServer({
|
|
317
317
|
name: serverName,
|
|
318
|
-
version: "0.
|
|
318
|
+
version: "0.7.3",
|
|
319
319
|
config,
|
|
320
320
|
description: serverDescription
|
|
321
321
|
});
|
|
@@ -387,7 +387,7 @@ async function main() {
|
|
|
387
387
|
process.stderr.write(`Starting Kibana MCP Server in Stdio mode for space: ${defaultSpace}\n`);
|
|
388
388
|
const server = await createKibanaMcpServer({
|
|
389
389
|
name: serverName,
|
|
390
|
-
version: "0.
|
|
390
|
+
version: "0.7.3",
|
|
391
391
|
config,
|
|
392
392
|
description: serverDescription
|
|
393
393
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|