Berlin Transport MCP Server
ベルリン交通局MCPサーバー
VBB(ベルリン・ブランデンブルク交通連合)APIを通じてベルリンの公共交通データへのアクセスを提供するMCPサーバー。このサーバーはv6.vbb.transport.rest APIをラップしています。
利用可能なツール
1. 検索停止
ベルリン・ブランデンブルクの公共交通機関の停留所を検索します。
パラメータ:
query(文字列): 停留所の検索クエリ
2. get_departures
特定の停留所の今後の出発情報を取得します。
パラメータ:
stop_id(文字列): 出発情報を取得する停留所IDresults(数値、オプション):返される結果の数
3. get_journeys
ある停留所から別の停留所までの旅程オプションを取得します。
パラメータ:
from(文字列): 出発地停留所IDto(文字列): 目的地の停留所IDdeparture(文字列、オプション): 出発時刻(例:明日午後2時)results(数値、オプション):返される結果の数
Related MCP server: BVG MCP Server
Claude DesktopをMCPサーバーに接続する
mcp-remote プロキシを使用して、ローカル MCP クライアントからリモート MCP サーバーに接続することもできます。
Claude Desktop から MCP サーバーに接続するには、 Anthropic のクイックスタートに従い、Claude Desktop 内で [設定] > [開発] > [構成の編集] に移動します。
次の構成で更新します。
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": [
"mcp-remote",
"https://berlin-transport.mcp-tools.app/sse" // or if local http://localhost:8787/sse
]
}
}
}Claude を再起動すると、ツールが利用可能になるはずです。
APIドキュメント
基礎となる API の詳細については、 v6.vbb.transport.rest/getting-started.htmlをご覧ください。
始めましょう:
これにより、MCP サーバーが次のような URL にデプロイされます: remote-mcp-server-authless.<your-account>.workers.dev/sse
あるいは、以下のコマンド ラインを使用して、ローカル マシンにリモート MCP サーバーを作成することもできます。
npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authlessMCPサーバーのカスタマイズ
独自のツールを MCP サーバーに追加するには、 this.server.tool(...)を使用してsrc/index.tsのinit()メソッド内で各ツールを定義します。
Cloudflare AI Playgroundに接続する
リモート MCP クライアントである Cloudflare AI Playground から MCP サーバーに接続できます。
https://playground.ai.cloudflare.com/にアクセスしてください
デプロイされた MCP サーバーの URL を入力します (
remote-mcp-server-authless.<your-account>.workers.dev/sse)MCP ツールをプレイグラウンドから直接使用できるようになりました。
Available Tools
3 toolsget_departuresD
| Name | Required | Description | Default |
|---|---|---|---|
| stop_id | Yes | Stop ID to get departures for | |
| results | No | Number of results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_journeysD
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes | Origin stop ID | |
| to | Yes | Destination stop ID | |
| departure | No | Departure time (e.g. tomorrow 2pm) | |
| results | No | Number of results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stopsD
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for stops |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_departures - First observed
get_journeys - First observed
search_stops
TDQS
Scored across 3 tools
The three tools have distinct purposes: get_departures likely retrieves departure times, get_journeys handles route planning, and search_stops finds stops or stations. While there is some potential overlap between get_departures and get_journeys (both involve travel information), the names suggest clear enough separation for an agent to differentiate them effectively.
All tool names follow a consistent verb_noun pattern with snake_case: get_departures, get_journeys, and search_stops. This uniformity makes the tool set predictable and easy to understand, with no deviations in naming style.
With only 3 tools, the server feels thin for a transport domain that typically requires more operations like route details, fare information, or service alerts. While it covers basic functions, the count is borderline low for comprehensive transport-related tasks.
The tool set has significant gaps for a transport server. It lacks essential operations such as getting route details, checking fares, accessing service status or alerts, and managing user preferences. This incomplete coverage will likely cause agent failures when handling common transport queries beyond basic departure and journey lookups.
Maintenance
Related MCP Connectors
Journeys, departures, line courses, disruptions in Germany; nearby sharing as currently reported.
Read-only public transit departures, stop search, and city coverage for bus and train users.
Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs.
Swiss Transport MCP — wraps Transport Open Data API (free, no auth)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time access to Paris public transport data (métro, RER, bus, tram, Transilien) including live departure times and traffic disruptions through the IDFM PRIM API.2MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for interacting with the Berlin Public Transport (BVG) API to search for locations and plan journeys. It provides real-time access to departures, arrivals, trip details, and vehicle tracking within Berlin's transit network.MIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time Dutch Railways (NS) data for journey planning, live departures, disruptions, and station search.3-
- FlicenseNot gradedqualityCmaintenanceProvides unified access to Deutsche Bahn APIs for real-time railway data, station information, timetables, disruptions, parking, and accessibility services.21-