@carbonvoice/cv-mcp-server 1.1.2 → 1.1.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/readme.md +253 -11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carbonvoice/cv-mcp-server",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Server implementation for integrating with Carbon Voice's API, providing tools and endpoints for voice messaging, conversations, and workspace management through MCP (Model Context Protocol)",
5
5
  "author": "Carbon Voice",
6
6
  "license": "ISC",
package/readme.md CHANGED
@@ -14,16 +14,44 @@ A Model Context Protocol (MCP) server implementation for integrating with Carbon
14
14
 
15
15
  ## Prerequisites
16
16
 
17
- ### API Key Required
17
+ ### For Stdio Transport (Local Installation)
18
18
 
19
- To use this MCP server, you need a Carbon Voice API key. Please contact the Carbon Voice development team to request your API key:
19
+ **Required:**
20
20
 
21
- **📧 Contact**: devsupport@phononx.com
21
+ 1. **Carbon Voice API Key** - Contact the Carbon Voice development team to request your API key:
22
+
23
+ - **📧 Contact**: devsupport@phononx.com
24
+ - **📧 Subject**: "Request API key for MCP Server"
25
+
26
+ 2. **npx Installation** - You must have `npx` installed on your system. npx comes bundled with Node.js (version 14.8.0 or later). If you don't have Node.js installed, you can download it from [nodejs.org](https://nodejs.org/).
27
+
28
+ To verify your installation, run:
29
+
30
+ ```bash
31
+ npx --version
32
+ ```
33
+
34
+ ### For HTTP Transport (Remote)
35
+
36
+ **Required:**
37
+
38
+ 1. **Nothing!** - No additional prerequisites are required. The HTTP transport version runs entirely in the cloud and uses OAuth2 authentication, so you don't need an API key or npx installed.
22
39
 
23
40
  ## Configuration
24
41
 
42
+ ### Quick Overview
43
+
44
+ | Client | HTTP Transport (Remote) | Stdio Transport (Local) |
45
+ | ------------------ | ----------------------- | ----------------------- |
46
+ | **Cursor** | ✅ Recommended | ✅ Available |
47
+ | **Claude Desktop** | ✅ Recommended | ✅ Available |
48
+
49
+ _HTTP Transport is recommended for easier setup and enhanced security._
50
+
25
51
  ### For Cursor
26
52
 
53
+ #### HTTP Transport (Remote)
54
+
27
55
  1. Open Cursor
28
56
  2. Go to **Cursor Settings** > **Features** > **Model Context Protocol**
29
57
  3. Add a new MCP server configuration:
@@ -31,7 +59,29 @@ To use this MCP server, you need a Carbon Voice API key. Please contact the Carb
31
59
  ```json
32
60
  {
33
61
  "mcpServers": {
34
- "Carbon-Voice": {
62
+ "Carbon Voice": {
63
+ "url": "https://mcp.carbonvoice.app"
64
+ }
65
+ }
66
+ }
67
+ ```
68
+
69
+ 4. Save and restart Cursor
70
+
71
+ The first time you use it, Cursor will guide you through the OAuth2 authentication process.
72
+
73
+ #### Stdio Transport (Local Installation)
74
+
75
+ If you prefer to run the MCP server locally with API key authentication:
76
+
77
+ 1. Open Cursor
78
+ 2. Go to **Cursor Settings** > **Features** > **Model Context Protocol**
79
+ 3. Add a new MCP server configuration:
80
+
81
+ ```json
82
+ {
83
+ "mcpServers": {
84
+ "Carbon Voice": {
35
85
  "command": "npx",
36
86
  "env": {
37
87
  "CARBON_VOICE_API_KEY": "your_api_key_here"
@@ -47,6 +97,29 @@ To use this MCP server, you need a Carbon Voice API key. Please contact the Carb
47
97
 
48
98
  ### For Claude Desktop
49
99
 
100
+ #### HTTP Transport (Remote)
101
+
102
+ Setting up Carbon Voice in Claude Desktop is straightforward! Here's how to do it:
103
+
104
+ 1. **Open Claude Desktop** and navigate to **Search and Tools**
105
+
106
+ 2. **Go to Manage Connectors** and click **"Add custom connector"**
107
+
108
+ 3. **Fill in the connector details**:
109
+
110
+ - **Name**: Give it a friendly name like "Carbon Voice"
111
+ - **Remote MCP Server URL**: Enter `https://mcp.carbonvoice.app`
112
+
113
+ 4. **Save your connector**
114
+
115
+ 5. **Click Connect**:
116
+
117
+ The first time you use it, Claude will guide you through the OAuth2 authentication process. You'll just need to sign in with your Carbon Voice account and grant permissions. After that, you're all set!
118
+
119
+ #### Stdio Transport (Local Installation)
120
+
121
+ If you prefer to run the MCP server locally with API key authentication:
122
+
50
123
  1. Open your Claude Desktop configuration file:
51
124
 
52
125
  - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
@@ -71,6 +144,80 @@ To use this MCP server, you need a Carbon Voice API key. Please contact the Carb
71
144
  3. Replace `"your_api_key_here"` with your actual Carbon Voice API key
72
145
  4. Save the file and restart Claude Desktop
73
146
 
147
+ ### Environment Variables (Only available for Stdio Version)
148
+
149
+ When using the stdio version of the MCP server, you can configure additional environment variables:
150
+
151
+ #### LOG_LEVEL
152
+
153
+ Controls the verbosity of logging output. Available options:
154
+
155
+ - `info` (default) - Standard logging information
156
+ - `debug` - Most verbose logging, shows detailed request/response data
157
+ - `warn` - Only warning and error messages
158
+ - `error` - Only error messages
159
+
160
+ **Example:**
161
+
162
+ ```json
163
+ {
164
+ "mcpServers": {
165
+ "Carbon-Voice": {
166
+ "command": "npx",
167
+ "env": {
168
+ "CARBON_VOICE_API_KEY": "your_api_key_here",
169
+ "LOG_LEVEL": "debug"
170
+ },
171
+ "args": ["-y", "@carbonvoice/cv-mcp-server"]
172
+ }
173
+ }
174
+ }
175
+ ```
176
+
177
+ #### LOG_DIR
178
+
179
+ Specifies the directory where log files will be stored. Defaults to: `/tmp/cv-mcp-server/logs`
180
+
181
+ The server will create two log files in this directory:
182
+
183
+ - `combined.log` - Contains all log messages
184
+ - `error.log` - Contains only error messages
185
+
186
+ **Example:**
187
+
188
+ ```json
189
+ {
190
+ "mcpServers": {
191
+ "Carbon-Voice": {
192
+ "command": "npx",
193
+ "env": {
194
+ "CARBON_VOICE_API_KEY": "your_api_key_here",
195
+ "LOG_DIR": "/Users/USER_NAME/Documents/cv-mcp-server/logs"
196
+ },
197
+ "args": ["-y", "@carbonvoice/cv-mcp-server"]
198
+ }
199
+ }
200
+ }
201
+ ```
202
+
203
+ **Complete Example with Both Variables:**
204
+
205
+ ```json
206
+ {
207
+ "mcpServers": {
208
+ "Carbon-Voice": {
209
+ "command": "npx",
210
+ "env": {
211
+ "CARBON_VOICE_API_KEY": "your_api_key_here",
212
+ "LOG_LEVEL": "debug",
213
+ "LOG_DIR": "/Users/USER_NAME/Documents/cv-mcp-server/logs"
214
+ },
215
+ "args": ["-y", "@carbonvoice/cv-mcp-server"]
216
+ }
217
+ }
218
+ }
219
+ ```
220
+
74
221
  ## Available Tools
75
222
 
76
223
  ### Messages
@@ -159,30 +306,125 @@ The server includes comprehensive error handling and logging. Errors are returne
159
306
 
160
307
  ## Development
161
308
 
162
- ### Building from Source
309
+ This section is for developers who want to contribute, implement new features, or fix issues.
310
+
311
+ ### Development Commands
312
+
313
+ #### Building and Development
163
314
 
164
315
  ```bash
165
- npm run build
316
+ npm run build # Build the project
317
+ npm run auto:build # Watch mode with auto-rebuild (recommended for development)
318
+ npm run lint:fix # Fix linting issues
319
+ ```
320
+
321
+ #### API Generation
322
+
323
+ ```bash
324
+ npm run generate:api # Generate TypeScript types from Carbon Voice API
166
325
  ```
167
326
 
168
- ### Running in Development Mode
327
+ #### Running the Server
169
328
 
170
329
  ```bash
171
- npm run auto:build # Watch mode with auto-rebuild
330
+ npm run dev:http # Start HTTP server in development mode with hot reload
331
+ npm run start:http # Start HTTP server in production mode
172
332
  ```
173
333
 
174
- ### Linting
334
+ #### Testing with MCP Inspector
335
+
336
+ **Setup**: Copy `.env.sample` to `.env` and configure your development environment variables.
337
+
338
+ ```bash
339
+ npm run mcp:inspector:stdio # Test stdio transport with MCP Inspector
340
+ npm run mcp:inspector:http # Test HTTP transport with MCP Inspector
341
+ ```
342
+
343
+ **For stdio transport testing:**
344
+
345
+ 1. Open the generated URL with token (e.g., `http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=46bfbd8938955be26da7f2089a8cccb7be57ed570e65d8d2d68e95561ed9b79e`)
346
+ 2. Set **Transport Type**: `STDIO`
347
+ 3. Set **Command**: `node`
348
+ 4. Click **Connect**
349
+ 5. Should see Connected info.
350
+
351
+ **For HTTP transport testing:**
352
+
353
+ 1. Open the generated URL with token
354
+ 2. Set **Transport Type**: `Streamable HTTP`
355
+ 3. Set **URL**: `http://localhost:3005`
356
+ 4. Click Auth, then Quick Oauth Flow.
357
+ 5. Will be redirected to Carbon Voice Auth Page. After Login, Bearer token should be auto added to Authorization Request headers.
358
+ 6. Click **Connect**
359
+ 7. Should see Connected info.
360
+
361
+ ### Version Management
362
+
363
+ **Note**: Only code merged to main branch with a **different version** from the current one will create a new Git tag and trigger a new npm package release. The CI/CD pipeline automatically checks if the version in `package.json` has changed before deploying and publishing.
364
+
365
+ #### Version Commands
366
+
367
+ ```bash
368
+ npm run version:patch # Bump patch version (1.0.0 → 1.0.1)
369
+ npm run version:minor # Bump minor version (1.0.0 → 1.1.0)
370
+ npm run version:major # Bump major version (1.0.0 → 2.0.0)
371
+ ```
372
+
373
+ #### Release Commands
374
+
375
+ ```bash
376
+ npm run release:patch # Build, test, version patch, and merge to main
377
+ npm run release:minor # Build, test, version minor, and merge to main
378
+ npm run release:major # Build, test, version major, and merge to main
379
+ npm run deploy:release # Build, test, and merge to main (no version bump)
380
+ ```
381
+
382
+ ### Development Workflow Examples
383
+
384
+ #### Commit to Develop
175
385
 
176
386
  ```bash
387
+ # 1. Make your changes and test locally
388
+ npm run build
177
389
  npm run lint:fix
390
+
391
+ # 2. Commit and push to develop
392
+ git add .
393
+ git commit -m "feat: add new message filtering feature"
394
+ git push origin develop
395
+ ```
396
+
397
+ #### Release Bug Fix
398
+
399
+ ```bash
400
+ # 1. Test your changes
401
+ npm run build
402
+ npm run mcp:inspector:http
403
+
404
+ # 2. Release patch version
405
+ npm run release:patch
178
406
  ```
179
407
 
180
- ### Testing with MCP Inspector
408
+ #### Release New Feature
181
409
 
182
410
  ```bash
183
- npm run mcp:inspector
411
+ # 1. Test your changes
412
+ npm run build
413
+ npm run mcp:inspector:stdio
414
+ npm run mcp:inspector:http
415
+
416
+ # 2. Release minor version
417
+ npm run release:minor
184
418
  ```
185
419
 
420
+ ### Development Tips
421
+
422
+ - **Use `auto:build`** during development for automatic rebuilding when files change
423
+ - **Test both transports** with MCP Inspector before releasing
424
+ - **Run `generate:api`** when Carbon Voice API changes
425
+ - **Use semantic versioning**: patch for fixes, minor for features, major for breaking changes
426
+ - **Always test** with both stdio and HTTP transports before releasing
427
+
186
428
  ## Support
187
429
 
188
430
  - **Issues**: [GitHub Issues](https://github.com/PhononX/cv-mcp-server/issues)