关于 Meet.bot
Meet.bot MCP 将 AI 助手连接到 Meet.bot Booking Page API,用于管理预约页面、查询空闲时段和预订会议。支持本地 stdio 与远程 HTTP/SSE,认证信息随连接提供。
主要功能
- 01列出预约页面并查看详情
- 02查找可预约时段
- 03为访客预订会议
- 04管理预约 Webhook
- 05支持本地 stdio 和远程 HTTP/SSE
适用场景
- 01提出会议时间前查询空闲情况
- 02通过 AI 助手预订会议
- 03查看预约页面及其详情
- 04接收预约变更通知
MCP 相关
向 MCP 客户端提供 Meet.bot 的排期、预订和 Webhook 操作工具。HTTP/SSE 模式使用 Bearer 令牌认证;stdio 模式使用 `MEETBOT_AUTH_TOKEN` 环境变量。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Meet.bot MCP(Model Context Protocol)
面向 Meet.bot Booking Page API 的 Model Context Protocol(MCP)服务,让 AI 助手能够使用日程安排和预订功能。
这是什么?
此 MCP 服务可将 AI 助手(例如 Claude、ChatGPT,以及其他支持 MCP 的助手)连接到你的 Meet.bot 账户,让它们代表你安排会议。你不必手动复制预订链接或查看日历,只需告诉 AI 助手“下周安排一次与 John 的 30 分钟会议”,它就会通过你的 MeetBot 日程页面完成预订。
工作原理:
- 将 MeetBot API 令牌连接到 MCP 服务
- 配置 AI 助手以使用此 MCP 服务
- 让 AI 助手安排会议——它可以检查你的空闲时间、查找可用时段,并直接通过你的 MeetBot 账户预订会议
对于希望自动安排会议并让 AI 助手智能管理日历的繁忙专业人士来说,这尤其有用。
如果你还没有账户,可以在 https://meet.bot 免费注册。
功能
- 完整的 API 覆盖范围:实现 Meet.bot Booking Page API v1 的所有端点
- 类型安全:完整支持 TypeScript,并提供全面的类型定义
- 运行时验证:使用 Zod schema 验证输入并确保数据完整性
- 身份验证支持:Bearer 令牌身份验证
- 错误处理:稳健的错误处理,并提供详细的错误消息
- 健康检查:使用 /v1/pages 端点进行内置健康监控
- 符合 MCP 协议:完整实现 Model Context Protocol 服务
- 双模式支持:可在本地运行(stdio),也可远程运行(HTTP/SSE)
- 已部署至生产环境:在线运行于 https://mcp.meet.bot
- 可用于生产环境:经过全面测试和验证,可用于生产环境
安装
npm install @meetbot/mcp
快速开始
1. 安装和配置
# Install the package
npm install @meetbot/mcp
# Or install globally for CLI usage
npm install -g @meetbot/mcp
2. 身份验证
身份验证不是工具,而是基于连接的:
- **HTTP/SSE(远程,例如 https://mcp.meet.bot)**:连接时,在请求头中发送
Authorization: Bearer <your_api_token>。服务会在该会话中使用此令牌进行所有 API 调用。 - Stdio(本地):启动服务时设置
MEETBOT_AUTH_TOKEN环境变量(例如MEETBOT_AUTH_TOKEN=your_token npx @meetbot/mcp)。
这里没有 configure_meetbot 或类似工具;AI 会使用下方的工具,身份验证则由连接处理。
3. 使用可用工具
MCP 服务提供以下工具:
获取日程页面
await get_scheduling_pages();
// Returns all scheduling pages for the authenticated user
获取页面信息
await get_page_info({
page: "https://meet.bot/user/30min"
});
// Returns detailed information about a specific scheduling page
获取可用时段
await get_available_slots({
page: "https://meet.bot/user/30min",
count: 10,
start: "2025-01-01",
end: "2025-01-31",
timezone: "America/New_York",
booking_link: true
});
// Returns available booking slots with optional filters
预订会议
await book_meeting({
page: "https://meet.bot/user/30min",
guest_email: "[email protected]",
guest_name: "Jane Doe",
notes: "Meeting to discuss project requirements",
start: "2025-01-15T14:00:00Z"
});
// Books a new meeting slot
健康检查
await health_check();
// Verifies API connectivity using the /v1/pages endpoint
Webhook
在会议预订、改期或取消的第一时间收到通知。对于每个事件(booking_received、booking_rescheduled、booking_cancelled),Meet.bot 都会向你的 URL POST 一个经过 JWT 签名(HS256)的 JSON 载荷,其格式与合作伙伴 webhook 相同。
// List your webhooks
await list_webhooks();
// Create (omit id) or update (pass id) a webhook
await set_webhook({
webhook_url: "https://your-app.example.com/meetbot-hook",
description: "CRM sync",
coverage: "all", // or "selected" with pages: [<page id>, ...]
scope: "self" // team admins can use "team" to also receive teammates' bookings
});
// Returns the webhook including the shared secret used to verify the signature.
// Delete a webhook
await delete_webhook({ id: 123 });
部署选项
MCP 服务可在两种模式下运行:
1. 本地模式(Stdio 传输)
用于与 Claude Desktop 等 AI 助手进行本地集成。使用 stdio 传输进行通信。
# Run locally
npx @meetbot/mcp
# Or with environment variable
MEETBOT_AUTH_TOKEN="your_token" npx @meetbot/mcp
2. HTTP 模式(SSE 传输)
使用 HTTP/SSE 传输进行远程部署。这样就可以通过网络访问 MCP 服务。
运行 HTTP 服务
# Build and start the HTTP server
npm run build
npm run start:http
# Or with custom port
PORT=8080 npm run start:http
# Or run directly with npx
npx meetbot-mcp-http
服务端点
- SSE 端点:
GET /sse- 建立用于 MCP 通信的 SSE 连接 - 消息端点:
POST /messages?sessionId=<id>- 接收客户端消息 - 健康检查:
GET /health- 查看服务健康状态
身份验证
所有请求都必须在 Authorization 请求头中包含 Bearer 令牌:
Authorization: Bearer <your-meetbot-api-token>
同一个令牌也用于向 Meet.bot API 进行身份验证。
测试 HTTP 服务
本地测试:
# Health check (should fail without auth)
curl http://localhost:3000/health
# Health check with authentication
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/health
# Connect to SSE endpoint
curl -N -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/sse
# Or use the test script
./test-http-server.sh YOUR_TOKEN
生产环境测试:
# Test the live deployment
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://mcp.meet.bot/health
# Expected response:
# {"status":"ok","service":"meetbot-mcp"}
部署
HTTP 服务可部署到多个平台:
- Railway:
railway up✅ 已在 https://mcp.meet.bot 上线 - Fly.io:
fly launch && fly deploy - Google Cloud Run:基于容器的部署
- AWS App Runner:基于容器的部署
- 任意 VPS:直接使用 Node.js 运行
示例:连接到生产环境
# Your MCP client should connect to:
# https://mcp.meet.bot/sse
# With Authorization header:
# Authorization: Bearer <your-meetbot-api-token>
Dockerfile 示例:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist ./dist
EXPOSE 3000
CMD ["node", "dist/cli-http.js"]
MCP 集成
与 AI 助手搭配使用
此 MCP 服务可与 Claude、ChatGPT 等支持 Model Context Protocol 的 AI 助手集成。
配置示例
{
"mcpServers": {
"meetbot": {
"command": "npx",
"args": ["@meetbot/mcp"],
"env": {
"MEETBOT_AUTH_TOKEN": "your_bearer_token_here"
}
}
}
}
可用的 MCP 工具
该服务向 AI 助手提供 8 个工具:
get_scheduling_pages- 列出所有预约页面get_page_info- 获取页面详情get_available_slots- 查找可用时间段book_meeting- 预约会议health_check- 使用 /v1/pages 端点验证 API 连接list_webhooks- 列出你的外发预约 webhookset_webhook- 创建或更新 webhook(booking_received / booking_rescheduled / booking_cancelled)delete_webhook- 删除 webhook
身份验证由连接提供(远程连接使用 HTTP 标头中的 Bearer token,本地 stdio 使用 MEETBOT_AUTH_TOKEN);没有单独的配置工具。
测试与验证
该软件包已通过全面测试和验证:
✅ MCP 协议合规性:完整支持 JSON-RPC 2.0
✅ 工具发现:已正确公开所有 5 个工具
✅ 错误处理:可妥善响应错误
✅ 类型安全:完整支持 TypeScript
✅ 架构验证:使用 Zod 验证输入
✅ 可用于生产环境:已使用真实 MCP 客户端测试
软件包统计信息
- 软件包大小:12.8 kB(解包后 58.0 kB)
- 测试覆盖:21 项测试通过
- 依赖项:3 个生产依赖项
- TypeScript:100% 类型覆盖率
- 构建状态:✅ 通过
- npm Registry:已发布并可用
使用示例
作为库使用
import { MeetbotClient, MeetbotMCPServer } from '@meetbot/mcp';
// Use as a direct API client
const client = new MeetbotClient({
authToken: 'your_token'
});
// Use as an MCP server
const server = new MeetbotMCPServer();
await server.run();
作为 MCP 服务使用
# Run the MCP server
npx @meetbot/mcp
# Or install globally
npm install -g @meetbot/mcp
meetbot-mcp
API 参考
MeetbotClient
用于直接集成的核心 API 客户端:
import { MeetbotClient } from '@meetbot/mcp';
const client = new MeetbotClient({
authToken: 'your_token'
});
// Get all scheduling pages
const pages = await client.getPages();
// Get page information
const pageInfo = await client.getPageInfo({
page: 'https://meet.bot/user/30min'
});
// Get available slots
const slots = await client.getSlots({
page: 'https://meet.bot/user/30min',
count: 20
});
// Book a meeting
const booking = await client.bookSlot({
page: 'https://meet.bot/user/30min',
guest_email: '[email protected]',
guest_name: 'Jane Doe',
start: '2025-01-15T14:00:00Z'
});
数据类型
所有 API 响应均具有完整的类型定义:
interface BookSlot {
success: boolean;
page: string;
guest_email: string;
guest_name: string;
notes?: string;
start: string;
ical_uid: string;
}
interface PageInfo {
title: string;
duration: number;
url: string;
owner_name: string;
max_days_into_the_future: number;
}
interface Slots {
count: number;
duration: number;
slots: SlotDetails[];
}
配置
环境变量
你可以使用环境变量配置 MCP 服务:
export MEETBOT_AUTH_TOKEN="your_bearer_token"
# Then run the server
meetbot-mcp
身份验证
身份验证基于连接,而非工具:
- HTTP/SSE:连接到 MCP 服务时,在请求标头中发送
Authorization: Bearer <token>。 - Stdio:运行服务时设置
MEETBOT_AUTH_TOKEN(例如MEETBOT_AUTH_TOKEN=your_token meetbot-mcp)。
开发
运行测试
npm test
npm run test:watch
代码检查
npm run lint
npm run lint:fix
CLI 用法
该软件包包含一个命令行界面,可用于运行 MCP 服务:
# Install globally
npm install -g @meetbot/mcp
# Run the MCP server
meetbot-mcp
# Or run directly with npx (no installation required)
npx @meetbot/mcp
环境变量
你可以使用环境变量配置服务:
export MEETBOT_AUTH_TOKEN="your_bearer_token"
# Then run the server
meetbot-mcp
错误处理
对于常见问题,MCP 服务会提供详细的错误消息:
- 配置错误:缺少或无效的配置参数
- 身份验证错误:无效的令牌
- API 错误:来自 Meet.bot API 的详细错误消息
- 验证错误:输入验证失败,并指出具体字段错误
贡献
- Fork 此仓库
- 创建功能分支
- 修改代码
- 为新功能添加测试
- 提交 pull request
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
支持
- 文档:https://docs.meet.bot
- 问题反馈:GitHub Issues
- 讨论:GitHub Discussions
更新日志
1.2.10
- 修复(stdio 启动崩溃):stdio 服务(
npx @meetbot/mcp)声明了工具处理程序,却未声明tools能力,因此 MCP SDK 抛出“Server does not support tools”错误,进程在启动时退出。现在已声明capabilities.tools;服务可以正常启动并响应initialize和tools/list(无需令牌即可查看信息)。
1.2.9
- 服务卡片:新增
/.well-known/mcp/server-card.json,用于发现和手动查看元数据(工具、提示词、身份验证) - Smithery 质量:新增工具注释(
audience、priority)、更丰富的参数说明,以及用于质量评分的提示词能力 - 提示词(技能):新增六个供 Smithery 和客户端使用的 MCP 提示词:
schedule_meeting、check_availability、book_for_guest、share_booking_link、list_my_pages、suggest_times,并完整支持prompts/list和prompts/get
1.2.7
- 示例配置更新:从示例配置中移除过时的
MEETBOT_BASE_URL(基础 URL 已硬编码为 https://meet.bot)
1.2.6
- 文档更新:将生产环境 URL 从 Railway 更新为 https://mcp.meet.bot
- 完善 README:新增“这是什么?”部分,说明 MCP 的用途,以及如何通过 MeetBot 账户安排会议
- 用户引导:新增免费注册 Meet.bot 账户的链接
1.2.5
- Jest 配置:更新 Jest 配置以支持 ES 模块
- 构建改进:TypeScript 编译时排除测试文件
- 发布:完善发布检查清单和文档
1.1.1
- ES 模块修复:修复 Railway 和其他 Node.js 部署环境中的 ES 模块兼容性问题
- 导入扩展名:为所有相对导入添加正确的
.js扩展名 - 在线部署:成功部署至 https://mcp.meet.bot
- 生产环境验证:确认已在生产环境中正常运行
1.1.0
- HTTP/SSE 传输:新增支持 SSE 传输的 HTTP 服务,可用于远程部署
- Bearer 令牌身份验证:为 HTTP 端点实现身份验证
- 多模式支持:可作为本地 stdio 服务或远程 HTTP 服务运行
- 已就绪,可部署:新增适用于 Railway、Fly.io 等平台的 Dockerfile 和部署配置
- 健康检查端点:新增
/health端点,用于监控 - 会话管理:正确处理会话,并在传输结束时进行清理
- 已满足生产就绪要求:完整实现 HTTP 功能,并提供身份验证和错误处理
1.0.4
- 修复健康检查:现在使用真实的
/v1/pages端点,而非虚假的健康检查端点 - 更新文档:明确说明健康检查的实现细节
- 提升可靠性:健康检查现在可以正确验证 API 连通性
1.0.3
- 简化配置:移除对 baseUrl 的要求——现在已硬编码为 https://meet.bot
- 更新文档:简化配置示例
- 改善用户体验:用户只需提供 authToken
1.0.2
- 修复身份验证:移除不受支持的 sessionId 参数
- 更正 API URL:将 api.meet.bot 更新为 meet.bot
- 更新文档:提供准确的身份验证示例
1.0.1
- 完善文档:提供包含使用示例的完整 README
- MCP 集成指南:新增 AI 助手配置示例
- 测试结果:新增验证和测试信息
1.0.0
- 首次发布——面向 Meet.bot API 的生产就绪 MCP 服务
- 完整的 API 覆盖——包含 Meet.bot Booking Page API v1 的所有端点
- TypeScript 支持——提供全面的类型定义,确保完整的类型安全
- 运行时验证——使用 Zod 模式验证输入并确保数据完整性
- MCP 服务实现——完全符合 Model Context Protocol 规范
- CLI 工具——用于运行 MCP 服务的命令行界面
- 错误处理——健壮的错误处理机制,并提供详细信息
- 身份验证——支持 Bearer 令牌身份验证
- 健康检查——内置 API 连接监控,使用 /v1/pages 端点
- 测试——全面的测试套件,包含 21 项通过的测试
- 文档——完整的 API 文档和使用示例
- 功能测试——已通过真实 MCP 客户端请求验证
- npm 发布——已成功发布到 npm registry
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。