@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.
- package/LICENSE +1 -1
- package/README.md +138 -35
- package/dist/__tests__/meetbot-client.test.d.ts +2 -0
- package/dist/__tests__/meetbot-client.test.d.ts.map +1 -0
- package/dist/__tests__/{meetbot-client.test 2.js → meetbot-client.test.js} +2 -7
- package/dist/__tests__/meetbot-client.test.js.map +1 -0
- package/dist/__tests__/types.test.js +6 -6
- package/dist/__tests__/types.test.js.map +1 -1
- package/dist/cli-http.d.ts +3 -0
- package/dist/cli-http.d.ts.map +1 -0
- package/dist/cli-http.js +50 -0
- package/dist/cli-http.js.map +1 -0
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-server-http.d.ts +26 -0
- package/dist/mcp-server-http.d.ts.map +1 -0
- package/dist/mcp-server-http.js +350 -0
- package/dist/mcp-server-http.js.map +1 -0
- package/dist/mcp-server.d.ts +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +14 -18
- package/dist/mcp-server.js.map +1 -1
- package/dist/meetbot-client.d.ts +1 -1
- package/dist/meetbot-client.d.ts.map +1 -1
- package/dist/meetbot-client.js +16 -9
- package/dist/meetbot-client.js.map +1 -1
- package/dist/schemas.d.ts +1 -4
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +1 -2
- package/dist/schemas.js.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +64 -62
- package/dist/__tests__/meetbot-client.test 2.d.ts +0 -2
- package/dist/__tests__/meetbot-client.test 2.d.ts.map +0 -1
- package/dist/__tests__/meetbot-client.test 2.js.map +0 -1
- package/dist/cli 2.d.ts +0 -3
- package/dist/cli 2.d.ts.map +0 -1
- package/dist/cli 2.js +0 -32
- package/dist/cli 2.js.map +0 -1
- package/dist/index 2.d.ts +0 -10
- package/dist/index 2.d.ts.map +0 -1
- package/dist/index 2.js +0 -26
- package/dist/index 2.js.map +0 -1
- package/dist/schemas 2.d.ts +0 -213
- package/dist/schemas 2.d.ts.map +0 -1
- package/dist/schemas 2.js +0 -70
- package/dist/schemas 2.js.map +0 -1
- package/dist/types 2.d.ts +0 -68
- package/dist/types 2.d.ts.map +0 -1
- package/dist/types 2.js +0 -7
- package/dist/types 2.js.map +0 -1
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MeetbotMCPServerHTTP = void 0;
|
|
4
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
5
|
+
const sse_js_1 = require("@modelcontextprotocol/sdk/server/sse.js");
|
|
6
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
7
|
+
const meetbot_client_js_1 = require("./meetbot-client.js");
|
|
8
|
+
/**
|
|
9
|
+
* HTTP-based MCP Server for Meet.bot Booking Page API with SSE transport
|
|
10
|
+
*/
|
|
11
|
+
class MeetbotMCPServerHTTP {
|
|
12
|
+
server;
|
|
13
|
+
transports = new Map();
|
|
14
|
+
clients = new Map();
|
|
15
|
+
constructor() {
|
|
16
|
+
this.server = new index_js_1.Server({
|
|
17
|
+
name: 'meetbot-mcp',
|
|
18
|
+
version: '1.1.0',
|
|
19
|
+
});
|
|
20
|
+
this.setupToolHandlers();
|
|
21
|
+
}
|
|
22
|
+
setupToolHandlers() {
|
|
23
|
+
// List available tools
|
|
24
|
+
this.server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
25
|
+
return {
|
|
26
|
+
tools: [
|
|
27
|
+
{
|
|
28
|
+
name: 'configure_meetbot',
|
|
29
|
+
description: 'Configure the Meet.bot API client with authentication',
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
authToken: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'Bearer token for authentication (optional)',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: [],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'get_scheduling_pages',
|
|
43
|
+
description: 'Get all scheduling pages for the authenticated user',
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: 'object',
|
|
46
|
+
properties: {},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'get_page_info',
|
|
51
|
+
description: 'Get information about a specific scheduling page',
|
|
52
|
+
inputSchema: {
|
|
53
|
+
type: 'object',
|
|
54
|
+
properties: {
|
|
55
|
+
page: {
|
|
56
|
+
type: 'string',
|
|
57
|
+
description: 'The URL of the scheduling page',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
required: ['page'],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'get_available_slots',
|
|
65
|
+
description: 'Get available booking slots for a scheduling page',
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: 'object',
|
|
68
|
+
properties: {
|
|
69
|
+
page: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: 'The URL of the scheduling page',
|
|
72
|
+
},
|
|
73
|
+
count: {
|
|
74
|
+
type: 'number',
|
|
75
|
+
description: 'Maximum number of slots to return',
|
|
76
|
+
},
|
|
77
|
+
start: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'Start date in YYYY-MM-DD format',
|
|
80
|
+
},
|
|
81
|
+
end: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'End date in YYYY-MM-DD format',
|
|
84
|
+
},
|
|
85
|
+
timezone: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'Timezone in IANA format (e.g., America/New_York)',
|
|
88
|
+
},
|
|
89
|
+
booking_link: {
|
|
90
|
+
type: 'boolean',
|
|
91
|
+
description: 'Include shareable booking links',
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
required: ['page'],
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: 'book_meeting',
|
|
99
|
+
description: 'Book a new meeting slot',
|
|
100
|
+
inputSchema: {
|
|
101
|
+
type: 'object',
|
|
102
|
+
properties: {
|
|
103
|
+
page: {
|
|
104
|
+
type: 'string',
|
|
105
|
+
description: 'The URL of the scheduling page',
|
|
106
|
+
},
|
|
107
|
+
guest_email: {
|
|
108
|
+
type: 'string',
|
|
109
|
+
description: 'Email address of the guest',
|
|
110
|
+
},
|
|
111
|
+
guest_name: {
|
|
112
|
+
type: 'string',
|
|
113
|
+
description: 'Name of the guest',
|
|
114
|
+
},
|
|
115
|
+
notes: {
|
|
116
|
+
type: 'string',
|
|
117
|
+
description: 'Additional notes for the meeting',
|
|
118
|
+
},
|
|
119
|
+
start: {
|
|
120
|
+
type: 'string',
|
|
121
|
+
description: 'Start time in ISO 8601 format',
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
required: ['page', 'guest_email', 'guest_name', 'start'],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'health_check',
|
|
129
|
+
description: 'Check if the Meet.bot API client is properly configured and can connect',
|
|
130
|
+
inputSchema: {
|
|
131
|
+
type: 'object',
|
|
132
|
+
properties: {},
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
// Handle tool calls
|
|
139
|
+
this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
140
|
+
const { name, arguments: args } = request.params;
|
|
141
|
+
// Get the client for this session
|
|
142
|
+
const sessionId = request.sessionId;
|
|
143
|
+
const client = sessionId ? this.clients.get(sessionId) || null : null;
|
|
144
|
+
try {
|
|
145
|
+
switch (name) {
|
|
146
|
+
case 'configure_meetbot':
|
|
147
|
+
return await this.handleConfigureMeetbot(args, sessionId);
|
|
148
|
+
case 'get_scheduling_pages':
|
|
149
|
+
return await this.handleGetSchedulingPages(client);
|
|
150
|
+
case 'get_page_info':
|
|
151
|
+
return await this.handleGetPageInfo(args, client);
|
|
152
|
+
case 'get_available_slots':
|
|
153
|
+
return await this.handleGetAvailableSlots(args, client);
|
|
154
|
+
case 'book_meeting':
|
|
155
|
+
return await this.handleBookMeeting(args, client);
|
|
156
|
+
case 'health_check':
|
|
157
|
+
return await this.handleHealthCheck(client);
|
|
158
|
+
default:
|
|
159
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
return {
|
|
164
|
+
content: [
|
|
165
|
+
{
|
|
166
|
+
type: 'text',
|
|
167
|
+
text: `Error: ${error instanceof Error ? error.message : String(error)}`,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
isError: true,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
async handleConfigureMeetbot(args, sessionId) {
|
|
176
|
+
const client = new meetbot_client_js_1.MeetbotClient(args);
|
|
177
|
+
this.clients.set(sessionId, client);
|
|
178
|
+
return {
|
|
179
|
+
content: [
|
|
180
|
+
{
|
|
181
|
+
type: 'text',
|
|
182
|
+
text: 'Meet.bot API client configured successfully.',
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
async handleGetSchedulingPages(client) {
|
|
188
|
+
if (!client) {
|
|
189
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
190
|
+
}
|
|
191
|
+
const pages = await client.getPages();
|
|
192
|
+
return {
|
|
193
|
+
content: [
|
|
194
|
+
{
|
|
195
|
+
type: 'text',
|
|
196
|
+
text: `Found ${pages.pages.length} scheduling pages for ${pages.email}:\n\n${pages.pages
|
|
197
|
+
.map((page) => `• ${page.title} (${page.duration} min) - ${page.url}`)
|
|
198
|
+
.join('\n')}`,
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
async handleGetPageInfo(args, client) {
|
|
204
|
+
if (!client) {
|
|
205
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
206
|
+
}
|
|
207
|
+
const pageInfo = await client.getPageInfo(args);
|
|
208
|
+
return {
|
|
209
|
+
content: [
|
|
210
|
+
{
|
|
211
|
+
type: 'text',
|
|
212
|
+
text: `Page Information:\n\nTitle: ${pageInfo.title}\nDuration: ${pageInfo.duration} minutes\nOwner: ${pageInfo.owner_name}\nMax days ahead: ${pageInfo.max_days_into_the_future}\nURL: ${pageInfo.url}`,
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
async handleGetAvailableSlots(args, client) {
|
|
218
|
+
if (!client) {
|
|
219
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
220
|
+
}
|
|
221
|
+
const slots = await client.getSlots(args);
|
|
222
|
+
return {
|
|
223
|
+
content: [
|
|
224
|
+
{
|
|
225
|
+
type: 'text',
|
|
226
|
+
text: `Found ${slots.count} available slots (${slots.duration} min each):\n\n${slots.slots
|
|
227
|
+
.map((slot) => {
|
|
228
|
+
const date = new Date(slot.start).toLocaleString();
|
|
229
|
+
const urlInfo = slot.url ? `\n Booking link: ${slot.url}` : '';
|
|
230
|
+
return `• ${date}${urlInfo}`;
|
|
231
|
+
})
|
|
232
|
+
.join('\n\n')}`,
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
async handleBookMeeting(args, client) {
|
|
238
|
+
if (!client) {
|
|
239
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
240
|
+
}
|
|
241
|
+
const booking = await client.bookSlot(args);
|
|
242
|
+
return {
|
|
243
|
+
content: [
|
|
244
|
+
{
|
|
245
|
+
type: 'text',
|
|
246
|
+
text: `Meeting booked successfully!\n\nGuest: ${booking.guest_name} (${booking.guest_email})\nStart: ${new Date(booking.start).toLocaleString()}\nCalendar ID: ${booking.ical_uid}\nPage: ${booking.page}`,
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
async handleHealthCheck(client) {
|
|
252
|
+
if (!client) {
|
|
253
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
254
|
+
}
|
|
255
|
+
const isHealthy = await client.healthCheck();
|
|
256
|
+
return {
|
|
257
|
+
content: [
|
|
258
|
+
{
|
|
259
|
+
type: 'text',
|
|
260
|
+
text: isHealthy
|
|
261
|
+
? '✅ Meet.bot API client is healthy and can connect to the API.'
|
|
262
|
+
: '❌ Meet.bot API client cannot connect to the API. Please check your configuration.',
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Authenticate incoming requests using Bearer token
|
|
269
|
+
*/
|
|
270
|
+
async authenticateRequest(req) {
|
|
271
|
+
const authHeader = req.headers.authorization;
|
|
272
|
+
if (!authHeader) {
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
// Extract bearer token
|
|
276
|
+
const match = authHeader.match(/^Bearer\s+(.+)$/i);
|
|
277
|
+
if (!match || !match[1]) {
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
return match[1];
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Handle incoming HTTP requests
|
|
284
|
+
*/
|
|
285
|
+
async handleRequest(req, res) {
|
|
286
|
+
const url = new URL(req.url || '/', `http://${req.headers.host}`);
|
|
287
|
+
// Authenticate the request
|
|
288
|
+
const authToken = await this.authenticateRequest(req);
|
|
289
|
+
if (!authToken) {
|
|
290
|
+
res.writeHead(401, { 'Content-Type': 'application/json' });
|
|
291
|
+
res.end(JSON.stringify({
|
|
292
|
+
error: 'Unauthorized',
|
|
293
|
+
message: 'Missing or invalid Authorization header. Use: Authorization: Bearer <your-token>',
|
|
294
|
+
}));
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
// Handle SSE connection (GET request)
|
|
298
|
+
if (req.method === 'GET' && url.pathname === '/sse') {
|
|
299
|
+
const transport = new sse_js_1.SSEServerTransport('/messages', res);
|
|
300
|
+
const sessionId = transport.sessionId;
|
|
301
|
+
// Store transport and create client with the authenticated token
|
|
302
|
+
this.transports.set(sessionId, transport);
|
|
303
|
+
const client = new meetbot_client_js_1.MeetbotClient({ authToken });
|
|
304
|
+
this.clients.set(sessionId, client);
|
|
305
|
+
// Attach session ID to requests
|
|
306
|
+
const originalSetRequestHandler = this.server.setRequestHandler.bind(this.server);
|
|
307
|
+
this.server.setRequestHandler = ((schema, handler) => {
|
|
308
|
+
return originalSetRequestHandler(schema, async (request) => {
|
|
309
|
+
request.sessionId = sessionId;
|
|
310
|
+
return handler(request);
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
await this.server.connect(transport);
|
|
314
|
+
// Cleanup on close
|
|
315
|
+
transport.onclose = () => {
|
|
316
|
+
this.transports.delete(sessionId);
|
|
317
|
+
this.clients.delete(sessionId);
|
|
318
|
+
};
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
// Handle POST messages
|
|
322
|
+
if (req.method === 'POST' && url.pathname === '/messages') {
|
|
323
|
+
const sessionId = url.searchParams.get('sessionId');
|
|
324
|
+
if (!sessionId) {
|
|
325
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
326
|
+
res.end(JSON.stringify({ error: 'Missing sessionId' }));
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
const transport = this.transports.get(sessionId);
|
|
330
|
+
if (!transport) {
|
|
331
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
332
|
+
res.end(JSON.stringify({ error: 'Session not found' }));
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
await transport.handlePostMessage(req, res);
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
// Health check endpoint
|
|
339
|
+
if (req.method === 'GET' && url.pathname === '/health') {
|
|
340
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
341
|
+
res.end(JSON.stringify({ status: 'ok', service: 'meetbot-mcp' }));
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
// 404 for other routes
|
|
345
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
346
|
+
res.end(JSON.stringify({ error: 'Not found' }));
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
exports.MeetbotMCPServerHTTP = MeetbotMCPServerHTTP;
|
|
350
|
+
//# sourceMappingURL=mcp-server-http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server-http.js","sourceRoot":"","sources":["../src/mcp-server-http.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.d.ts
CHANGED
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA8B;;IAa5C,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA8B;;IAa5C,OAAO,CAAC,iBAAiB;YA8JX,sBAAsB;YAyBtB,wBAAwB;YAqBxB,iBAAiB;YAgBjB,uBAAuB;YAsBvB,iBAAiB;YAgBjB,iBAAiB;IAkB/B;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAK3B"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -6,7 +6,7 @@ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
|
6
6
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
7
7
|
const meetbot_client_js_1 = require("./meetbot-client.js");
|
|
8
8
|
/**
|
|
9
|
-
* MCP Server for
|
|
9
|
+
* MCP Server for Meet.bot Booking Page API
|
|
10
10
|
*/
|
|
11
11
|
class MeetbotMCPServer {
|
|
12
12
|
server;
|
|
@@ -25,20 +25,16 @@ class MeetbotMCPServer {
|
|
|
25
25
|
tools: [
|
|
26
26
|
{
|
|
27
27
|
name: 'configure_meetbot',
|
|
28
|
-
description: 'Configure the
|
|
28
|
+
description: 'Configure the Meet.bot API client with authentication',
|
|
29
29
|
inputSchema: {
|
|
30
30
|
type: 'object',
|
|
31
31
|
properties: {
|
|
32
|
-
baseUrl: {
|
|
33
|
-
type: 'string',
|
|
34
|
-
description: 'Base URL for the Meetbot API (e.g., https://api.meet.bot)',
|
|
35
|
-
},
|
|
36
32
|
authToken: {
|
|
37
33
|
type: 'string',
|
|
38
34
|
description: 'Bearer token for authentication (optional)',
|
|
39
35
|
},
|
|
40
36
|
},
|
|
41
|
-
required: [
|
|
37
|
+
required: [],
|
|
42
38
|
},
|
|
43
39
|
},
|
|
44
40
|
{
|
|
@@ -129,7 +125,7 @@ class MeetbotMCPServer {
|
|
|
129
125
|
},
|
|
130
126
|
{
|
|
131
127
|
name: 'health_check',
|
|
132
|
-
description: 'Check if the
|
|
128
|
+
description: 'Check if the Meet.bot API client is properly configured and can connect',
|
|
133
129
|
inputSchema: {
|
|
134
130
|
type: 'object',
|
|
135
131
|
properties: {},
|
|
@@ -179,7 +175,7 @@ class MeetbotMCPServer {
|
|
|
179
175
|
content: [
|
|
180
176
|
{
|
|
181
177
|
type: 'text',
|
|
182
|
-
text: '
|
|
178
|
+
text: 'Meet.bot API client configured successfully.',
|
|
183
179
|
},
|
|
184
180
|
],
|
|
185
181
|
};
|
|
@@ -191,7 +187,7 @@ class MeetbotMCPServer {
|
|
|
191
187
|
content: [
|
|
192
188
|
{
|
|
193
189
|
type: 'text',
|
|
194
|
-
text: '
|
|
190
|
+
text: 'Meet.bot API client reconfigured successfully.',
|
|
195
191
|
},
|
|
196
192
|
],
|
|
197
193
|
};
|
|
@@ -199,7 +195,7 @@ class MeetbotMCPServer {
|
|
|
199
195
|
}
|
|
200
196
|
async handleGetSchedulingPages(_args) {
|
|
201
197
|
if (!this.client) {
|
|
202
|
-
throw new Error('
|
|
198
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
203
199
|
}
|
|
204
200
|
const pages = await this.client.getPages();
|
|
205
201
|
return {
|
|
@@ -215,7 +211,7 @@ class MeetbotMCPServer {
|
|
|
215
211
|
}
|
|
216
212
|
async handleGetPageInfo(args) {
|
|
217
213
|
if (!this.client) {
|
|
218
|
-
throw new Error('
|
|
214
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
219
215
|
}
|
|
220
216
|
const pageInfo = await this.client.getPageInfo(args);
|
|
221
217
|
return {
|
|
@@ -229,7 +225,7 @@ class MeetbotMCPServer {
|
|
|
229
225
|
}
|
|
230
226
|
async handleGetAvailableSlots(args) {
|
|
231
227
|
if (!this.client) {
|
|
232
|
-
throw new Error('
|
|
228
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
233
229
|
}
|
|
234
230
|
const slots = await this.client.getSlots(args);
|
|
235
231
|
return {
|
|
@@ -249,7 +245,7 @@ class MeetbotMCPServer {
|
|
|
249
245
|
}
|
|
250
246
|
async handleBookMeeting(args) {
|
|
251
247
|
if (!this.client) {
|
|
252
|
-
throw new Error('
|
|
248
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
253
249
|
}
|
|
254
250
|
const booking = await this.client.bookSlot(args);
|
|
255
251
|
return {
|
|
@@ -263,7 +259,7 @@ class MeetbotMCPServer {
|
|
|
263
259
|
}
|
|
264
260
|
async handleHealthCheck(_args) {
|
|
265
261
|
if (!this.client) {
|
|
266
|
-
throw new Error('
|
|
262
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
267
263
|
}
|
|
268
264
|
const isHealthy = await this.client.healthCheck();
|
|
269
265
|
return {
|
|
@@ -271,8 +267,8 @@ class MeetbotMCPServer {
|
|
|
271
267
|
{
|
|
272
268
|
type: 'text',
|
|
273
269
|
text: isHealthy
|
|
274
|
-
? '✅
|
|
275
|
-
: '❌
|
|
270
|
+
? '✅ Meet.bot API client is healthy and can connect to the API.'
|
|
271
|
+
: '❌ Meet.bot API client cannot connect to the API. Please check your configuration.',
|
|
276
272
|
},
|
|
277
273
|
],
|
|
278
274
|
};
|
|
@@ -283,7 +279,7 @@ class MeetbotMCPServer {
|
|
|
283
279
|
async run() {
|
|
284
280
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
285
281
|
await this.server.connect(transport);
|
|
286
|
-
console.error('
|
|
282
|
+
console.error('Meet.bot MCP server started');
|
|
287
283
|
}
|
|
288
284
|
}
|
|
289
285
|
exports.MeetbotMCPServer = MeetbotMCPServer;
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";;;AAAA,wEAAmE;AACnE,wEAAiF;AACjF,iEAAmG;AACnG,2DAAoD;AAEpD;;GAEG;AACH,MAAa,gBAAgB;IACnB,MAAM,CAAS;IACf,MAAM,GAAyB,IAAI,CAAC;IAE5C;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAM,CACtB;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,OAAO;SACjB,CACF,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,iBAAiB;QACvB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,OAAO;gBACL,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,mBAAmB;wBACzB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/meetbot-client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BookSlot, BookSlotRequest, GetSlotsParams, GetInfoParams, PageInfo, Pages, Slots, MeetbotConfig } from './types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Meet.bot API Client for interacting with the booking page API
|
|
4
4
|
*/
|
|
5
5
|
export declare class MeetbotClient {
|
|
6
6
|
private readonly client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meetbot-client.d.ts","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,aAAa,EACd,MAAM,SAAS,CAAC;AAQjB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,aAAa;IAmCjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAKhC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ3D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"meetbot-client.d.ts","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,aAAa,EACd,MAAM,SAAS,CAAC;AAQjB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,aAAa;IAmCjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAKhC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ3D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBrC;;OAEG;IACH,SAAS,IAAI,aAAa;CAG3B"}
|
package/dist/meetbot-client.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.MeetbotClient = void 0;
|
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const schemas_1 = require("./schemas");
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Meet.bot API Client for interacting with the booking page API
|
|
11
11
|
*/
|
|
12
12
|
class MeetbotClient {
|
|
13
13
|
client;
|
|
@@ -16,9 +16,9 @@ class MeetbotClient {
|
|
|
16
16
|
// Validate configuration
|
|
17
17
|
const validatedConfig = schemas_1.MeetbotConfigSchema.parse(config);
|
|
18
18
|
this.config = validatedConfig;
|
|
19
|
-
// Create axios instance
|
|
19
|
+
// Create axios instance with hardcoded base URL
|
|
20
20
|
this.client = axios_1.default.create({
|
|
21
|
-
baseURL:
|
|
21
|
+
baseURL: 'https://meet.bot',
|
|
22
22
|
timeout: 30000,
|
|
23
23
|
headers: {
|
|
24
24
|
'Content-Type': 'application/json',
|
|
@@ -80,18 +80,25 @@ class MeetbotClient {
|
|
|
80
80
|
*/
|
|
81
81
|
async healthCheck() {
|
|
82
82
|
try {
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
// Use the /v1/pages endpoint for health check since it's a simple authenticated GET
|
|
84
|
+
await this.client.get('/v1/pages', {
|
|
85
85
|
timeout: 5000,
|
|
86
86
|
});
|
|
87
87
|
return true;
|
|
88
88
|
}
|
|
89
89
|
catch (error) {
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
// If we get a 401/403, it means the API is reachable but auth failed
|
|
91
|
+
// If we get a network error, the API is not reachable
|
|
92
|
+
if (axios_1.default.isAxiosError(error)) {
|
|
93
|
+
const status = error.response?.status;
|
|
94
|
+
if (status === 401 || status === 403) {
|
|
95
|
+
return true; // API is reachable, just auth issue
|
|
96
|
+
}
|
|
97
|
+
if (status && status >= 400 && status < 500) {
|
|
98
|
+
return true; // API is reachable, just client error
|
|
99
|
+
}
|
|
93
100
|
}
|
|
94
|
-
return false;
|
|
101
|
+
return false; // Network error or server error
|
|
95
102
|
}
|
|
96
103
|
}
|
|
97
104
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meetbot-client.js","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAW7C,uCAKmB;AAEnB;;GAEG;AACH,MAAa,aAAa;IACP,MAAM,CAAgB;IACtB,MAAM,CAAgB;IAEvC,YAAY,MAAqB;QAC/B,yBAAyB;QACzB,MAAM,eAAe,GAAG,6BAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAE9B,
|
|
1
|
+
{"version":3,"file":"meetbot-client.js","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
|
-
* Zod schemas for runtime validation of
|
|
3
|
+
* Zod schemas for runtime validation of Meet.bot API data
|
|
4
4
|
*/
|
|
5
5
|
export declare const BookSlotSchema: z.ZodObject<{
|
|
6
6
|
success: z.ZodBoolean;
|
|
@@ -189,13 +189,10 @@ export declare const ApiErrorSchema: z.ZodObject<{
|
|
|
189
189
|
errors?: Record<string, string[]> | undefined;
|
|
190
190
|
}>;
|
|
191
191
|
export declare const MeetbotConfigSchema: z.ZodObject<{
|
|
192
|
-
baseUrl: z.ZodString;
|
|
193
192
|
authToken: z.ZodOptional<z.ZodString>;
|
|
194
193
|
}, "strip", z.ZodTypeAny, {
|
|
195
|
-
baseUrl: string;
|
|
196
194
|
authToken?: string | undefined;
|
|
197
195
|
}, {
|
|
198
|
-
baseUrl: string;
|
|
199
196
|
authToken?: string | undefined;
|
|
200
197
|
}>;
|
|
201
198
|
export type ValidatedBookSlot = z.infer<typeof BookSlotSchema>;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAItB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAItB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAGH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACzD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC7E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC3E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACzE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|