article
README
🚀 When2Meet MCP 服务器
一款基于人工智能的安排助手,借助模型上下文协议(MCP)自动完成 When2Meet 可用性标记。该工具可帮助用户提取事件详细信息、选择时间槽,并在 When2Meet 安排投票中自动标记可用性。
🚀 快速开始
安装
git clone https://github.com/joyce-yuan/when2meet-mcp.git
cd when2meet-mcp
npm install
运行 MCP 服务器
node when2meet-server.js
测试运行 MCP 客户端
node client.js
✨ 主要特性
- 🔍 提取事件详情:自动抓取并解析 When2Meet 事件。
- 🗣️ 智能时间选择:支持使用自然语言、代码或直接时间戳来选择时间槽。
- 🤖 自动化可用性标记:无需手动点击,即可完成可用性标记。
- 🔌 MCP 集成:可与任何支持模型上下文协议的 AI 助手连接。
💻 使用示例
基础用法
const { Client } = require("@modelcontextprotocol/sdk/client/index.js");
const { StdioClientTransport } = require("@modelcontextprotocol/sdk/client/stdio.js");
// 创建客户传输
const transport = new StdioClientTransport({
command: "node",
args: ["when2meet-server.js"]
});
// 初始化客户端
const client = new Client(
{ name: "when2meet-client", version: "1.0.0" },
{ capabilities: { prompts: {}, resources: {}, tools: {} } }
);
// 连接并使用工具
await client.connect(transport);
// 获取事件详情
const eventDetails = await client.callTool({
name: "get-event-details",
arguments: { eventUrl: "https://www.when2meet.com/your-event-id" }
});
// 标记可用性
await client.callTool({
name: "mark-when2meet-availability",
arguments: {
eventUrl: "https://www.when2meet.com/your-event-id",
userName: "您的姓名",
timestamps: [1744549200, 1744550100]
}
});
📚 详细文档
支持工具
1. get-event-details
从任何 When2Meet URL 提取信息。
// 示例响应
{
"name": "团队会议",
"dateRange": "2025年4月7日至9日",
"availableTimeslots": {
// 结构化的时间槽数据,包含时间戳
}
}
2. generate-availability-prompt
创建一个结构化的选择提示,包含所有可用时间槽。
[d0t0] 9:00 上午 (1744549200)
[d0t1] 9:15 上午 (1744550100)
3. parse-availability-selections
将选择转换为实际的时间戳,支持多种输入格式:
- 时间槽代码(
d0t0 d1t2) - 时间模式(
morning0 day1) - 直接时间戳(
1744549200, 1744550100)
4. mark-when2meet-availability
使用浏览器自动化在 When2Meet 上自动标记您的可用性。
使用场景
- AI 助手集成:让 AI 助手为您处理安排。
- 自动化安排:无需手动干预即可安排会议。
- 自然语言安排:使用 plain English 表达可用性。
- 批量标记可用性:一次标记多个时间槽。
要求
| 属性 | 详情 | |------|------| | 运行环境 | Node.js 18+ | | 依赖库 | @modelcontextprotocol/sdk (^1.8.0)、puppeteer、zod |
📄 许可证
本项目采用 MIT 许可证。
即将推出的集成
- 支持直接调度 Google 日历
扫码联系在线客服