@elastic.io/mcp 1.0.1-dev1 → 1.0.1-dev10

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,138 +1,101 @@
1
1
  # elastic.io Model Context Protocol (MCP) Server
2
2
 
3
- A professional, production-ready TypeScript-based Model Context Protocol (MCP) server that connects Large Language Models (LLMs) to the **elastic.io** iPaaS platform REST API v2.
3
+ An MCP server that connects AI assistants to the **elastic.io** iPaaS platform — letting them discover, build, modify, and debug integration flows directly.
4
4
 
5
- This server enables AI assistants (such as Antigravity, Claude Desktop, Claude Code, Cursor, or custom frontends) to discover, construct, modify, manage, and debug integration flows directly.
6
-
7
- It is published on npm as `@elastic.io/mcp` and can be run directly via `npx @elastic.io/mcp`.
5
+ Published on npm as `@elastic.io/mcp`.
8
6
 
9
7
  ---
10
8
 
11
- ## What is the MCP Server?
9
+ ## Quick Start
12
10
 
13
- This server implements the **Model Context Protocol (MCP)**, a standard protocol that lets LLMs securely query and mutate data in external systems.
11
+ ### Prerequisites
14
12
 
15
- Specifically, this server acts as an intelligent intermediary between an LLM agent and the elastic.io integration platform, exposing 36 distinct tools that translate high-level requests into raw API operations. It allows LLMs to list components, discover credentials, create and manage flows, build mappings with JSONata expressions, debug individual flow steps, manage data samples, analyze run-time logs, and more.
13
+ 1. **Node.js 18+** — download from [nodejs.org](https://nodejs.org/)
14
+ 2. **A desktop AI client** — install one of the supported clients (see below)
15
+ 3. **elastic.io credentials** — your account email and API key
16
16
 
17
- ---
17
+ ### One-Command Setup
18
18
 
19
- ## How It Works
19
+ Run this in your terminal — it will detect your installed AI clients and configure them automatically:
20
20
 
21
- The server runs in **Stdio mode**: the LLM client starts the server as a subprocess, and communication occurs over standard input/output streams.
21
+ **macOS / Linux:**
22
+ ```bash
23
+ npx -y @elastic.io/mcp setup
24
+ ```
22
25
 
26
+ **Windows (Command Prompt):**
27
+ ```cmd
28
+ npx -y @elastic.io/mcp setup
23
29
  ```
24
- LLM Client (Cursor/Claude Code/Claude Desktop) <--> [stdin / stdout] <--> MCP Server
30
+
31
+ **Windows (PowerShell):**
32
+ ```powershell
33
+ npx -y @elastic.io/mcp setup
25
34
  ```
26
35
 
27
- The server loads authentication credentials (`ELASTICIO_API_EMAIL` and `ELASTICIO_API_KEY`) from environment variables or a local `.env` file.
36
+ > The command is the same on all platforms. Make sure Node.js 18+ is installed and `npx` is available in your PATH.
28
37
 
29
- ### Core Safeguards & Optimizations
30
- * **State-Machine Verification:** To prevent the LLM from configuring flows using cached or hallucinated IDs, the validation engine enforces that components and credentials must be fetched/discovered in the current session before they can be configured in a graph.
31
- * **JSONata Safety Checks:** The server reviews generated mappings, warning the LLM if it wraps JSONata mappers in outer quotes (making them strings) or references variables directly instead of using `$getPassthrough().step_id.body.field`.
32
- * **Token Optimization:** Component details are retrieved in two steps to prevent token bloat. Large metadata objects and enums are dynamically pruned when they exceed limits.
38
+ The setup wizard will:
39
+ 1. Ask for your elastic.io email and API key
40
+ 2. Detect which AI clients are installed on your machine
41
+ 3. Let you choose which clients to configure
42
+ 4. Write the MCP config files automatically
33
43
 
34
- ---
44
+ After setup, **restart your AI client** — the elastic.io tools will appear in the chat.
35
45
 
36
- ## Execution Process & Requirements
37
-
38
- ### Requirements
39
- * **Node.js** (version 18 or higher)
40
- * **npm** or yarn
41
- * **Embedding Provider API Key** (required for creating documentation and flow sample embeddings, e.g. Gemini).
42
- * **Vector Store URL and API Key** (for semantic search capabilities, e.g. Qdrant).
43
-
44
- ### Local Setup
45
- 1. Clone this repository and install dependencies:
46
- ```bash
47
- npm install
48
- ```
49
- 2. Copy `.env.example` to `.env` and fill out your variables:
50
- ```bash
51
- cp .env.example .env
52
- ```
53
- 3. Build the project:
54
- ```bash
55
- npm run build
56
- ```
57
-
58
- ### Running the Server
59
- To run the server locally inside your IDE (e.g. Cursor or Claude Desktop):
60
- ```bash
61
- node dist/index.js
62
- ```
63
-
64
- #### Using npx (no local clone needed)
65
- If the package is published to npm, you can run it directly:
66
- ```bash
67
- ELASTICIO_API_EMAIL="your_email@example.com" \
68
- ELASTICIO_API_KEY="your_api_key" \
69
- npx @elastic.io/mcp
70
- ```
46
+ ### Supported Clients
71
47
 
72
- **Environment variables:**
48
+ | Client | macOS | Windows | Linux |
49
+ |---|---|---|---|
50
+ | [Claude Desktop](https://claude.ai/download) | `~/Library/Application Support/Claude/claude_desktop_config.json` | `%APPDATA%\Claude\claude_desktop_config.json` | `~/.config/Claude/claude_desktop_config.json` |
51
+ | [Claude Code](https://claude.ai/code) | `~/.claude.json` | `%USERPROFILE%\.claude.json` | `~/.claude.json` |
52
+ | [ChatGPT / Codex](https://openai.com/chatgpt/desktop/) | `~/.codex/config.toml` | `%USERPROFILE%\.codex\config.toml` | `~/.codex/config.toml` |
53
+ | [Cursor](https://cursor.com/) | `~/.cursor/mcp.json` | `%USERPROFILE%\.cursor\mcp.json` | `~/.cursor/mcp.json` |
54
+ | [Windsurf](https://codeium.com/windsurf) | `~/.codeium/windsurf/mcp_config.json` | `%USERPROFILE%\.codeium\windsurf\mcp_config.json` | `~/.codeium/windsurf/mcp_config.json` |
55
+ | [VS Code (Copilot)](https://code.visualstudio.com/) | `~/Library/Application Support/Code/User/mcp.json` | `%APPDATA%\Code\User\mcp.json` | `~/.config/Code/User/mcp.json` |
56
+ | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `~/.gemini/settings.json` | `%USERPROFILE%\.gemini\settings.json` | `~/.gemini/settings.json` |
57
+ | [Zed](https://zed.dev/) | `~/.config/zed/settings.json` | — | `~/.config/zed/settings.json` |
58
+ | [Trae (ByteDance)](https://www.trae.ai/) | `~/.trae/mcp.json` | `%USERPROFILE%\.trae\mcp.json` | `~/.trae/mcp.json` |
59
+ | [Cline (VS Code)](https://github.com/cline/cline) | VS Code globalStorage | VS Code globalStorage | VS Code globalStorage |
60
+ | [Qwen Code](https://qwenlm.github.io/) | `~/.qwen/settings.json` | `%USERPROFILE%\.qwen\settings.json` | `~/.qwen/settings.json` |
61
+ | [Kimi Code](https://kimi.moonshot.cn/) | `~/.kimi-code/mcp.json` | `%USERPROFILE%\.kimi-code\mcp.json` | `~/.kimi-code/mcp.json` |
62
+ | [DeepSeek](https://www.deepseek.com/) | `~/.deepseek/mcp.json` | `%USERPROFILE%\.deepseek\mcp.json` | `~/.deepseek/mcp.json` |
73
63
 
74
- | Variable | Required | Description |
75
- |---|---|---|
76
- | `ELASTICIO_API_EMAIL` | Yes | Your elastic.io account email |
77
- | `ELASTICIO_API_KEY` | Yes | Your elastic.io API key |
78
- | `ELASTICIO_API_BASE_URL` | No | API base URL (default: `https://api.elastic.io/v2`) |
64
+ ### Manual Configuration
79
65
 
80
- Semantic search (documentation, flow samples) is handled server-side through the elastic.io API — no additional configuration needed.
66
+ If you prefer to configure manually, add the following to your client's MCP config file:
81
67
 
82
- #### Client Configuration
83
- Configure your client configuration file (e.g., `mcp_config.json`) to invoke this command, providing the required environment variables:
84
-
85
- **Using npx (recommended):**
86
68
  ```json
87
69
  {
88
70
  "mcpServers": {
89
- "elasticio-mcp": {
71
+ "elasticio": {
90
72
  "command": "npx",
91
73
  "args": ["-y", "@elastic.io/mcp"],
92
74
  "env": {
93
75
  "ELASTICIO_API_EMAIL": "your_email@example.com",
94
- "ELASTICIO_API_KEY": "your_api_key"
76
+ "ELASTICIO_API_KEY": "your_api_key",
77
+ "ELASTICIO_API_BASE_URL": "https://api.elastic.io/v2"
95
78
  }
96
79
  }
97
80
  }
98
81
  }
99
82
  ```
100
83
 
101
- **Using a local clone:**
102
- ```json
103
- {
104
- "mcpServers": {
105
- "elasticio-mcp": {
106
- "command": "node",
107
- "args": ["/path/to/project/dist/index.js"],
108
- "cwd": "/path/to/project",
109
- "env": {
110
- "ELASTICIO_API_EMAIL": "your_email@example.com",
111
- "ELASTICIO_API_KEY": "your_api_key"
112
- }
113
- }
114
- }
115
- }
116
- ```
84
+ > **Note:** ChatGPT / Codex uses TOML format — use `npx -y @elastic.io/mcp setup` for automatic configuration.
117
85
 
118
86
  ---
119
87
 
120
- ## Embedding & Ingestion Process
121
-
122
- The server uses semantic search to locate documentation and similar flow configuration examples for the LLM. You must populate the vector database by ingesting local resources:
123
-
124
- ### Ingesting Local Files
125
- The project includes command-line scripts to parse, embed, and index local resources:
126
- * **Ingest Documentation:** Parses the markdown files located in `resources/elasticio.github.io/content/` and uploads them to the Qdrant `documentation` collection:
127
- ```bash
128
- node dist/scripts/ingest_docs.js
129
- ```
130
- * **Ingest Flow Templates:** Parses the local JSON templates located in `resources/flow-examples/` and uploads them to the Qdrant `flow_samples` collection:
131
- ```bash
132
- node dist/scripts/ingest_flow_examples.js
133
- ```
134
- * **Verify Search:** Runs test search queries against Qdrant to confirm embeddings were correctly indexed:
135
- ```bash
136
- node dist/scripts/test_search.js --query "your query string" --collection "flow_samples"
137
- ```
88
+ ## How It Works
89
+
90
+ The AI client starts the MCP server as a subprocess and communicates over stdin/stdout:
91
+
92
+ ```
93
+ AI Client (Claude/ChatGPT/Cursor/...) <--> [stdin / stdout] <--> MCP Server <--> elastic.io API
94
+ ```
95
+
96
+ The server exposes 36 tools that let the AI: list components, discover credentials, create and manage flows, build JSONata mappings, debug flow steps, manage data samples, analyze logs, and more.
138
97
 
98
+ ### Built-in Safeguards
99
+ * **State-Machine Verification** — components and credentials must be discovered in the current session before they can be used, preventing hallucinated IDs.
100
+ * **JSONata Safety Checks** — warns when mappings have common mistakes (quoted expressions, missing `$getPassthrough()` calls).
101
+ * **Token Optimization** — large metadata and enums are dynamically pruned to stay within context limits.
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ if (process.argv.includes('setup')) {
3
+ import('./setup.js');
4
+ }
5
+ else {
6
+ import('./index.js');
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,CAAC,YAAY,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,MAAM,CAAC,YAAY,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export declare function runSetup(): Promise<void>;
3
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAgPA,wBAAsB,QAAQ,kBAyD7B"}
package/dist/setup.js ADDED
@@ -0,0 +1,265 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import os from 'node:os';
5
+ import readline from 'node:readline';
6
+ const home = os.homedir();
7
+ // Resolve the full path to npx at setup time so clients that don't inherit
8
+ // the user's shell PATH (NVM, fnm, Homebrew, etc.) can still find it.
9
+ import { execSync } from 'node:child_process';
10
+ function resolveNpxPath() {
11
+ try {
12
+ return execSync('which npx', { encoding: 'utf-8' }).trim();
13
+ }
14
+ catch {
15
+ return 'npx'; // fallback to bare name
16
+ }
17
+ }
18
+ const npxPath = resolveNpxPath();
19
+ function mcpEntry(env) {
20
+ return {
21
+ command: npxPath,
22
+ args: ['-y', '@elastic.io/mcp@dev'],
23
+ env,
24
+ };
25
+ }
26
+ function writeTomlMcpServer(configPath, env) {
27
+ let content = '';
28
+ try {
29
+ content = fs.readFileSync(configPath, 'utf-8');
30
+ }
31
+ catch { /* file doesn't exist yet */ }
32
+ // Remove existing elasticio section if present
33
+ content = content.replace(/\n?\[mcp_servers\.elasticio\][\s\S]*?(?=\n\[|$)/, '');
34
+ // Build TOML section
35
+ const envLines = Object.entries(env)
36
+ .map(([k, v]) => `${k} = "${v}"`)
37
+ .join('\n');
38
+ const section = `
39
+ [mcp_servers.elasticio]
40
+ command = "${npxPath}"
41
+ args = ["-y", "@elastic.io/mcp@dev"]
42
+ startup_timeout_sec = 120
43
+
44
+ [mcp_servers.elasticio.env]
45
+ ${envLines}
46
+ `;
47
+ fs.mkdirSync(path.dirname(configPath), { recursive: true });
48
+ fs.writeFileSync(configPath, content.trimEnd() + '\n' + section, 'utf-8');
49
+ }
50
+ function platformPath(mac, win, linux) {
51
+ if (process.platform === 'darwin')
52
+ return mac;
53
+ if (process.platform === 'win32')
54
+ return win;
55
+ return linux;
56
+ }
57
+ const clients = [
58
+ {
59
+ name: 'Claude Desktop',
60
+ configPath: platformPath(path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json'), path.join(home, 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json'), path.join(home, '.config', 'Claude', 'claude_desktop_config.json')),
61
+ writeConfig(configPath, env) {
62
+ const existing = readJson(configPath);
63
+ existing.mcpServers = existing.mcpServers || {};
64
+ existing.mcpServers['elasticio'] = mcpEntry(env);
65
+ writeJson(configPath, existing);
66
+ },
67
+ },
68
+ {
69
+ name: 'Claude Code',
70
+ configPath: path.join(home, '.claude.json'),
71
+ writeConfig(configPath, env) {
72
+ const existing = readJson(configPath);
73
+ existing.mcpServers = existing.mcpServers || {};
74
+ existing.mcpServers['elasticio'] = mcpEntry(env);
75
+ writeJson(configPath, existing);
76
+ },
77
+ },
78
+ {
79
+ name: 'ChatGPT / Codex',
80
+ configPath: path.join(home, '.codex', 'config.toml'),
81
+ writeConfig(configPath, env) {
82
+ writeTomlMcpServer(configPath, env);
83
+ },
84
+ },
85
+ {
86
+ name: 'Cursor',
87
+ configPath: path.join(home, '.cursor', 'mcp.json'),
88
+ writeConfig(configPath, env) {
89
+ const existing = readJson(configPath);
90
+ existing.mcpServers = existing.mcpServers || {};
91
+ existing.mcpServers['elasticio'] = mcpEntry(env);
92
+ writeJson(configPath, existing);
93
+ },
94
+ },
95
+ {
96
+ name: 'Windsurf',
97
+ configPath: path.join(home, '.codeium', 'windsurf', 'mcp_config.json'),
98
+ writeConfig(configPath, env) {
99
+ const existing = readJson(configPath);
100
+ existing.mcpServers = existing.mcpServers || {};
101
+ existing.mcpServers['elasticio'] = mcpEntry(env);
102
+ writeJson(configPath, existing);
103
+ },
104
+ },
105
+ {
106
+ name: 'Gemini CLI',
107
+ configPath: path.join(home, '.gemini', 'settings.json'),
108
+ writeConfig(configPath, env) {
109
+ const existing = readJson(configPath);
110
+ existing.mcpServers = existing.mcpServers || {};
111
+ existing.mcpServers['elasticio'] = mcpEntry(env);
112
+ writeJson(configPath, existing);
113
+ },
114
+ },
115
+ {
116
+ name: 'Trae (ByteDance)',
117
+ configPath: path.join(home, '.trae', 'mcp.json'),
118
+ writeConfig(configPath, env) {
119
+ const existing = readJson(configPath);
120
+ existing.mcpServers = existing.mcpServers || {};
121
+ existing.mcpServers['elasticio'] = mcpEntry(env);
122
+ writeJson(configPath, existing);
123
+ },
124
+ },
125
+ {
126
+ name: 'VS Code (Copilot)',
127
+ configPath: platformPath(path.join(home, 'Library', 'Application Support', 'Code', 'User', 'mcp.json'), path.join(home, 'AppData', 'Roaming', 'Code', 'User', 'mcp.json'), path.join(home, '.config', 'Code', 'User', 'mcp.json')),
128
+ writeConfig(configPath, env) {
129
+ const existing = readJson(configPath);
130
+ existing.servers = existing.servers || {};
131
+ existing.servers['elasticio'] = mcpEntry(env);
132
+ writeJson(configPath, existing);
133
+ },
134
+ },
135
+ {
136
+ name: 'Zed',
137
+ configPath: path.join(home, '.config', 'zed', 'settings.json'),
138
+ writeConfig(configPath, env) {
139
+ const existing = readJson(configPath);
140
+ existing.context_servers = existing.context_servers || {};
141
+ existing.context_servers['elasticio'] = {
142
+ command: { path: 'npx', args: ['-y', '@elastic.io/mcp@dev'] },
143
+ settings: env,
144
+ };
145
+ writeJson(configPath, existing);
146
+ },
147
+ },
148
+ {
149
+ name: 'Cline (VS Code)',
150
+ configPath: platformPath(path.join(home, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json'), path.join(home, 'AppData', 'Roaming', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json'), path.join(home, '.config', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json')),
151
+ writeConfig(configPath, env) {
152
+ const existing = readJson(configPath);
153
+ existing.mcpServers = existing.mcpServers || {};
154
+ existing.mcpServers['elasticio'] = mcpEntry(env);
155
+ writeJson(configPath, existing);
156
+ },
157
+ },
158
+ {
159
+ name: 'Qwen Code',
160
+ configPath: path.join(home, '.qwen', 'settings.json'),
161
+ writeConfig(configPath, env) {
162
+ const existing = readJson(configPath);
163
+ existing.mcpServers = existing.mcpServers || {};
164
+ existing.mcpServers['elasticio'] = mcpEntry(env);
165
+ writeJson(configPath, existing);
166
+ },
167
+ },
168
+ {
169
+ name: 'Kimi Code',
170
+ configPath: path.join(home, '.kimi-code', 'mcp.json'),
171
+ writeConfig(configPath, env) {
172
+ const existing = readJson(configPath);
173
+ existing.mcpServers = existing.mcpServers || {};
174
+ existing.mcpServers['elasticio'] = mcpEntry(env);
175
+ writeJson(configPath, existing);
176
+ },
177
+ },
178
+ {
179
+ name: 'DeepSeek',
180
+ configPath: path.join(home, '.deepseek', 'mcp.json'),
181
+ writeConfig(configPath, env) {
182
+ const existing = readJson(configPath);
183
+ existing.mcpServers = existing.mcpServers || {};
184
+ existing.mcpServers['elasticio'] = mcpEntry(env);
185
+ writeJson(configPath, existing);
186
+ },
187
+ },
188
+ ];
189
+ function readJson(filePath) {
190
+ try {
191
+ return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
192
+ }
193
+ catch {
194
+ return {};
195
+ }
196
+ }
197
+ function writeJson(filePath, data) {
198
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
199
+ fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
200
+ }
201
+ function detectClients() {
202
+ return clients.filter((c) => {
203
+ // Check if config file or its parent directory exists
204
+ const dir = path.dirname(c.configPath);
205
+ return fs.existsSync(c.configPath) || fs.existsSync(dir);
206
+ });
207
+ }
208
+ function ask(rl, question) {
209
+ return new Promise((resolve) => rl.question(question, resolve));
210
+ }
211
+ export async function runSetup() {
212
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
213
+ console.log('\n🔧 elastic.io MCP Server Setup\n');
214
+ // 1. Collect credentials
215
+ const email = await ask(rl, 'elastic.io email: ');
216
+ const apiKey = await ask(rl, 'elastic.io API key: ');
217
+ const baseUrl = await ask(rl, 'API base URL (press Enter for https://api.elastic.io/v2): ');
218
+ const env = {
219
+ ELASTICIO_API_EMAIL: email.trim(),
220
+ ELASTICIO_API_KEY: apiKey.trim(),
221
+ ELASTICIO_API_BASE_URL: baseUrl.trim() || 'https://api.elastic.io/v2',
222
+ };
223
+ // 2. Detect clients
224
+ const detected = detectClients();
225
+ if (detected.length === 0) {
226
+ console.log('\nNo supported AI clients detected. Supported clients:');
227
+ clients.forEach((c) => console.log(` - ${c.name}`));
228
+ console.log('\nInstall one of the above clients and run setup again.');
229
+ rl.close();
230
+ return;
231
+ }
232
+ console.log('\nDetected AI clients:');
233
+ detected.forEach((c, i) => console.log(` ${i + 1}. ${c.name}`));
234
+ const selection = await ask(rl, `\nInstall to (comma-separated numbers, or "all"): `);
235
+ rl.close();
236
+ let selected;
237
+ if (selection.trim().toLowerCase() === 'all') {
238
+ selected = detected;
239
+ }
240
+ else {
241
+ const indices = selection.split(',').map((s) => parseInt(s.trim(), 10) - 1);
242
+ selected = indices.filter((i) => i >= 0 && i < detected.length).map((i) => detected[i]);
243
+ }
244
+ if (selected.length === 0) {
245
+ console.log('No clients selected. Exiting.');
246
+ return;
247
+ }
248
+ // 3. Write configs
249
+ for (const client of selected) {
250
+ try {
251
+ client.writeConfig(client.configPath, env);
252
+ console.log(`✅ ${client.name} — configured (${client.configPath})`);
253
+ }
254
+ catch (err) {
255
+ console.error(`❌ ${client.name} — failed: ${err.message}`);
256
+ }
257
+ }
258
+ console.log('\nDone! Restart your AI client to pick up the new MCP server.\n');
259
+ }
260
+ // Self-execute when run directly
261
+ runSetup().then(() => process.exit(0)).catch((err) => {
262
+ console.error(err);
263
+ process.exit(1);
264
+ });
265
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@elastic.io/mcp",
3
- "version": "1.0.1-dev1",
3
+ "version": "1.0.1-dev10",
4
4
  "description": "elastic.io Model Context Protocol (MCP) Server",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
- "elasticio-mcp-server": "dist/index.js"
7
+ "mcp": "dist/cli.js"
8
8
  },
9
9
  "type": "module",
10
10
  "files": [