Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MCPで実現!AIシェアサイクル検索

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 MCPで実現!AIシェアサイクル検索

Avatar for 山田慧史

山田慧史

March 04, 2026
Tweet

More Decks by 山田慧史

Other Decks in Technology

Transcript

  1. MCPとは何か? Model Context Protocol AIに「外部ツール・データ」を持たせるための標準プロトコル 🤖 AI (Claude) 質問・依頼を 受け付ける

    🔌 MCPサーバー 外部APIや データを提供 📡 データソース リアルタイム 情報を返す Anthropicが2024年11月に公開したオープン規格。ClaudeだけでなくGPT等でも利用可能。 2
  2. GBFSとは何か? General Bikeshare Feed Specification シェアモビリティのリアルタイムデータを提供する世界標準オープンデータ規格 800+ 対応システム数 世界中のシェアサイクル 50+

    対応国 北米・欧州・アジア 無料 オープンデータ 誰でも利用可能 󰏦 日本の対応例: ドコモ・バイクシェア/ HELLO CYCLING など 3
  3. 今回作ったもの GBFSのMCPサーバー 自然言語でシェアサイクルのリアルタイムデータを操作できる Python 3.11 mcp SDK httpx Claude Desktop

    💬 「東京駅周辺で自転車が借りられるステーションを教えて」 ✅ 地図 + リアルタイム在庫(台数・空きドック)を即座に表示! 4
  4. Level 1 ドコモ・バイクシェア固定で基本ツールを実装 実装したツール get_system_info システム基本情報を取得 get_station_info 全ステーション一覧(位置・名称・容量) get_station_status リアルタイム在庫(自転車数・空きドック)

    find_nearest_stations 緯度経度から近い順にステーションを検索 get_system_alerts 障害・メンテナンス情報 設計のポイント autodiscovery対応 (gbfs.jsonから動的にURL取得) 将来のマルチシステム化を 見据えた設計 丁寧なエラーハンドリング (フィード不在にも対応) 5
  5. Level 1 デモ結果 💬 「東京駅周辺で自転車が借りられるステーションを教えて」 # ステーション名 距離 利用可能台数 1

    A4-01. 丸ビル(南側駐輪場) 290m 2台 ✅ 2 B2-21. 八重洲二丁目北地区広場 331m 0台 ❌ 3 A4-08. 永代通り(大手町駅 B2c出口前) 350m 1台 ✅ 4 A4-11. 二重橋前駅(メトロ 4番出口) 457m 4台 ✅ 🗺 地図 + リアルタイム在庫データが自然言語の質問だけで取得できた! 6
  6. Level 3 高度な分析・比較機能の追加 get_vehicle_types 車種情報を取得 • 車種ID・名称 • 形状(bicycle /

    scooter) • 推進方式(human / electric) • 電動アシスト有無の確認が可能 compare_systems 複数都市を横断比較 • 総ステーション数 • 利用可能台数の合計 • 稼働率(空き率) • asyncioで並列取得(高速) 活用例 💬 「東京・大阪・名古屋のシェアサイクルを比較して」 → 3都市の稼働率・台数・電動自転車の有無を一覧で表示 8
  7. 開発の歩み Level 1 ✓ Claude Codeで実装 ✓ Python 3.11環境構築 ✓

    5つの基本ツール完成 ✓ Claude Desktopで動作確認 Level 2 ✓ systems.csv活用 ✓ world 800+システム対応 ✓ get_systems追加 ✓ system_idで切り替え Level 3 ✓ 車種情報ツール追加 ✓ 複数都市横断比較 ✓ asyncio並列取得 ✓ 稼働率・電動判定 🚀 1つのPythonファイル(〜400行)でレベル1→3まで段階的に進化させることができた 9