Berlin Transport MCP Server
柏林传输 MCP 服务器
一个 MCP 服务器,通过 VBB(柏林-勃兰登堡交通协会)API 提供对柏林公共交通数据的访问。该服务器封装了v6.vbb.transport.rest API。
可用工具
1. 搜索停止点
搜索柏林-勃兰登堡的公共交通站点。
参数:
query(字符串):搜索站点的查询
2. 获取出发信息
获取特定站点即将出发的列车。
参数:
stop_id(字符串):获取出发站点的 IDresults(数字,可选):要返回的结果数
3. 获取旅程
获取从一站到另一站的旅程选项。
参数:
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-authless自定义您的 MCP 服务器
要将您自己的工具添加到 MCP 服务器,请在src/index.ts的init()方法中使用this.server.tool(...)定义每个工具。
连接到 Cloudflare AI Playground
您可以从 Cloudflare AI Playground(一个远程 MCP 客户端)连接到您的 MCP 服务器:
输入您部署的 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-