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
28
0
Share
MCPで実現!AIシェアサイクル検索
山田慧史
March 04, 2026
More Decks by 山田慧史
See All by 山田慧史
Claude 3 Sonnet がシカゴのシェアサイクルを分析してくれた話 〜AIエージェント実装〜
kg_b0mbe
0
30
シェアサイクルに関する論文の紹介
kg_b0mbe
0
130
GBFSの現在地 〜データ公開から2年半〜
kg_b0mbe
0
73
GBFSリアルタイムデータ解析_仕組みと活用
kg_b0mbe
0
75
シェアモビリティのオープンデータ(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
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
560
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
1
980
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
200
「決め方」の渡し方 / How to hand over the "decision-making process"
pauli
7
1.3k
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.1k
AWS DevOps Agent or Kiro の使いどころを考える_20260402
masakiokuda
0
190
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
390
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
Data Intelligence Engineering Unit 部門と各ポジション紹介
sansantech
PRO
0
130
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
240
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The SEO identity crisis: Don't let AI make you average
varn
0
430
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
95
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How GitHub (no longer) Works
holman
316
150k
Thoughts on Productivity
jonyablonski
76
5.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Faster Mobile Websites
deanohume
310
31k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
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