Berlin Transport MCP Server
Берлинский транспортный сервер MCP
Сервер MCP, который обеспечивает доступ к данным общественного транспорта Берлина через API VBB (Verkehrsverbund Berlin-Brandenburg). Этот сервер является оболочкой API v6.vbb.transport.rest .
Доступные инструменты
1. остановки_поиска
Поиск остановок общественного транспорта в Берлине-Бранденбурге.
Параметры:
query(строка): Поисковый запрос для остановок
2. получить_отправления
Получите информацию о предстоящих отправлениях для определенной остановки.
Параметры:
stop_id(строка): идентификатор остановки для получения отправленийresults(число, необязательно): количество возвращаемых результатов
3. получить_путешествия
Получите варианты проезда от одной остановки до другой.
Параметры:
from(строка): Идентификатор исходной остановкиto(строка): Идентификатор остановки назначенияdeparture(строка, необязательно): Время отправления (например, «завтра в 14:00»)results(число, необязательно): количество возвращаемых результатов
Related MCP server: BVG MCP Server
Подключите Claude Desktop к вашему серверу MCP
Вы также можете подключиться к удаленному серверу MCP с локальных клиентов MCP, используя прокси-сервер mcp-remote .
Чтобы подключиться к серверу MCP из Claude Desktop, следуйте краткому руководству 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-authlessНастройка вашего MCP-сервера
Чтобы добавить собственные инструменты на сервер MCP, определите каждый инструмент внутри метода init() src/index.ts с помощью this.server.tool(...) .
Подключитесь к Cloudflare AI Playground
Вы можете подключиться к своему серверу MCP из Cloudflare AI Playground, который является удаленным клиентом MCP:
Перейдите по ссылке https://playground.ai.cloudflare.com/
Введите URL-адрес развернутого сервера MCP (
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-