bostonmove について
bostonmoveは、ボストンの移動向けの読み取り専用CLIおよびMCPサーバーです。MBTAの運行情報、Bluebikesの空き状況、移動案をローカルエージェントに提供します。
主な機能
- 01MBTAの発車時刻と運行アラート
- 02Bluebikesの自転車・ドック状況
- 03近くの交通機関と自転車ステーション検索
- 04徒歩・自転車・公共交通の経路計画
- 05出典と時刻付きのJSON出力
活用シーン
- 01次の発車時刻と停留所のアラート確認
- 02近くの自転車、電動自転車、空きドックの検索
- 03ボストン内の移動案の比較
MCP 対応
MCPサーバーは、発車時刻、アラート、自転車の空き状況、近隣ステーション、経路計画の5つのツールを公開します。MCPクライアントはMBTAとBluebikesの公開ライブデータを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| place | string | はい | 駅名または停留所名、MBTA 停留所 ID、ボストン広域圏の住所またはランドマーク、あるいは 'lat,lon'。 |
| radius_m | integer | いいえ | 検索半径(メートル)。 |
詳細
bostonmove
リアルタイムの公共データを使ってボストンを移動できます。MBTAの発車時刻と運行アラート、Bluebikesの自転車とドックの台数、そしてドアツードアの移動手段(徒歩、Bluebikes、MBTAの1路線、または地下鉄路線間の1回の乗り換え)を確認できます。コマンドラインツールであり、MCP サーバーでもあるため、Claude Code、Claude Desktop、Cursorなどのエージェントが、実際のデータに基づいて「次の電車はいつ?」や「Kendallの近くにドックはある?」といった質問に答えられます。公開データの読み取りのみを行います。
$ bostonmove plan "Northeastern" "Harvard"
Northeastern University → Harvard (4424 m straight line)
27 min Green Line E to Medford/Tufts: board at Northeastern University (0 min walk) now, ride 10, off at Park Street; then Red Line to Alewife: leaves 16:22, ride 9, off at Harvard (arrive ~16:31)
28 min Orange Line to Oak Grove: board at Massachusetts Avenue (6 min walk) in 6 min, ride 6, off at Downtown Crossing; then Red Line to Alewife: leaves 16:20, ride 11, off at Harvard (arrive ~16:31)
29 min Bluebikes from Forsyth St at Huntington Ave (13 bikes) to Church St (1 docks) (arrive ~16:33)
40 min 1 to Harvard: board at Massachusetts Ave @ St Botolph St (7 min walk) in 15 min, ride 23, off at Massachusetts Ave opp Holyoke St (arrive ~16:43)
69 min walk, about 5751 m (arrive ~17:12)
· Walking and cycling times are estimates from straight-line distance; transit times are from MBTA live predictions, or the timetable when there are none.
· MBTA options are one route, or one change between subway and light-rail lines with 3 min to change; changes involving buses aren't planned (mbta.com/trip-planner does them).
インストール
uvx bostonmove plan "South Station" "Kendall" # run once without installing
uv tool install bostonmove # or: pipx install bostonmove / pip install bostonmove
Claude Codeに追加するには:
claude mcp add --scope user bostonmove -- uvx bostonmove mcp
または、任意のMCPクライアントの設定(Claude Desktop、Cursor)に追加します:
{ "mcpServers": { "bostonmove": { "command": "uvx", "args": ["bostonmove", "mcp"] } } }
クライアントがuvxを見つけられない場合は、which uvx(macOS、Linux)またはwhere uvx(Windows)で表示されるフルパスをcommandとして指定してください。
MBTA APIキー(任意、無料)。 キーがない場合、MBTAへのリクエストは1分あたり20回までで、2、3件の経路検索で上限に達することがあります。api-v3.mbta.comから取得したキーを使うと、上限は1,000回になります。環境変数にMBTA_API_KEYを設定するか、MCP設定に"env": {"MBTA_API_KEY": "..."}を渡してください。上限に達すると、bostonmoveがその旨を通知します。その場合も、plan_tripは徒歩とBluebikesの選択肢を返します。
ツール
| MCP ツール | CLI | 回答する内容 |
|---|---|---|
next_departures | bostonmove next "Park Street" [--route Red] | 停留所での路線別・方向別の次の発車時刻:MBTAが予測時刻を提供している場合はリアルタイム情報、それ以外は時刻表、およびその停留所のアラート |
service_alerts | bostonmove alerts [--route Orange] [--stop X] | 現在発生している遅延、運休、代替バス、迂回、閉鎖を重大度の高い順に表示 |
bike_availability | bostonmove bikes "Kendall" [--need bike|ebike|dock] | 自転車、電動自転車、空きドックがある最寄りのBluebikesステーション |
find_nearby | bostonmove near "Fenway Park" | 場所の近くにあるMBTAの駅と停留所、およびBluebikesステーション |
plan_trip | bostonmove plan A B | 徒歩、Bluebikes、MBTAの移動手段(1路線、または地下鉄路線間の1回の乗り換え)と到着時刻 |
場所には、駅名(Park Street、Kendall、Northeastern)、MBTAの停留所ID(place-pktrm、110)、Bluebikesのステーション名、住所やランドマーク(Fenway Park、360 Huntington Ave)、またはlat,lonを指定できます。すべての結果にsourcesとas_ofが含まれます。任意のCLIコマンドに--jsonを追加すると、結果全体を取得できます。
数値の算出方法
- 発車時刻は、MBTA のリアルタイム予測です。停留所に予測がない場合(深夜や、予測を公開していない路線など)は時刻表を使用し、各時刻に「予定」と表示します。
- 公共交通機関の所要時間:待ち時間はリアルタイム予測から、乗車時間はその便の2つの停留所における予測時刻(または時刻表)から算出し、両端の徒歩時間は推定します。発車時刻までに徒歩で到着できない便は除外されます。
- 乗り換え:地下鉄またはライトレールの路線だけで目的地まで行けない場合、bostonmove は出発地付近の路線と目的地付近の路線を探し、共通の駅(Park Street、Downtown Crossing、State、Haymarket など)がある組み合わせを、徒歩距離と乗車駅数で順位付けし、上位2つの組み合わせをリアルタイムの発車時刻で評価します。2本目の列車は、1本目の到着から少なくとも3分後に発車する必要があります。
- 徒歩と自転車の所要時間は推定値です。直線距離に1.3を掛けて道路距離を求め、徒歩は時速5 km、自転車は時速14 kmとして計算します。
estimateと表示されます。 - 自転車の台数は Bluebikes フィードの更新時点のものです(約1分ごとに更新)。到着前に自転車やドックが使われることがあります。このフィードでは自転車の台数に電動自転車も含まれるため、
classic = bikes - ebikesです。 - 経路上のアラートには、その移動に関係するものだけが含まれます。路線の重要度が5以上のアラート、または乗車、乗り換え、降車する停留所のすべてのアラートです。
制限事項
- 乗り換えは最大1回で、地下鉄とライトレールの路線間に限られます(Red、Orange、Blue、Green Line の各支線、Mattapan)。バスから列車、バス同士、通勤鉄道、乗り換え2回の経路は計画しません。その場合はmbta.com/trip-plannerをご利用ください。
- 経路の計画には、MBTA へのリクエストが4~16回必要です。API キーなしでの上限に達した場合、bostonmove は失敗する代わりに、回数がリセットされるまで最大20秒待機します。それを過ぎると、MBTA の選択肢を除外し、その理由を表示します。
- 停留所と自転車ステーションは、移動の両端から800 m以内を検索します。
- 名前はまず MBTA と Bluebikes の駅に照合し、その後、OpenStreetMap を使ってボストン広域圏内でジオコーディングします。曖昧な名前は誤った場所に解決されることがあります。解決先は常に結果に表示されます。
データとクレジット
- MBTA のデータは、MassDOT Developers License Agreement に基づくMBTA V3 APIから取得しています。bostonmove は MBTA と提携しておらず、MBTA の承認も受けていません。
- Bluebikes のデータは、Bluebikes データライセンスに基づく公開GBFS フィードから取得しています。Bluebikes または Lyft とは提携していません。
- 場所の検索にはOpenStreetMap Nominatimを使用しています。データ © OpenStreetMap の貢献者(ODbL)。検索は利用ポリシーに従い、1秒あたり最大1回、識別可能な User-Agent の使用、検索結果の30日間のキャッシュを行います。
駅一覧、路線の停留所順、ジオコーディング済みの場所など、変更頻度の低いデータは~/.cache/bostonmoveに1日間ディスクキャッシュされます(保存先を変更するにはBOSTONMOVE_CACHE_DIRを設定し、無効にするにはBOSTONMOVE_NO_CACHE=1を設定します)。リアルタイムデータは1分未満の間、メモリにキャッシュされます。
開発
uv sync
uv run pytest # offline: replays recorded real responses with the clock frozen
uv run pytest -m live # against the real APIs
uv run python tests/record_fixtures.py # re-record the fixtures
MIT ライセンス。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。