mcpField
B
bostonmove

bostonmove

ローカル
github.com/Srikarmk地図・旅行01 週間前に更新

bostonmove について

bostonmoveは、ボストンの移動向けの読み取り専用CLIおよびMCPサーバーです。MBTAの運行情報、Bluebikesの空き状況、移動案をローカルエージェントに提供します。

主な機能

  1. 01MBTAの発車時刻と運行アラート
  2. 02Bluebikesの自転車・ドック状況
  3. 03近くの交通機関と自転車ステーション検索
  4. 04徒歩・自転車・公共交通の経路計画
  5. 05出典と時刻付きのJSON出力

活用シーン

  1. 01次の発車時刻と停留所のアラート確認
  2. 02近くの自転車、電動自転車、空きドックの検索
  3. 03ボストン内の移動案の比較

MCP 対応

MCPサーバーは、発車時刻、アラート、自転車の空き状況、近隣ステーション、経路計画の5つのツールを公開します。MCPクライアントはMBTAとBluebikesの公開ライブデータを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"srikarmk-bostonmove": {
"command": "uvx",
"args": [
"bostonmove"
],
"env": {
"MBTA_API_KEY": "<MBTA_API_KEY>"
}
}
}
}
起動コマンドuvx bostonmove
設定が必要な環境変数
MBTA_API_KEYシークレットOptional free MBTA V3 API key (api-v3.mbta.com): 1,000 requests a minute instead of 20.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibostonmove0.1.1

ツール

5

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
placestringはい駅名または停留所名、MBTA 停留所 ID、ボストン広域圏の住所またはランドマーク、あるいは 'lat,lon'。
radius_mintegerいいえ検索半径(メートル)。

詳細

bostonmove

CI PyPI Python MCP registry License

リアルタイムの公共データを使ってボストンを移動できます。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_departuresbostonmove next "Park Street" [--route Red]停留所での路線別・方向別の次の発車時刻:MBTAが予測時刻を提供している場合はリアルタイム情報、それ以外は時刻表、およびその停留所のアラート
service_alertsbostonmove alerts [--route Orange] [--stop X]現在発生している遅延、運休、代替バス、迂回、閉鎖を重大度の高い順に表示
bike_availabilitybostonmove bikes "Kendall" [--need bike|ebike|dock]自転車、電動自転車、空きドックがある最寄りのBluebikesステーション
find_nearbybostonmove near "Fenway Park"場所の近くにあるMBTAの駅と停留所、およびBluebikesステーション
plan_tripbostonmove 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 ライセンス。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。