@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.
- package/package.json +1 -1
- 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.
|
|
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
|
-
###
|
|
17
|
+
### For Stdio Transport (Local Installation)
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
**Required:**
|
|
20
20
|
|
|
21
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
327
|
+
#### Running the Server
|
|
169
328
|
|
|
170
329
|
```bash
|
|
171
|
-
npm run
|
|
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
|
-
|
|
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
|
-
|
|
408
|
+
#### Release New Feature
|
|
181
409
|
|
|
182
410
|
```bash
|
|
183
|
-
|
|
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)
|