【MCP】たった1つの指示で、LLMが予定を取得し、DBを検索し、Notionに書き込むまで 2025/10/8

エージェント

概要

ユーザーが「来週の打ち合わせデータをまとめて」と言うと、
1️⃣ Googleカレンダーから日程を取
2️⃣ 社内DBからその会議に関係するデータを検索
3️⃣ Notionに結果を自動で書き込む
…という流れを1つのLLM会話で自動実行します。


全体イメージ図

User → LLMアシスタント
       ├──> MCP: Google Calendar → 日程取得
       ├──> MCP: 社内DB → 関連データ検索
       └──> MCP: Notion → 結果を書き込み

サンプルコード(Python擬似コード)

from mcp import Client

# --- 各MCPサーバーへ接続 ---
calendar = Client("mcp://google-calendar")
notion   = Client("mcp://notion")
company_db = Client("mcp://internal-db")

def main():
    # Step 1: ユーザ入力
    user_query = "来週の打ち合わせデータをまとめて"

    # Step 2: カレンダーから予定を取得
    events = calendar.call("get_events", {"time_range": "next_week"})
    print("📅 Googleカレンダーから取得:", events)

    # Step 3: 社内DBから関連データを検索
    related_data = []
    for e in events:
        data = company_db.call("search_meeting_data", {"keyword": e["title"]})
        related_data.append({"event": e, "data": data})
    print("🗂 社内DBから取得:", related_data)

    # Step 4: Notionに結果を書き込み
    notion.call("create_page", {
        "title": "来週の打ち合わせまとめ",
        "content": str(related_data)
    })
    print("✅ Notionに書き込み完了")

if __name__ == "__main__":
    main()

ポイント解説(初心者向け)

ステップ処理内容何をしているか(やさしく)
1️⃣Client("mcp://...")各MCPサーバーへ接続。「電話線をつなぐ」イメージ
2️⃣calendar.call("get_events")GoogleカレンダーのAPIを呼び出し、予定表をもらう
3️⃣company_db.call("search_meeting_data")会議タイトルを使って、社内データベースから資料などを検索
4️⃣notion.call("create_page")取得した内容をまとめてNotionのページに書き込む

LLMの役割

LLMアシスタントはこの3つのAPIを自分で呼び分け、会話文脈に基づいてデータを橋渡しします。
つまり、ユーザーは「やって」と言うだけで、裏側でLLMが順にAPIを動かします。


例:実行時の会話

👤 ユーザー: 来週の打ち合わせデータをまとめて。
🤖 アシスタント:
  1. Googleカレンダーで来週の予定を確認中...
  2. 関連する会議データを社内DBから取得中...
  3. Notionにまとめページを作成しました!
     → https://notion.so/meeting-summary-2025

応用ヒント

  • n8nDify などのワークフローオーケストレーターと組み合わせれば、
    完全自動で定期的に動かせるようになります。
  • AutoGen を使えば、複数のエージェントが分担して
    「カレンダー係」「DB係」「Notion係」として動けます。

コメント

タイトルとURLをコピーしました