@meetbot/mcp 1.0.2 → 1.1.0

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 (57) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +138 -35
  3. package/dist/__tests__/meetbot-client.test.d.ts +2 -0
  4. package/dist/__tests__/meetbot-client.test.d.ts.map +1 -0
  5. package/dist/__tests__/{meetbot-client.test 2.js → meetbot-client.test.js} +2 -7
  6. package/dist/__tests__/meetbot-client.test.js.map +1 -0
  7. package/dist/__tests__/types.test.js +6 -6
  8. package/dist/__tests__/types.test.js.map +1 -1
  9. package/dist/cli-http.d.ts +3 -0
  10. package/dist/cli-http.d.ts.map +1 -0
  11. package/dist/cli-http.js +50 -0
  12. package/dist/cli-http.js.map +1 -0
  13. package/dist/cli.js +4 -4
  14. package/dist/cli.js.map +1 -1
  15. package/dist/index.d.ts +3 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +5 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/mcp-server-http.d.ts +26 -0
  20. package/dist/mcp-server-http.d.ts.map +1 -0
  21. package/dist/mcp-server-http.js +350 -0
  22. package/dist/mcp-server-http.js.map +1 -0
  23. package/dist/mcp-server.d.ts +1 -1
  24. package/dist/mcp-server.d.ts.map +1 -1
  25. package/dist/mcp-server.js +14 -18
  26. package/dist/mcp-server.js.map +1 -1
  27. package/dist/meetbot-client.d.ts +1 -1
  28. package/dist/meetbot-client.d.ts.map +1 -1
  29. package/dist/meetbot-client.js +16 -9
  30. package/dist/meetbot-client.js.map +1 -1
  31. package/dist/schemas.d.ts +1 -4
  32. package/dist/schemas.d.ts.map +1 -1
  33. package/dist/schemas.js +1 -2
  34. package/dist/schemas.js.map +1 -1
  35. package/dist/types.d.ts +1 -2
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js +1 -1
  38. package/package.json +64 -62
  39. package/dist/__tests__/meetbot-client.test 2.d.ts +0 -2
  40. package/dist/__tests__/meetbot-client.test 2.d.ts.map +0 -1
  41. package/dist/__tests__/meetbot-client.test 2.js.map +0 -1
  42. package/dist/cli 2.d.ts +0 -3
  43. package/dist/cli 2.d.ts.map +0 -1
  44. package/dist/cli 2.js +0 -32
  45. package/dist/cli 2.js.map +0 -1
  46. package/dist/index 2.d.ts +0 -10
  47. package/dist/index 2.d.ts.map +0 -1
  48. package/dist/index 2.js +0 -26
  49. package/dist/index 2.js.map +0 -1
  50. package/dist/schemas 2.d.ts +0 -213
  51. package/dist/schemas 2.d.ts.map +0 -1
  52. package/dist/schemas 2.js +0 -70
  53. package/dist/schemas 2.js.map +0 -1
  54. package/dist/types 2.d.ts +0 -68
  55. package/dist/types 2.d.ts.map +0 -1
  56. package/dist/types 2.js +0 -7
  57. package/dist/types 2.js.map +0 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Meetbot Team
3
+ Copyright (c) 2025 Meet.bot Team
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
- # Meetbot MCP (Model Context Protocol)
1
+ # Meet.bot MCP (Model Context Protocol)
2
2
 
3
- A Model Context Protocol (MCP) server for the Meetbot Booking Page API, enabling AI assistants to interact with scheduling and booking functionality.
3
+ A Model Context Protocol (MCP) server for the Meet.bot Booking Page API, enabling AI assistants to interact with scheduling and booking functionality.
4
4
 
5
5
  ## Features
6
6
 
7
- - **Complete API Coverage**: Implements all endpoints from the Meetbot Booking Page API v1
7
+ - **Complete API Coverage**: Implements all endpoints from the Meet.bot Booking Page API v1
8
8
  - **Type Safety**: Full TypeScript support with comprehensive type definitions
9
9
  - **Runtime Validation**: Zod schemas for input validation and data integrity
10
- - **Authentication Support**: Bearer token and session-based authentication
10
+ - **Authentication Support**: Bearer token authentication
11
11
  - **Error Handling**: Robust error handling with detailed error messages
12
- - **Health Checks**: Built-in health monitoring for API connectivity
12
+ - **Health Checks**: Built-in health monitoring using the /v1/pages endpoint
13
13
  - **MCP Protocol Compliance**: Full Model Context Protocol server implementation
14
14
  - **Production Ready**: Thoroughly tested and validated for production use
15
15
 
@@ -33,15 +33,13 @@ npm install -g @meetbot/mcp
33
33
 
34
34
  ### 2. Configure the MCP Server
35
35
 
36
- First, configure the Meetbot API client with your API endpoint and authentication:
36
+ Configure the Meet.bot API client with your authentication token:
37
37
 
38
38
  ```typescript
39
39
  // Configure with bearer token
40
40
  await configure_meetbot({
41
- baseUrl: "https://api.meet.bot",
42
41
  authToken: "your_bearer_token_here"
43
42
  });
44
-
45
43
  ```
46
44
 
47
45
  ### 3. Use the Available Tools
@@ -90,7 +88,95 @@ await book_meeting({
90
88
  #### Health Check
91
89
  ```typescript
92
90
  await health_check();
93
- // Verifies API connectivity and configuration
91
+ // Verifies API connectivity using the /v1/pages endpoint
92
+ ```
93
+
94
+ ## Deployment Options
95
+
96
+ The MCP server can be run in two modes:
97
+
98
+ ### 1. Local Mode (Stdio Transport)
99
+
100
+ For local integration with AI assistants like Claude Desktop. Uses stdio transport for communication.
101
+
102
+ ```bash
103
+ # Run locally
104
+ npx @meetbot/mcp
105
+
106
+ # Or with environment variable
107
+ MEETBOT_AUTH_TOKEN="your_token" npx @meetbot/mcp
108
+ ```
109
+
110
+ ### 2. HTTP Mode (SSE Transport)
111
+
112
+ For remote deployment with HTTP/SSE transport. This allows the MCP server to be accessed over the network.
113
+
114
+ #### Running the HTTP Server
115
+
116
+ ```bash
117
+ # Build and start the HTTP server
118
+ npm run build
119
+ npm run start:http
120
+
121
+ # Or with custom port
122
+ PORT=8080 npm run start:http
123
+
124
+ # Or run directly with npx
125
+ npx meetbot-mcp-http
126
+ ```
127
+
128
+ #### Server Endpoints
129
+
130
+ - **SSE Endpoint**: `GET /sse` - Establishes an SSE connection for MCP communication
131
+ - **Messages Endpoint**: `POST /messages?sessionId=<id>` - Receives client messages
132
+ - **Health Check**: `GET /health` - Server health status
133
+
134
+ #### Authentication
135
+
136
+ All requests require a Bearer token in the Authorization header:
137
+
138
+ ```bash
139
+ Authorization: Bearer <your-meetbot-api-token>
140
+ ```
141
+
142
+ The same token is used to authenticate with the Meet.bot API.
143
+
144
+ #### Testing the HTTP Server
145
+
146
+ ```bash
147
+ # Health check (should fail without auth)
148
+ curl http://localhost:3000/health
149
+
150
+ # Health check with authentication
151
+ curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/health
152
+
153
+ # Connect to SSE endpoint
154
+ curl -N -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/sse
155
+
156
+ # Or use the test script
157
+ ./test-http-server.sh YOUR_TOKEN
158
+ ```
159
+
160
+ #### Deployment
161
+
162
+ The HTTP server can be deployed to:
163
+
164
+ - **Railway**: `railway up`
165
+ - **Fly.io**: `fly launch && fly deploy`
166
+ - **Google Cloud Run**: Container-based deployment
167
+ - **AWS App Runner**: Container-based deployment
168
+ - **Any VPS**: Run with Node.js directly
169
+
170
+ Example Dockerfile:
171
+
172
+ ```dockerfile
173
+ FROM node:18-alpine
174
+ WORKDIR /app
175
+ COPY package*.json ./
176
+ RUN npm ci --only=production
177
+ COPY dist ./dist
178
+ EXPOSE 3000
179
+ CMD ["node", "dist/cli-http.js"]
94
180
  ```
95
181
 
96
182
  ## MCP Integration
@@ -108,7 +194,6 @@ This MCP server can be integrated with AI assistants like Claude, ChatGPT, and o
108
194
  "command": "npx",
109
195
  "args": ["@meetbot/mcp"],
110
196
  "env": {
111
- "MEETBOT_BASE_URL": "https://api.meet.bot",
112
197
  "MEETBOT_AUTH_TOKEN": "your_bearer_token_here"
113
198
  }
114
199
  }
@@ -125,17 +210,17 @@ The server exposes 6 tools for AI assistants:
125
210
  3. **`get_page_info`** - Get page details
126
211
  4. **`get_available_slots`** - Find available time slots
127
212
  5. **`book_meeting`** - Book a meeting
128
- 6. **`health_check`** - Verify API connectivity
213
+ 6. **`health_check`** - Verify API connectivity using /v1/pages endpoint
129
214
 
130
215
  ### Testing and Validation
131
216
 
132
217
  The package has been thoroughly tested and validated:
133
218
 
134
- ✅ **MCP Protocol Compliance**: Full JSON-RPC 2.0 support
135
- ✅ **Tool Discovery**: All 6 tools properly exposed
136
- ✅ **Error Handling**: Graceful error responses
137
- ✅ **Type Safety**: Complete TypeScript support
138
- ✅ **Schema Validation**: Input validation with Zod
219
+ ✅ **MCP Protocol Compliance**: Full JSON-RPC 2.0 support
220
+ ✅ **Tool Discovery**: All 6 tools properly exposed
221
+ ✅ **Error Handling**: Graceful error responses
222
+ ✅ **Type Safety**: Complete TypeScript support
223
+ ✅ **Schema Validation**: Input validation with Zod
139
224
  ✅ **Production Ready**: Tested with real MCP clients
140
225
 
141
226
  ### Package Statistics
@@ -156,7 +241,6 @@ import { MeetbotClient, MeetbotMCPServer } from '@meetbot/mcp';
156
241
 
157
242
  // Use as a direct API client
158
243
  const client = new MeetbotClient({
159
- baseUrl: 'https://api.meet.bot',
160
244
  authToken: 'your_token'
161
245
  });
162
246
 
@@ -186,7 +270,6 @@ The core API client for direct integration:
186
270
  import { MeetbotClient } from '@meetbot/mcp';
187
271
 
188
272
  const client = new MeetbotClient({
189
- baseUrl: 'https://api.meet.bot',
190
273
  authToken: 'your_token'
191
274
  });
192
275
 
@@ -250,9 +333,10 @@ interface Slots {
250
333
  You can configure the MCP server using environment variables:
251
334
 
252
335
  ```bash
253
- export MEETBOT_BASE_URL="https://api.meet.bot"
254
336
  export MEETBOT_AUTH_TOKEN="your_bearer_token"
255
- export MEETBOT_SESSION_ID="your_session_id"
337
+
338
+ # Then run the server
339
+ meetbot-mcp
256
340
  ```
257
341
 
258
342
  ### Authentication
@@ -263,15 +347,6 @@ The MCP server supports Bearer Token authentication:
263
347
 
264
348
  ## Development
265
349
 
266
- ### Building from Source
267
-
268
- ```bash
269
- git clone https://gitlab.com/meetbot/meetbot-mcp.git
270
- cd meetbot-mcp
271
- npm install
272
- npm run build
273
- ```
274
-
275
350
  ### Running Tests
276
351
 
277
352
  ```bash
@@ -306,7 +381,6 @@ npx @meetbot/mcp
306
381
  You can configure the server using environment variables:
307
382
 
308
383
  ```bash
309
- export MEETBOT_BASE_URL="https://api.meet.bot"
310
384
  export MEETBOT_AUTH_TOKEN="your_bearer_token"
311
385
 
312
386
  # Then run the server
@@ -318,8 +392,8 @@ meetbot-mcp
318
392
  The MCP server provides detailed error messages for common issues:
319
393
 
320
394
  - **Configuration Errors**: Missing or invalid configuration parameters
321
- - **Authentication Errors**: Invalid tokens or session IDs
322
- - **API Errors**: Detailed error messages from the Meetbot API
395
+ - **Authentication Errors**: Invalid tokens
396
+ - **API Errors**: Detailed error messages from the Meet.bot API
323
397
  - **Validation Errors**: Input validation failures with specific field errors
324
398
 
325
399
  ## Contributing
@@ -342,16 +416,45 @@ MIT License - see [LICENSE](LICENSE) file for details.
342
416
 
343
417
  ## Changelog
344
418
 
419
+ ### 1.1.0
420
+ - **HTTP/SSE Transport**: Added HTTP server with SSE transport for remote deployment
421
+ - **Bearer Token Authentication**: Implemented authentication for HTTP endpoints
422
+ - **Multi-mode Support**: Can run as local stdio server or remote HTTP server
423
+ - **Deployment Ready**: Added Dockerfile and deployment configurations for Railway, Fly.io, etc.
424
+ - **Health Check Endpoint**: Added `/health` endpoint for monitoring
425
+ - **Session Management**: Proper session handling with transport cleanup
426
+ - **Production Ready**: Complete HTTP implementation with authentication and error handling
427
+
428
+ ### 1.0.4
429
+ - **Fixed Health Check**: Now uses the real `/v1/pages` endpoint instead of a fake health endpoint
430
+ - **Updated Documentation**: Clarified health check implementation details
431
+ - **Improved Reliability**: Health check now properly validates API connectivity
432
+
433
+ ### 1.0.3
434
+ - **Simplified Configuration**: Removed baseUrl requirement - now hardcoded to https://meet.bot
435
+ - **Updated Documentation**: Simplified configuration examples
436
+ - **Improved UX**: Users only need to provide authToken
437
+
438
+ ### 1.0.2
439
+ - **Fixed Authentication**: Removed unsupported sessionId parameter
440
+ - **Corrected API URL**: Updated from api.meet.bot to meet.bot
441
+ - **Updated Documentation**: Accurate authentication examples
442
+
443
+ ### 1.0.1
444
+ - **Enhanced Documentation**: Comprehensive README with usage examples
445
+ - **MCP Integration Guide**: Added AI assistant configuration examples
446
+ - **Testing Results**: Added validation and testing information
447
+
345
448
  ### 1.0.0
346
- - **Initial release** - Production-ready MCP server for Meetbot API
347
- - **Complete API coverage** - All Meetbot Booking Page API v1 endpoints
449
+ - **Initial release** - Production-ready MCP server for Meet.bot API
450
+ - **Complete API coverage** - All Meet.bot Booking Page API v1 endpoints
348
451
  - **TypeScript support** - Full type safety with comprehensive definitions
349
452
  - **Runtime validation** - Zod schemas for input validation and data integrity
350
453
  - **MCP server implementation** - Full Model Context Protocol compliance
351
454
  - **CLI tool** - Command-line interface for running the MCP server
352
455
  - **Error handling** - Robust error handling with detailed messages
353
456
  - **Authentication** - Support for bearer token authentication
354
- - **Health checks** - Built-in API connectivity monitoring
457
+ - **Health checks** - Built-in API connectivity monitoring using /v1/pages endpoint
355
458
  - **Testing** - Comprehensive test suite with 21 passing tests
356
459
  - **Documentation** - Complete API documentation and usage examples
357
460
  - **Functional Testing** - Verified with real MCP client requests
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=meetbot-client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meetbot-client.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/meetbot-client.test.ts"],"names":[],"mappings":""}
@@ -7,7 +7,6 @@ const mockAxios = require('axios');
7
7
  describe('MeetbotClient', () => {
8
8
  let client;
9
9
  const mockConfig = {
10
- baseUrl: 'https://api.meet.bot',
11
10
  authToken: 'test-token',
12
11
  };
13
12
  beforeEach(() => {
@@ -25,14 +24,10 @@ describe('MeetbotClient', () => {
25
24
  it('should create client with valid config', () => {
26
25
  expect(() => new meetbot_client_1.MeetbotClient(mockConfig)).not.toThrow();
27
26
  });
28
- it('should reject invalid baseUrl', () => {
29
- const invalidConfig = { ...mockConfig, baseUrl: 'not-a-url' };
30
- expect(() => new meetbot_client_1.MeetbotClient(invalidConfig)).toThrow();
31
- });
32
27
  it('should create axios instance with correct baseURL', () => {
33
28
  new meetbot_client_1.MeetbotClient(mockConfig);
34
29
  expect(mockAxios.create).toHaveBeenCalledWith(expect.objectContaining({
35
- baseURL: 'https://api.meet.bot',
30
+ baseURL: 'https://meet.bot',
36
31
  timeout: 30000,
37
32
  }));
38
33
  });
@@ -176,4 +171,4 @@ describe('MeetbotClient', () => {
176
171
  });
177
172
  });
178
173
  });
179
- //# sourceMappingURL=meetbot-client.test%202.js.map
174
+ //# sourceMappingURL=meetbot-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meetbot-client.test.js","sourceRoot":"","sources":["../../src/__tests__/meetbot-client.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const schemas_1 = require("../schemas");
4
- describe('Meetbot API Schemas', () => {
4
+ describe('Meet.bot API Schemas', () => {
5
5
  describe('BookSlotSchema', () => {
6
6
  it('should validate a valid BookSlot', () => {
7
7
  const validBookSlot = {
@@ -70,12 +70,12 @@ describe('Meetbot API Schemas', () => {
70
70
  const result = schemas_1.MeetbotConfigSchema.safeParse(validConfig);
71
71
  expect(result.success).toBe(true);
72
72
  });
73
- it('should reject invalid URL', () => {
74
- const invalidConfig = {
75
- baseUrl: 'not-a-url',
73
+ it('should accept valid authToken', () => {
74
+ const validConfig = {
75
+ authToken: 'valid-token-123',
76
76
  };
77
- const result = schemas_1.MeetbotConfigSchema.safeParse(invalidConfig);
78
- expect(result.success).toBe(false);
77
+ const result = schemas_1.MeetbotConfigSchema.safeParse(validConfig);
78
+ expect(result.success).toBe(true);
79
79
  });
80
80
  });
81
81
  describe('GetSlotsParamsSchema', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-http.d.ts","sourceRoot":"","sources":["../src/cli-http.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const http_1 = require("http");
5
+ const mcp_server_http_js_1 = require("./mcp-server-http.js");
6
+ const PORT = parseInt(process.env['PORT'] || '3000', 10);
7
+ async function main() {
8
+ const mcpServer = new mcp_server_http_js_1.MeetbotMCPServerHTTP();
9
+ const httpServer = (0, http_1.createServer)(async (req, res) => {
10
+ try {
11
+ await mcpServer.handleRequest(req, res);
12
+ }
13
+ catch (error) {
14
+ console.error('Request handling error:', error);
15
+ if (!res.headersSent) {
16
+ res.writeHead(500, { 'Content-Type': 'application/json' });
17
+ res.end(JSON.stringify({
18
+ error: 'Internal server error',
19
+ message: error instanceof Error ? error.message : 'Unknown error',
20
+ }));
21
+ }
22
+ }
23
+ });
24
+ httpServer.listen(PORT, () => {
25
+ console.log(`Meet.bot MCP HTTP server listening on port ${PORT}`);
26
+ console.log(`SSE endpoint: http://localhost:${PORT}/sse`);
27
+ console.log(`Health check: http://localhost:${PORT}/health`);
28
+ console.log('\nAuthentication required: Authorization: Bearer <your-token>');
29
+ });
30
+ // Graceful shutdown
31
+ process.on('SIGINT', () => {
32
+ console.log('\nShutting down MCP server...');
33
+ httpServer.close(() => {
34
+ console.log('Server closed');
35
+ process.exit(0);
36
+ });
37
+ });
38
+ process.on('SIGTERM', () => {
39
+ console.log('\nShutting down MCP server...');
40
+ httpServer.close(() => {
41
+ console.log('Server closed');
42
+ process.exit(0);
43
+ });
44
+ });
45
+ }
46
+ main().catch((error) => {
47
+ console.error('Failed to start MCP server:', error);
48
+ process.exit(1);
49
+ });
50
+ //# sourceMappingURL=cli-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-http.js","sourceRoot":"","sources":["../src/cli-http.ts"],"names":[],"mappings":";;;AAEA,+BAAoC;AACpC,6DAA4D;AAE5D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAEzD,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,yCAAoB,EAAE,CAAC;IAE7C,MAAM,UAAU,GAAG,IAAA,mBAAY,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,uBAAuB;oBAC9B,OAAO,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC3D,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const mcp_server_js_1 = require("./mcp-server.js");
5
5
  /**
6
- * CLI entry point for the Meetbot MCP server
6
+ * CLI entry point for the Meet.bot MCP server
7
7
  */
8
8
  async function main() {
9
9
  try {
@@ -11,17 +11,17 @@ async function main() {
11
11
  await server.run();
12
12
  }
13
13
  catch (error) {
14
- console.error('Failed to start Meetbot MCP server:', error);
14
+ console.error('Failed to start Meet.bot MCP server:', error);
15
15
  process.exit(1);
16
16
  }
17
17
  }
18
18
  // Handle process termination gracefully
19
19
  process.on('SIGINT', () => {
20
- console.error('Meetbot MCP server shutting down...');
20
+ console.error('Meet.bot MCP server shutting down...');
21
21
  process.exit(0);
22
22
  });
23
23
  process.on('SIGTERM', () => {
24
- console.error('Meetbot MCP server shutting down...');
24
+ console.error('Meet.bot MCP server shutting down...');
25
25
  process.exit(0);
26
26
  });
27
27
  // Start the server
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,mDAAmD;AAEnD;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gCAAgB,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,mDAAmD;AAEnD;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gCAAgB,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Meetbot MCP Package
3
- * Model Context Protocol server for Meetbot Booking Page API
2
+ * Meet.bot MCP Package
3
+ * Model Context Protocol server for Meet.bot Booking Page API
4
4
  */
5
5
  export { MeetbotMCPServer } from './mcp-server.js';
6
+ export { MeetbotMCPServerHTTP } from './mcp-server-http.js';
6
7
  export { MeetbotClient } from './meetbot-client.js';
7
8
  export type { BookSlot, BookSlotRequest, GetSlotsParams, GetInfoParams, PageInfo, Pages, SchedulingPage, Slots, SlotDetails, MeetbotConfig, ApiError, ApiResponse, } from './types.js';
8
9
  export { BookSlotSchema, BookSlotRequestSchema, GetSlotsParamsSchema, GetInfoParamsSchema, PageInfoSchema, PagesSchema, SchedulingPageSchema, SlotsSchema, SlotDetailsSchema, MeetbotConfigSchema, ApiErrorSchema, } from './schemas.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,YAAY,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EACL,cAAc,EACd,KAAK,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,YAAY,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EACL,cAAc,EACd,KAAK,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  /**
3
- * Meetbot MCP Package
4
- * Model Context Protocol server for Meetbot Booking Page API
3
+ * Meet.bot MCP Package
4
+ * Model Context Protocol server for Meet.bot Booking Page API
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ApiErrorSchema = exports.MeetbotConfigSchema = exports.SlotDetailsSchema = exports.SlotsSchema = exports.SchedulingPageSchema = exports.PagesSchema = exports.PageInfoSchema = exports.GetInfoParamsSchema = exports.GetSlotsParamsSchema = exports.BookSlotRequestSchema = exports.BookSlotSchema = exports.MeetbotClient = exports.MeetbotMCPServer = void 0;
7
+ exports.ApiErrorSchema = exports.MeetbotConfigSchema = exports.SlotDetailsSchema = exports.SlotsSchema = exports.SchedulingPageSchema = exports.PagesSchema = exports.PageInfoSchema = exports.GetInfoParamsSchema = exports.GetSlotsParamsSchema = exports.BookSlotRequestSchema = exports.BookSlotSchema = exports.MeetbotClient = exports.MeetbotMCPServerHTTP = exports.MeetbotMCPServer = void 0;
8
8
  // Export main classes
9
9
  var mcp_server_js_1 = require("./mcp-server.js");
10
10
  Object.defineProperty(exports, "MeetbotMCPServer", { enumerable: true, get: function () { return mcp_server_js_1.MeetbotMCPServer; } });
11
+ var mcp_server_http_js_1 = require("./mcp-server-http.js");
12
+ Object.defineProperty(exports, "MeetbotMCPServerHTTP", { enumerable: true, get: function () { return mcp_server_http_js_1.MeetbotMCPServerHTTP; } });
11
13
  var meetbot_client_js_1 = require("./meetbot-client.js");
12
14
  Object.defineProperty(exports, "MeetbotClient", { enumerable: true, get: function () { return meetbot_client_js_1.MeetbotClient; } });
13
15
  // Export schemas
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,sBAAsB;AACtB,iDAAmD;AAA1C,iHAAA,gBAAgB,OAAA;AACzB,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AAkBtB,iBAAiB;AACjB,2CAYsB;AAXpB,4GAAA,cAAc,OAAA;AACd,mHAAA,qBAAqB,OAAA;AACrB,kHAAA,oBAAoB,OAAA;AACpB,iHAAA,mBAAmB,OAAA;AACnB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,kHAAA,oBAAoB,OAAA;AACpB,yGAAA,WAAW,OAAA;AACX,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,4GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,sBAAsB;AACtB,iDAAmD;AAA1C,iHAAA,gBAAgB,OAAA;AACzB,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA;AAC7B,yDAAoD;AAA3C,kHAAA,aAAa,OAAA;AAkBtB,iBAAiB;AACjB,2CAYsB;AAXpB,4GAAA,cAAc,OAAA;AACd,mHAAA,qBAAqB,OAAA;AACrB,kHAAA,oBAAoB,OAAA;AACpB,iHAAA,mBAAmB,OAAA;AACnB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,kHAAA,oBAAoB,OAAA;AACpB,yGAAA,WAAW,OAAA;AACX,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,4GAAA,cAAc,OAAA"}
@@ -0,0 +1,26 @@
1
+ import { IncomingMessage, ServerResponse } from 'http';
2
+ /**
3
+ * HTTP-based MCP Server for Meet.bot Booking Page API with SSE transport
4
+ */
5
+ export declare class MeetbotMCPServerHTTP {
6
+ private server;
7
+ private transports;
8
+ private clients;
9
+ constructor();
10
+ private setupToolHandlers;
11
+ private handleConfigureMeetbot;
12
+ private handleGetSchedulingPages;
13
+ private handleGetPageInfo;
14
+ private handleGetAvailableSlots;
15
+ private handleBookMeeting;
16
+ private handleHealthCheck;
17
+ /**
18
+ * Authenticate incoming requests using Bearer token
19
+ */
20
+ private authenticateRequest;
21
+ /**
22
+ * Handle incoming HTTP requests
23
+ */
24
+ handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=mcp-server-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-http.d.ts","sourceRoot":"","sources":["../src/mcp-server-http.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,OAAO,CAAyC;;IAaxD,OAAO,CAAC,iBAAiB;YAqKX,sBAAsB;YAgBtB,wBAAwB;YAwBxB,iBAAiB;YAkBjB,uBAAuB;YA0BvB,iBAAiB;YAwBjB,iBAAiB;IAoB/B;;OAEG;YACW,mBAAmB;IAkBjC;;OAEG;IACG,aAAa,CACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC;CA+EjB"}