一款基于人工智能的安排助手,借助模型上下文协议(MCP)自动完成 When2Meet 可用性标记。该工具可帮助用户提取事件详细信息、选择时间槽,并在 When2Meet 安排投票中自动标记可用性。
git clone https://github.com/joyce-yuan/when2meet-mcp.git
cd when2meet-mcp
npm install
node when2meet-server.js
node client.js
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]
}
});
get-event-details
从任何 When2Meet URL 提取信息。
// 示例响应
{
"name": "团队会议",
"dateRange": "2025年4月7日至9日",
"availableTimeslots": {
// 结构化的时间槽数据,包含时间戳
}
}
generate-availability-prompt
创建一个结构化的选择提示,包含所有可用时间槽。
[d0t0] 9:00 上午 (1744549200)
[d0t1] 9:15 上午 (1744550100)
parse-availability-selections
将选择转换为实际的时间戳,支持多种输入格式:
d0t0 d1t2
)morning0 day1
)1744549200, 1744550100
)mark-when2meet-availability
使用浏览器自动化在 When2Meet 上自动标记您的可用性。
属性 | 详情 |
---|---|
运行环境 | Node.js 18+ |
依赖库 | @modelcontextprotocol/sdk (^1.8.0)、puppeteer、zod |
本项目采用 MIT 许可证。