Skip to main content
Glama
mirodn

mcp-server-public-transport

mcp-server-public-transport

ヨーロッパ全域のリアルタイム公共交通機関データを提供するMCPサーバー。

概要

mcp-server-public-transportは、Model Context Protocol (MCP)互換のローカルサーバーで、ヨーロッパ全域の公共交通機関データへのアクセスを提供します。 現在、イギリス、スイス、ノルウェー、ベルギー、およびベルリン/ブランデンブルクのAPIを統合しており、列車の接続情報、リアルタイムの出発情報、バスの現在地などを取得できます。

Related MCP server: Berlin Transport MCP Server

機能実装状況

対応国

APIベースURL

ステータス

イギリス

https://transportapi.com

スイス

https://transport.opendata.ch

ベルギー

https://api.irail.be

ノルウェー

https://api.entur.io

ベルリン/ブランデンブルク

https://v6.vbb.transport.rest

国別の機能

機能

APIパス

ステータス

イギリス

リアルタイム出発情報

/uk/train/station_timetables/{station_code}.json

スイス

接続検索

/connections

駅検索

/locations

出発ボード

/stationboard

近隣の駅

/locations?x={lon}&y={lat}

ベルギー

リアルタイム出発情報

/departures

駅検索

/stations

近隣の駅

/stations/nearby

ノルウェー

場所検索

/geocoder/v1/autocomplete

リアルタイム出発情報

GraphQL: stopPlace(id) { estimatedCalls(...) }

旅行計画

GraphQL: trip(from, to, dateTime, numTripPatterns, ...)

最寄りの停留所

GraphQL: nearest(latitude, longitude, maximumDistance, ...)

ベルリン/ブランデンブルク

場所検索

/locations

リアルタイム出発情報

/stops/:id/departures

リアルタイム到着情報

/stops/:id/arrivals

旅行計画

/journeys

近隣の駅

/locations/nearby

セットアップ

環境変数

以下の環境変数を設定してください:

UK_TRANSPORT_APP_ID=your_uk_app_id
UK_TRANSPORT_API_KEY=your_uk_api_key

Claude Desktopでの使用

claude_desktop_config.jsonに追加してください:

{
  "mcpServers": {
    "mcp-server-public-transport": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp-server-public-transport",
        "run",
        "server.py"
      ],
      "env": {
        "UK_TRANSPORT_APP_ID": "your-uk-app-id",
        "UK_TRANSPORT_API_KEY": "your-uk-api-key"
      }
    }
  }
}

/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-server-public-transportを、リポジトリをクローンした実際のパスに置き換えてください。

注:コマンドフィールドには、uv実行ファイルのフルパスを指定する必要がある場合があります。これは、MacOS/Linuxではwhich uv、Windowsではwhere uvを実行することで取得できます。

開発

開発環境の構築

  1. リポジトリのクローン

git clone https://github.com/mirodn/mcp-server-public-transport.git
cd mcp-server-public-transport
  1. 依存関係のインストール

uv sync
  1. 環境変数の設定

cp .env.example .env
  1. サーバーの実行

uv run server.py

テストの実行

このプロジェクトではテストにpytestを使用しており、以下のコマンドが利用可能です:

# Run all tests
make test

コード品質

# Run linting
make lint

# Run code formatting
make format

継続的インテグレーション

このプロジェクトには、GitHub Actionsワークフロー(.github/workflows/test.yml)が含まれており、自動的に以下を行います:

  • Python 3.10、3.11、3.12でのテスト実行

  • ruffを使用したリンティングチェックの実行

  • mainブランチへのすべてのプッシュおよびプルリクエストで実行

CIパイプラインにより、変更がマージされる前に、サポートされているすべてのPythonバージョンでコードの品質と互換性が保証されます。

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

パッケージは、pyproject.tomlproject.versionが更新されると、自動的にPyPIにデプロイされます。 バージョニングにはセマンティックバージョニング(semver)に従ってください。

ライセンス

MIT License

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mirodn/mcp-server-public-transport'

If you have feedback or need assistance with the MCP directory API, please join our Discord server