Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MCPで実現!AIシェアサイクル検索
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
山田慧史
March 04, 2026
Technology
33
0
Share
MCPで実現!AIシェアサイクル検索
山田慧史
March 04, 2026
More Decks by 山田慧史
See All by 山田慧史
Claude 3 Sonnet がシカゴのシェアサイクルを分析してくれた話 〜AIエージェント実装〜
kg_b0mbe
0
34
シェアサイクルに関する論文の紹介
kg_b0mbe
0
130
GBFSの現在地 〜データ公開から2年半〜
kg_b0mbe
0
73
GBFSリアルタイムデータ解析_仕組みと活用
kg_b0mbe
0
76
シェアモビリティのオープンデータ(GBFS)の紹介
kg_b0mbe
1
240
GBFSの現状とこれから
kg_b0mbe
0
300
GBFSの現在地_2023
kg_b0mbe
0
320
DataScientistから見たUnityの可能性.pdf
kg_b0mbe
0
170
Other Decks in Technology
See All in Technology
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
200
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
390
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
170
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
120
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
320
Modernizing Your HCL Connections Experience: Visual Report to chain, Profile Enhancements, and AI Integration
wannesrams
0
130
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
190
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
1
1.9k
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
270
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
1
990
AgentCore Managed Harness を使ってみよう
yakumo
2
250
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
WCS-LA-2024
lcolladotor
0
550
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
How GitHub (no longer) Works
holman
316
150k
We Have a Design System, Now What?
morganepeng
55
8.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
780
For a Future-Friendly Web
brad_frost
183
10k
We Are The Robots
honzajavorek
0
220
GraphQLとの向き合い方2022年版
quramy
50
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
MCPで実現! AIシェアサイクル検索 GBFSのMCPサーバーを ゼロから作ってみた GBFS × MCP × Claude Desktop
MCPとは何か? Model Context Protocol AIに「外部ツール・データ」を持たせるための標準プロトコル 🤖 AI (Claude) 質問・依頼を 受け付ける
🔌 MCPサーバー 外部APIや データを提供 📡 データソース リアルタイム 情報を返す Anthropicが2024年11月に公開したオープン規格。ClaudeだけでなくGPT等でも利用可能。 2
GBFSとは何か? General Bikeshare Feed Specification シェアモビリティのリアルタイムデータを提供する世界標準オープンデータ規格 800+ 対応システム数 世界中のシェアサイクル 50+
対応国 北米・欧州・アジア 無料 オープンデータ 誰でも利用可能 日本の対応例: ドコモ・バイクシェア/ HELLO CYCLING など 3
今回作ったもの GBFSのMCPサーバー 自然言語でシェアサイクルのリアルタイムデータを操作できる Python 3.11 mcp SDK httpx Claude Desktop
💬 「東京駅周辺で自転車が借りられるステーションを教えて」 ✅ 地図 + リアルタイム在庫(台数・空きドック)を即座に表示! 4
Level 1 ドコモ・バイクシェア固定で基本ツールを実装 実装したツール get_system_info システム基本情報を取得 get_station_info 全ステーション一覧(位置・名称・容量) get_station_status リアルタイム在庫(自転車数・空きドック)
find_nearest_stations 緯度経度から近い順にステーションを検索 get_system_alerts 障害・メンテナンス情報 設計のポイント autodiscovery対応 (gbfs.jsonから動的にURL取得) 将来のマルチシステム化を 見据えた設計 丁寧なエラーハンドリング (フィード不在にも対応) 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
Level 2 世界中のGBFSシステムに対応 MobilityDataのsystems.csvを活用 system_idを指定するだけで世界800以上のシステムのデータを取得可能に 追加ツール get_systems 国・都市名でシステムを検索・一覧表示 使えるようになった例 🗽
ニューヨーク Citibike 🗼 パリ Vélib' Métropole ロンドン Santander Cycles ドイツ Call a Bike 7
Level 3 高度な分析・比較機能の追加 get_vehicle_types 車種情報を取得 • 車種ID・名称 • 形状(bicycle /
scooter) • 推進方式(human / electric) • 電動アシスト有無の確認が可能 compare_systems 複数都市を横断比較 • 総ステーション数 • 利用可能台数の合計 • 稼働率(空き率) • asyncioで並列取得(高速) 活用例 💬 「東京・大阪・名古屋のシェアサイクルを比較して」 → 3都市の稼働率・台数・電動自転車の有無を一覧で表示 8
開発の歩み 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
まとめ・今後の展望 ✅ MCPを使えばオープンデータを自然言語で操作できる ✅ GBFSのような標準規格との相性が抜群 ✅ Claude Codeで短時間での実装が可能 今後の展望 →
TTLキャッシュでAPI負荷軽減 → OSSとして公開 10