When2Meet MCP Server について
会議の日程調整に使う When2Meet 向け MCP サーバーです。イベント情報を取得し、自然言語などで時間枠を選んで、ブラウザー操作により空き時間を登録します。
主な機能
- 01イベント情報と時間枠の取得
- 02自然言語やコードで時間を選択
- 03選択内容をタイムスタンプに変換
- 04空き時間の自動登録
活用シーン
- 01会議の投票に空き時間を登録
- 02手動クリックなしで時間枠を選択
- 03複数の時間枠をまとめて登録
MCP 対応
When2Meet のイベント情報取得、時間選択、空き時間登録ツールを MCP クライアントや対応する AI アシスタントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
When2Meet MCP Server
Model Context Protocol(MCP)を通じてWhen2Meetの空き時間の入力を自動化する、AIを活用したスケジュール調整アシスタントです。このツールを使うと、イベントの詳細を抽出し、時間枠を選択して、When2Meetのスケジュール調整用投票に空き時間を自動で入力できます。
機能
- 🔍 イベントの詳細を抽出:When2Meetのイベントを自動的にスクレイピングして解析します
- 🗣️ スマートな時間選択:自然言語、コード、またはタイムスタンプを使って時間枠を選択します
- 🤖 空き時間の入力を自動化:手動でクリックせずに空き時間を入力します
- 🔌 MCP 連携:Model Context Protocolに対応するあらゆる AI アシスタントと接続できます
クイックスタート
インストール
git clone https://github.com/joyce-yuan/when2meet-mcp.git
cd when2meet-mcp
npm install
MCP サーバーの実行
node when2meet-server.js
テスト用 MCP クライアントの実行
node client.js
対応ツール
1. get-event-details
任意の When2Meet URL から情報を抽出します。
// Example response
{
"name": "Team Meeting",
"dateRange": "April 7-9, 2025",
"availableTimeslots": {
// Structured time slot data with timestamps
}
}
2. generate-availability-prompt
利用可能なすべての時間枠を含む、構造化された選択プロンプトを作成します。
[d0t0] 9:00 AM (1744549200)
[d0t1] 9:15 AM (1744550100)
3. parse-availability-selections
複数の入力形式を使って、選択内容を実際のタイムスタンプに変換します。
- 時間枠コード(
d0t0 d1t2) - 時間パターン(
morning0 day1) - 直接指定したタイムスタンプ(
1744549200, 1744550100)
4. mark-when2meet-availability
ブラウザーの自動化を使って、When2Meet に空き時間を自動で入力します。
クライアントの使用例
const { Client } = require("@modelcontextprotocol/sdk/client/index.js");
const { StdioClientTransport } = require("@modelcontextprotocol/sdk/client/stdio.js");
// Create client transport
const transport = new StdioClientTransport({
command: "node",
args: ["when2meet-server.js"]
});
// Initialize client
const client = new Client(
{ name: "when2meet-client", version: "1.0.0" },
{ capabilities: { prompts: {}, resources: {}, tools: {} } }
);
// Connect and use tools
await client.connect(transport);
// Get event details
const eventDetails = await client.callTool({
name: "get-event-details",
arguments: { eventUrl: "https://www.when2meet.com/your-event-id" }
});
// Mark availability
await client.callTool({
name: "mark-when2meet-availability",
arguments: {
eventUrl: "https://www.when2meet.com/your-event-id",
userName: "Your Name",
timestamps: [1744549200, 1744550100]
}
});
ユースケース
- AI アシスタントとの連携:スケジュール調整を AI アシスタントに任せられます
- スケジュール調整の自動化:手動で操作せずに会議を設定できます
- 自然言語によるスケジュール調整:空き時間を平易な英語で伝えられます
- 複数の空き時間を一括入力:複数の時間枠を一度に入力できます
要件
- Node.js 18+
- @modelcontextprotocol/sdk (^1.8.0)
- puppeteer
- zod
ライセンス
MIT
今後の連携
- Google Calendar による直接的なスケジュール調整に対応予定
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。