@meetbot/mcp 1.0.4 → 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 +109 -12
- 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.js +174 -0
- package/dist/__tests__/meetbot-client.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +2 -0
- package/dist/__tests__/types.test.d.ts.map +1 -0
- package/dist/__tests__/types.test.js +111 -0
- package/dist/__tests__/types.test.js.map +1 -0
- 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.js +13 -13
- package/dist/mcp-server.js.map +1 -1
- package/dist/meetbot-client.d.ts +1 -1
- package/dist/meetbot-client.js +1 -1
- package/dist/schemas.d.ts +1 -1
- package/dist/schemas.js +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/package.json +64 -62
|
@@ -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"}
|
|
@@ -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.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,7 +25,7 @@ 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: {
|
|
@@ -125,7 +125,7 @@ class MeetbotMCPServer {
|
|
|
125
125
|
},
|
|
126
126
|
{
|
|
127
127
|
name: 'health_check',
|
|
128
|
-
description: 'Check if the
|
|
128
|
+
description: 'Check if the Meet.bot API client is properly configured and can connect',
|
|
129
129
|
inputSchema: {
|
|
130
130
|
type: 'object',
|
|
131
131
|
properties: {},
|
|
@@ -175,7 +175,7 @@ class MeetbotMCPServer {
|
|
|
175
175
|
content: [
|
|
176
176
|
{
|
|
177
177
|
type: 'text',
|
|
178
|
-
text: '
|
|
178
|
+
text: 'Meet.bot API client configured successfully.',
|
|
179
179
|
},
|
|
180
180
|
],
|
|
181
181
|
};
|
|
@@ -187,7 +187,7 @@ class MeetbotMCPServer {
|
|
|
187
187
|
content: [
|
|
188
188
|
{
|
|
189
189
|
type: 'text',
|
|
190
|
-
text: '
|
|
190
|
+
text: 'Meet.bot API client reconfigured successfully.',
|
|
191
191
|
},
|
|
192
192
|
],
|
|
193
193
|
};
|
|
@@ -195,7 +195,7 @@ class MeetbotMCPServer {
|
|
|
195
195
|
}
|
|
196
196
|
async handleGetSchedulingPages(_args) {
|
|
197
197
|
if (!this.client) {
|
|
198
|
-
throw new Error('
|
|
198
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
199
199
|
}
|
|
200
200
|
const pages = await this.client.getPages();
|
|
201
201
|
return {
|
|
@@ -211,7 +211,7 @@ class MeetbotMCPServer {
|
|
|
211
211
|
}
|
|
212
212
|
async handleGetPageInfo(args) {
|
|
213
213
|
if (!this.client) {
|
|
214
|
-
throw new Error('
|
|
214
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
215
215
|
}
|
|
216
216
|
const pageInfo = await this.client.getPageInfo(args);
|
|
217
217
|
return {
|
|
@@ -225,7 +225,7 @@ class MeetbotMCPServer {
|
|
|
225
225
|
}
|
|
226
226
|
async handleGetAvailableSlots(args) {
|
|
227
227
|
if (!this.client) {
|
|
228
|
-
throw new Error('
|
|
228
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
229
229
|
}
|
|
230
230
|
const slots = await this.client.getSlots(args);
|
|
231
231
|
return {
|
|
@@ -245,7 +245,7 @@ class MeetbotMCPServer {
|
|
|
245
245
|
}
|
|
246
246
|
async handleBookMeeting(args) {
|
|
247
247
|
if (!this.client) {
|
|
248
|
-
throw new Error('
|
|
248
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
249
249
|
}
|
|
250
250
|
const booking = await this.client.bookSlot(args);
|
|
251
251
|
return {
|
|
@@ -259,7 +259,7 @@ class MeetbotMCPServer {
|
|
|
259
259
|
}
|
|
260
260
|
async handleHealthCheck(_args) {
|
|
261
261
|
if (!this.client) {
|
|
262
|
-
throw new Error('
|
|
262
|
+
throw new Error('Meet.bot client not configured. Please run configure_meetbot first.');
|
|
263
263
|
}
|
|
264
264
|
const isHealthy = await this.client.healthCheck();
|
|
265
265
|
return {
|
|
@@ -267,8 +267,8 @@ class MeetbotMCPServer {
|
|
|
267
267
|
{
|
|
268
268
|
type: 'text',
|
|
269
269
|
text: isHealthy
|
|
270
|
-
? '✅
|
|
271
|
-
: '❌
|
|
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.',
|
|
272
272
|
},
|
|
273
273
|
],
|
|
274
274
|
};
|
|
@@ -279,7 +279,7 @@ class MeetbotMCPServer {
|
|
|
279
279
|
async run() {
|
|
280
280
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
281
281
|
await this.server.connect(transport);
|
|
282
|
-
console.error('
|
|
282
|
+
console.error('Meet.bot MCP server started');
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
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;
|
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;
|
package/dist/schemas.d.ts
CHANGED
package/dist/schemas.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MeetbotConfigSchema = exports.ApiErrorSchema = exports.GetInfoParamsSchema = exports.GetSlotsParamsSchema = exports.BookSlotRequestSchema = exports.SlotsSchema = exports.SlotDetailsSchema = exports.PagesSchema = exports.SchedulingPageSchema = exports.PageInfoSchema = exports.BookSlotSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
/**
|
|
6
|
-
* Zod schemas for runtime validation of
|
|
6
|
+
* Zod schemas for runtime validation of Meet.bot API data
|
|
7
7
|
*/
|
|
8
8
|
exports.BookSlotSchema = zod_1.z.object({
|
|
9
9
|
success: zod_1.z.boolean(),
|
package/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED