@cliniq360/eigi-mcp 1.0.6 → 1.0.7

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,47 +1,30 @@
1
- # eigi.ai MCP Server
1
+ # eigi-mcp
2
2
 
3
- [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://github.com/modelcontextprotocol/registry)
4
3
  [![npm version](https://img.shields.io/npm/v/@cliniq360/eigi-mcp)](https://www.npmjs.com/package/@cliniq360/eigi-mcp)
4
+ [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://github.com/modelcontextprotocol/registry)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
6
 
6
- MCP (Model Context Protocol) server for [eigi.ai](https://eigi.ai) - enabling AI-native integration with your AI voice and chat agents through Claude Desktop and other MCP-compatible clients.
7
-
8
- ## Table of Contents
9
-
10
- - [Quick Start](#quick-start)
11
- - [Installation Options](#installation-options)
12
- - [MCP Registry](#mcp-registry)
13
- - [Configuration](#configuration)
14
- - [Claude Desktop Setup](#claude-desktop-setup)
15
- - [Commands](#commands)
16
- - [API Endpoints](#api-endpoints)
17
- - [MCP Tools Reference](#mcp-tools-reference)
18
- - [MCP Resources (UI)](#mcp-resources-ui)
19
- - [Project Structure](#project-structure)
20
- - [Docker](#docker)
21
- - [Authentication](#authentication)
22
- - [Publishing](#publishing)
7
+ MCP (Model Context Protocol) server for [eigi.ai](https://eigi.ai) - enabling AI-native integration with your AI voice and chat agents through Claude Desktop, Cursor, VS Code, and other MCP-compatible clients.
23
8
 
24
9
  ## Features
25
10
 
26
11
  - **20+ MCP Tools** for managing agents, conversations, calls, chats, and prompts
27
- - **5 UI Resources** for rich interactive experiences
28
- - **Real-time Voice Testing** via Pipecat AI integration
12
+ - **Real-time Voice Testing** via interactive UI
29
13
  - **Dual Transport Support** - Remote (HTTP) and Local (stdio) modes
30
- - **Hot-reload Development** with Vite and tsx watchers
31
- - **TypeScript** for type safety
32
- - **Tailwind CSS 4** for modern UI styling
33
14
 
34
15
  ## Quick Start
35
16
 
36
- ### Get Your API Key
17
+ ### 1. Get Your API Key
37
18
 
38
19
  1. Sign up at [eigi.ai](https://eigi.ai)
39
20
  2. Navigate to Settings → API Keys
40
21
  3. Generate a new API key
41
22
 
42
- ### Connect via Remote Server (Fastest)
23
+ ### 2. Choose Your Connection Method
43
24
 
44
- Add to your Claude Desktop config - no installation required:
25
+ #### Option A: Remote Server (Recommended - No Installation)
26
+
27
+ Connect directly to the hosted eigi.ai MCP server:
45
28
 
46
29
  ```json
47
30
  {
@@ -57,75 +40,29 @@ Add to your Claude Desktop config - no installation required:
57
40
  }
58
41
  ```
59
42
 
60
- ---
61
-
62
- ## Installation Options
63
-
64
- ### Option 1: Remote Server (Recommended)
65
-
66
- Connect directly to the hosted eigi.ai MCP server. **No installation required.**
67
-
68
- **Supported authentication methods:**
69
-
70
- - Header: `X-API-Key: YOUR_KEY`
71
- - Header: `Authorization: Bearer YOUR_KEY`
72
- - Query parameter: `?api_key=YOUR_KEY`
73
-
74
- ### Option 2: Local via npm
75
-
76
- Install and run locally:
43
+ #### Option B: Local via npm
77
44
 
78
45
  ```bash
79
- # Using npx (no install)
80
- EIGI_API_KEY=your-key npx @cliniq360/eigi-mcp --stdio
81
-
82
- # Or install globally
83
- npm install -g @cliniq360/eigi-mcp
84
- EIGI_API_KEY=your-key eigi-mcp --stdio
46
+ npx @cliniq360/eigi-mcp --stdio
85
47
  ```
86
48
 
87
- ### Option 3: From Source (Development)
49
+ Or install globally:
88
50
 
89
51
  ```bash
90
- # Clone the repository
91
- git clone https://github.com/eigi-ai/eigi-mcp.git
92
- cd eigi-mcp/eigi-app
93
-
94
- # Install dependencies
95
- npm install
96
-
97
- # Copy environment file
98
- cp .env.example .env
99
-
100
- # Run development server
101
- npm run dev
102
- ```
103
-
104
- ---
105
-
106
- ## MCP Registry
107
-
108
- This server is published to the [MCP Registry](https://github.com/modelcontextprotocol/registry) as:
109
-
110
- ```
111
- io.github.eigi-ai/eigi
52
+ npm install -g @cliniq360/eigi-mcp
53
+ eigi-mcp --stdio
112
54
  ```
113
55
 
114
- | Mode | Transport | Endpoint |
115
- | ---------- | --------------- | --------------------------------- |
116
- | **Remote** | streamable-http | `https://mcp.eigi.ai/mcp` |
117
- | **Local** | stdio | `npx @cliniq360/eigi-mcp --stdio` |
118
-
119
- ---
56
+ ## Client Setup
120
57
 
121
- ## Claude Desktop Setup
58
+ ### Claude Desktop
122
59
 
123
- ### Remote Mode (Recommended)
60
+ Edit `claude_desktop_config.json`:
124
61
 
125
- No installation needed. Edit `claude_desktop_config.json`:
62
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
63
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
126
64
 
127
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
128
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
65
+ **Remote Mode (Recommended):**
129
66
 
130
67
  ```json
131
68
  {
@@ -141,9 +78,7 @@ No installation needed. Edit `claude_desktop_config.json`:
141
78
  }
142
79
  ```
143
80
 
144
- ### Local Mode (stdio)
145
-
146
- For offline use or custom deployments:
81
+ **Local Mode:**
147
82
 
148
83
  ```json
149
84
  {
@@ -159,567 +94,119 @@ For offline use or custom deployments:
159
94
  }
160
95
  ```
161
96
 
162
- ---
163
-
164
- ## Configuration
165
-
166
- ### Environment Variables
167
-
168
- | Variable | Description | Default | Required |
169
- | ------------------------ | -------------------------- | ---------------------- | -------------------- |
170
- | `EIGI_API_KEY` | Your eigi.ai API key | - | **Yes** (stdio mode) |
171
- | `EIGI_API_BASE_URL` | Backend API URL | `https://prod.eigi.ai` | No |
172
- | `VITE_EIGI_API_BASE_URL` | API URL for browser builds | `https://prod.eigi.ai` | No |
173
- | `PORT` | Server port (HTTP mode) | `3001` | No |
174
-
175
- ### Environment File (Development)
176
-
177
- ```bash
178
- cp .env.example .env
179
- ```
180
-
181
- ```env
182
- # Your eigi.ai API key (required for stdio mode)
183
- EIGI_API_KEY=your-api-key-here
184
-
185
- # API Base URL
186
- EIGI_API_BASE_URL=https://prod.eigi.ai
187
-
188
- # Browser builds
189
- VITE_EIGI_API_BASE_URL=https://prod.eigi.ai
190
-
191
- # MCP Server Port
192
- PORT=3001
193
- ```
194
-
195
- ---
196
-
197
- ## Commands
198
-
199
- ### Quick Reference
200
-
201
- | Command | Description |
202
- | --------------------- | ---------------------------------- |
203
- | `npm install` | Install dependencies |
204
- | `npm run dev` | Development mode with hot-reload |
205
- | `npm run build` | Build for production (HTTP server) |
206
- | `npm run build:npm` | Build for npm package (stdio) |
207
- | `npm run serve` | Start HTTP server |
208
- | `npm run serve:stdio` | Start stdio server |
209
- | `npm run start` | Build + serve HTTP |
210
- | `npm run start:stdio` | Build + serve stdio |
211
-
212
- ### Helper Script
213
-
214
- ```bash
215
- # Make executable
216
- chmod +x start.sh
217
-
218
- # Run commands
219
- ./start.sh dev # Development mode
220
- ./start.sh stdio # stdio mode
221
- ./start.sh http # HTTP server mode
222
- ./start.sh build # Production build
223
- ```
224
-
225
- ### Detailed Command Reference
226
-
227
- #### `npm run dev` - Development Mode
228
-
229
- Starts the development server with hot-reload. Runs **6 concurrent processes**:
230
-
231
- ```bash
232
- npm run dev
233
-
234
- # What it runs:
235
- # 1. vite build --watch (conversations-app.html)
236
- # 2. vite build --watch (conversations-list-app.html)
237
- # 3. vite build --watch (conversation-detail-app.html)
238
- # 4. vite build --watch (agents-app-v2.html)
239
- # 5. vite build --watch (interactive-agent-v2.html)
240
- # 6. tsx --watch main.ts (server with hot-reload)
241
- ```
242
-
243
- **Output:**
244
-
245
- - Server runs at `http://localhost:3001`
246
- - MCP endpoint at `http://localhost:3001/mcp`
247
- - All file changes trigger automatic rebuild
248
-
249
- #### `npm run build` - Production Build
250
-
251
- Compiles TypeScript and builds all UI apps:
252
-
253
- ```bash
254
- npm run build
255
-
256
- # What it does:
257
- # 1. tsc --noEmit (TypeScript type checking only)
258
- # 2. Builds conversations-app.html → dist/
259
- # 3. Builds conversations-list-app.html → dist/
260
- # 4. Builds conversation-detail-app.html → dist/
261
- # 5. Builds agents-app-v2.html → dist/
262
- # 6. Builds interactive-agent-v2.html → dist/
263
- ```
264
-
265
- **Output:**
266
-
267
- - Creates `dist/` folder with compiled assets
268
- - Each HTML page becomes a single-file bundle (via vite-plugin-singlefile)
269
-
270
- #### `npm run build:npm` - Build for npm Package
271
-
272
- Compiles server-side code for stdio mode (npm package):
273
-
274
- ```bash
275
- npm run build:npm
276
-
277
- # What it does:
278
- # 1. Compiles TypeScript using tsconfig.build.json
279
- # 2. Outputs to dist/ (server code only, no UI)
280
- ```
281
-
282
- #### `npm run serve:stdio` - stdio Mode
283
-
284
- Runs the MCP server in stdio mode (for local MCP clients):
285
-
286
- ```bash
287
- npm run serve:stdio
288
-
289
- # Or with environment variable:
290
- EIGI_API_KEY=your-key npm run serve:stdio
291
- ```
292
-
293
- #### `npm run serve` - Start Server
294
-
295
- Starts the MCP server in production mode:
296
-
297
- ```bash
298
- npm run serve
299
-
300
- # What it runs:
301
- # tsx main.ts
302
- ```
303
-
304
- **Note:** Requires `npm run build` to be run first.
305
-
306
- #### `npm run start` - Full Production Start
307
-
308
- Builds and then starts the server:
309
-
310
- ```bash
311
- npm run start
312
-
313
- # Equivalent to:
314
- # npm run build && npm run serve
315
- ```
316
-
317
- ---
318
-
319
- ## Usage Examples
320
-
321
- ### Starting Development
322
-
323
- ```bash
324
- # 1. Install dependencies (first time only)
325
- npm install
326
-
327
- # 2. Configure environment
328
- cp .env.example .env
329
- # Edit .env with your API URL
330
-
331
- # 3. Start development server
332
- npm run dev
333
-
334
- # Server is now running at http://localhost:3001
335
- # MCP endpoint: http://localhost:3001/mcp
336
- ```
337
-
338
- ### Production Deployment
339
-
340
- ```bash
341
- # 1. Build production assets
342
- npm run build
97
+ ### Cursor
343
98
 
344
- # 2. Start server
345
- npm run serve
99
+ Add to `.cursor/mcp.json`:
346
100
 
347
- # Or do both in one command
348
- npm run start
349
- ```
350
-
351
- ### Testing MCP Endpoint
352
-
353
- ```bash
354
- # Health check
355
- curl http://localhost:3001/health
356
- # Response: {"status":"ok"}
357
-
358
- # Welcome endpoint
359
- curl http://localhost:3001/
360
- # Response: Welcome to eigi.ai MCP
361
-
362
- # MCP endpoint (requires proper JSON-RPC request)
363
- curl -X POST http://localhost:3001/mcp \
364
- -H "Content-Type: application/json" \
365
- -H "Authorization: Bearer YOUR_API_KEY" \
366
- -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
101
+ ```json
102
+ {
103
+ "mcpServers": {
104
+ "eigi": {
105
+ "command": "npx",
106
+ "args": ["-y", "@cliniq360/eigi-mcp", "--stdio"],
107
+ "env": {
108
+ "EIGI_API_KEY": "YOUR_EIGI_API_KEY"
109
+ }
110
+ }
111
+ }
112
+ }
367
113
  ```
368
114
 
369
- ---
370
-
371
- ## API Endpoints
372
-
373
- | Endpoint | Method | Description |
374
- | --------- | ------ | ------------------------------------------ |
375
- | `/` | GET | Welcome message (`Welcome to eigi.ai MCP`) |
376
- | `/health` | GET | Health check (`{"status": "ok"}`) |
377
- | `/mcp` | ALL | MCP protocol endpoint (JSON-RPC 2.0) |
378
- | `/log` | POST | Browser logging endpoint |
379
-
380
- ### Health Check Example
115
+ ### VS Code with Copilot
381
116
 
382
- ```bash
383
- curl http://localhost:3001/health
384
- ```
385
-
386
- Response:
117
+ Add to `.vscode/mcp.json`:
387
118
 
388
119
  ```json
389
- { "status": "ok" }
120
+ {
121
+ "servers": {
122
+ "eigi": {
123
+ "command": "npx",
124
+ "args": ["-y", "@cliniq360/eigi-mcp", "--stdio"],
125
+ "env": {
126
+ "EIGI_API_KEY": "YOUR_EIGI_API_KEY"
127
+ }
128
+ }
129
+ }
130
+ }
390
131
  ```
391
132
 
392
- ---
393
-
394
- ## MCP Tools Reference
133
+ ## MCP Tools
395
134
 
396
- ### Conversations
135
+ ### Agents
397
136
 
398
- | Tool | Description |
399
- | -------------------- | ----------------------------------------------------------------------------------- |
400
- | `list-conversations` | List voice and chat conversations with filters (page, status, date range, agent_id) |
401
- | `get-conversation` | Get full conversation details including transcript and analysis |
137
+ | Tool | Description |
138
+ | ------------------ | --------------------------------------------- |
139
+ | `list-agents` | List AI voice agents with pagination |
140
+ | `get-agent` | Get agent configuration by ID |
141
+ | `create-agent` | Create a new AI agent with STT/LLM/TTS config |
142
+ | `update-agent` | Update an existing agent's settings |
143
+ | `delete-agent` | Delete an agent by ID |
144
+ | `test-voice-agent` | Open interactive UI to test an agent |
402
145
 
403
- ### Agents
146
+ ### Conversations
404
147
 
405
- | Tool | Description |
406
- | ------------------ | --------------------------------------------------- |
407
- | `list-agents` | List AI voice agents with pagination |
408
- | `get-agent` | Get agent details and configuration by ID |
409
- | `create-agent` | Create a new AI voice agent with STT/LLM/TTS config |
410
- | `update-agent` | Update an existing agent's settings |
411
- | `delete-agent` | Delete an agent by ID |
412
- | `test-voice-agent` | Open interactive UI to test an agent in real-time |
148
+ | Tool | Description |
149
+ | -------------------- | --------------------------------------------- |
150
+ | `list-conversations` | List voice/chat conversations with filters |
151
+ | `get-conversation` | Get full conversation details with transcript |
413
152
 
414
153
  ### Calls
415
154
 
416
- | Tool | Description |
417
- | ------------------------ | ------------------------------------------------- |
418
- | `initiate-outbound-call` | Initiate an outbound voice call using an AI agent |
419
- | `get-mobile-numbers` | Get available mobile numbers for agents |
155
+ | Tool | Description |
156
+ | ------------------------ | ---------------------------------------------- |
157
+ | `initiate-outbound-call` | Start an outbound voice call using an AI agent |
158
+ | `get-mobile-numbers` | List available phone numbers for agents |
420
159
 
421
160
  ### Chat
422
161
 
423
- | Tool | Description |
424
- | ------------------------- | ---------------------------------------------- |
425
- | `list-chat-sessions` | List text chat sessions with pagination |
426
- | `get-chat-session` | Get complete chat session with all messages |
427
- | `send-chat-message` | Send a message to an AI agent and get response |
428
- | `get-agent-first-message` | Get agent's greeting/intro message |
162
+ | Tool | Description |
163
+ | ------------------------- | --------------------------------------- |
164
+ | `list-chat-sessions` | List text chat sessions |
165
+ | `get-chat-session` | Get complete chat session with messages |
166
+ | `send-chat-message` | Send a message and get response |
167
+ | `get-agent-first-message` | Get agent's greeting message |
429
168
 
430
169
  ### Prompts
431
170
 
432
- | Tool | Description |
433
- | --------------------- | ------------------------------------------------- |
434
- | `list-prompts` | List prompts with pagination |
435
- | `get-prompt` | Get a prompt by name (latest or specific version) |
436
- | `get-prompt-versions` | Get version history for a prompt |
437
- | `create-prompt` | Create a new prompt (or new version if exists) |
438
- | `update-prompt` | Update an existing prompt |
171
+ | Tool | Description |
172
+ | --------------------- | ------------------------------------------- |
173
+ | `list-prompts` | List system prompts with pagination |
174
+ | `get-prompt` | Get prompt content by name |
175
+ | `get-prompt-versions` | Get version history for a prompt |
176
+ | `create-prompt` | Create a new system prompt |
177
+ | `update-prompt` | Update prompt content (creates new version) |
439
178
 
440
179
  ### Providers
441
180
 
442
- | Tool | Description |
443
- | ---------------- | --------------------------------------------------------------------- |
444
- | `list-providers` | List available LLM, TTS, and STT providers with their models |
445
- | `list-voices` | List available voices for a TTS provider (CARTESIA, ELEVENLABS, etc.) |
446
-
447
- ---
448
-
449
- ## MCP Resources (UI)
450
-
451
- Rich UI resources for enhanced interaction within MCP clients:
452
-
453
- | Resource URI | Description |
454
- | ------------------------------------------------------- | ----------------------------------- |
455
- | `ui://conversations/conversations-app.html` | Main conversations dashboard |
456
- | `ui://conversations-list/conversations-list-app.html` | Conversations list view |
457
- | `ui://conversation-detail/conversation-detail-app.html` | Conversation detail with transcript |
458
- | `ui://agents/agents-app-v2.html` | Agents management interface |
459
- | `ui://interactive-agent/interactive-agent-v2.html` | Interactive agent testing widget |
460
-
461
- ---
462
-
463
- ## Project Structure
464
-
465
- ```
466
- eigi-app/
467
- ├── main.ts # Server entry point (Express + MCP)
468
- ├── server.ts # MCP server configuration and tool registration
469
- ├── package.json # Dependencies and npm scripts
470
- ├── tsconfig.json # TypeScript configuration
471
- ├── vite.config.ts # Vite build configuration
472
- ├── Dockerfile # Docker image definition
473
- ├── .env.example # Environment template
474
-
475
- ├── pages/ # HTML entry points for UI apps
476
- │ ├── agents-app-v2.html
477
- │ ├── conversations-app.html
478
- │ ├── conversations-list-app.html
479
- │ ├── conversation-detail-app.html
480
- │ └── interactive-agent-v2.html
481
-
482
- ├── dist/ # Built output (generated by npm run build)
483
-
484
- └── src/
485
- ├── index.ts # Main exports
486
- ├── global.css # Global styles
487
-
488
- ├── api/ # API client for eigi.ai backend
489
- │ ├── client.ts # HTTP client with auth handling
490
- │ └── index.ts
491
-
492
- ├── apps/ # React application entry points
493
- │ ├── agents-app.tsx
494
- │ ├── conversations-app.tsx
495
- │ ├── conversations-list-app.tsx
496
- │ ├── conversation-detail-app.tsx
497
- │ └── interactive-agent-app.tsx
498
-
499
- ├── components/ # Shared React components
500
- │ ├── VoiceCallDialog.tsx
501
- │ ├── VoiceCallUI.tsx
502
- │ ├── VoiceCallUI.module.css
503
- │ └── ui/ # UI primitives
504
- │ ├── avatar.tsx
505
- │ ├── badge.tsx
506
- │ ├── button.tsx
507
- │ ├── card.tsx
508
- │ └── index.ts
509
-
510
- ├── config/ # Configuration constants
511
- │ ├── constants.ts # API URLs, resource URIs, enums
512
- │ └── index.ts
513
-
514
- ├── lib/ # Utility functions
515
- │ └── utils.ts # cn() for class merging
516
-
517
- ├── resources/ # MCP resource registrations
518
- │ ├── agents.ts
519
- │ ├── conversations.ts
520
- │ ├── conversations-list.ts
521
- │ ├── conversation-detail.ts
522
- │ ├── interactive-agent.ts
523
- │ └── index.ts
524
-
525
- ├── tools/ # MCP tool implementations
526
- │ ├── agents.ts # Agent CRUD tools
527
- │ ├── calls.ts # Outbound call tools
528
- │ ├── chat.ts # Chat session tools
529
- │ ├── conversations.ts # Conversation list/detail tools
530
- │ ├── interactive-agent.ts
531
- │ ├── prompts.ts # Prompt management tools
532
- │ ├── providers.ts # Provider/voice listing tools
533
- │ ├── base.ts # Shared utilities
534
- │ └── index.ts
535
-
536
- ├── types/ # TypeScript type definitions
537
- │ ├── agent.ts
538
- │ ├── api.ts
539
- │ ├── calls.ts
540
- │ ├── chat-session.ts
541
- │ ├── conversation.ts
542
- │ └── index.ts
543
-
544
- └── utils/ # Logging utilities
545
- ├── browser-logger.ts # Browser-side logging
546
- └── logger.ts # Server-side logging
547
- ```
548
-
549
- ---
550
-
551
- ## Docker
552
-
553
- ### Build and Run
554
-
555
- ```bash
556
- # Build Docker image
557
- docker build -t eigi-app .
558
-
559
- # Build with custom API URL
560
- docker build \
561
- --build-arg VITE_EIGI_API_BASE_URL=https://prod.eigi.ai \
562
- -t eigi-app .
563
-
564
- # Run container
565
- docker run -p 7500:7500 --env-file .env eigi-app
566
-
567
- # Run with environment variables inline
568
- docker run -p 7500:7500 \
569
- -e EIGI_API_BASE_URL=https://prod.eigi.ai \
570
- -e PORT=7500 \
571
- eigi-app
572
- ```
573
-
574
- ### Dockerfile Overview
575
-
576
- ```dockerfile
577
- FROM node:20-alpine
578
- WORKDIR /app
579
-
580
- # Build arg for Vite (embedded at build time)
581
- ARG VITE_EIGI_API_BASE_URL=https://dev-api.eigi.ai
582
- ENV VITE_EIGI_API_BASE_URL=$VITE_EIGI_API_BASE_URL
583
-
584
- COPY package*.json .
585
- RUN npm install
586
- COPY . .
587
- RUN npm run build
588
- EXPOSE 7500
589
- CMD ["npm", "run", "serve"]
590
- ```
591
-
592
- ---
181
+ | Tool | Description |
182
+ | ---------------- | ------------------------------------------ |
183
+ | `list-providers` | List available LLM, TTS, and STT providers |
184
+ | `list-voices` | List available voices for a TTS provider |
593
185
 
594
186
  ## Authentication
595
187
 
596
188
  ### Remote Mode (HTTP)
597
189
 
598
- The MCP server extracts API keys from requests in the following priority order:
190
+ Pass your API key via headers:
599
191
 
600
- 1. **Authorization Header**: `Authorization: Bearer <token>`
601
- 2. **X-API-Key Header**: `X-API-Key: <token>`
602
- 3. **Query Parameter**: `?api_key=<token>`
192
+ - `X-API-Key: YOUR_KEY`
193
+ - `Authorization: Bearer YOUR_KEY`
603
194
 
604
195
  ### Local Mode (stdio)
605
196
 
606
- API key is passed via environment variable:
607
-
608
- ```bash
609
- EIGI_API_KEY=your-key npx @cliniq360/eigi-mcp --stdio
610
- ```
611
-
612
- Or in Claude Desktop config:
613
-
614
- ```json
615
- {
616
- "env": {
617
- "EIGI_API_KEY": "your-key"
618
- }
619
- }
620
- ```
621
-
622
- ### Example Requests (HTTP)
623
-
624
- ```bash
625
- # Using Authorization header (recommended)
626
- curl -X POST http://localhost:3001/mcp \
627
- -H "Authorization: Bearer your-api-key-here" \
628
- -H "Content-Type: application/json" \
629
- -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
630
-
631
- # Using X-API-Key header
632
- curl -X POST http://localhost:3001/mcp \
633
- -H "X-API-Key: your-api-key-here" \
634
- -H "Content-Type: application/json" \
635
- -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
636
-
637
- # Using query parameter
638
- curl -X POST "http://localhost:3001/mcp?api_key=your-api-key-here" \
639
- -H "Content-Type: application/json" \
640
- -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
641
- ```
642
-
643
- ---
644
-
645
- ## Tech Stack
646
-
647
- | Category | Technology | Version |
648
- | -------------- | ------------------------- | ------- |
649
- | **Runtime** | Node.js | 20+ |
650
- | **Server** | Express.js | 5.x |
651
- | **MCP SDK** | @modelcontextprotocol/sdk | 1.24+ |
652
- | **Frontend** | React | 19.x |
653
- | **Build Tool** | Vite | 6.x |
654
- | **Styling** | Tailwind CSS | 4.x |
655
- | **Voice** | Pipecat AI + Daily | 1.x |
656
- | **Validation** | Zod | 4.x |
657
- | **Language** | TypeScript | 5.9+ |
658
-
659
- ---
660
-
661
- ## Publishing
662
-
663
- ### npm Package
664
-
665
- The package is published as `@cliniq360/eigi-mcp` via GitHub Actions.
666
-
667
- **Automated Publishing:**
668
-
669
- 1. Update version in `package.json`
670
- 2. Commit changes
671
- 3. Create a git tag: `git tag v1.0.0`
672
- 4. Push tag: `git push origin v1.0.0`
673
- 5. GitHub Actions automatically publishes to npm
674
-
675
- **Manual Publishing (if needed):**
676
-
677
- ```bash
678
- # Build for npm
679
- npm run build:npm
680
-
681
- # Publish (requires npm auth)
682
- npm publish --access public
683
- ```
684
-
685
- ### MCP Registry
686
-
687
- The server is registered with:
688
-
689
- - **Registry Name**: `io.github.eigi-ai/eigi`
690
- - **npm Package**: `@cliniq360/eigi-mcp`
691
-
692
- Configuration is in `server.json`:
693
-
694
- ```json
695
- {
696
- "mcpName": "io.github.eigi-ai/eigi",
697
- "remotes": {
698
- "streamable-http": {
699
- "transportType": "streamable-http",
700
- "url": "https://mcp.eigi.ai/mcp"
701
- }
702
- },
703
- "packages": {
704
- "npm": {
705
- "name": "@cliniq360/eigi-mcp",
706
- "transportType": "stdio"
707
- }
708
- }
709
- }
710
- ```
197
+ Set the `EIGI_API_KEY` environment variable.
711
198
 
712
- ### GitHub Actions Workflow
199
+ ## Requirements
713
200
 
714
- The `.github/workflows/publish-mcp.yml` workflow:
201
+ - Node.js 20+
715
202
 
716
- - Triggers on `v*` tags
717
- - Uses OIDC for npm provenance
718
- - Builds and publishes to npm registry
719
- - Adds to MCP Registry automatically
203
+ ## Links
720
204
 
721
- ---
205
+ - [eigi.ai Platform](https://eigi.ai)
206
+ - [npm Package](https://www.npmjs.com/package/@cliniq360/eigi-mcp)
207
+ - [GitHub Repository](https://github.com/eigi-ai/eigi-mcp)
208
+ - [MCP Documentation](https://modelcontextprotocol.io)
722
209
 
723
210
  ## License
724
211
 
725
- Proprietary - © ClinIQ360
212
+ MIT - © ClinIQ360