Skip to main content
Glama
harshil1712

Berlin Transport MCP Server

by harshil1712

get_journeys

Plan public transport journeys in Berlin by specifying origin, destination, and departure time. Retrieve multiple route options using the Berlin Transport MCP Server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
departureNoDeparture time (e.g. tomorrow 2pm)
fromYesOrigin stop ID
resultsNoNumber of results to return
toYesDestination stop ID

Implementation Reference

  • The handler function for the 'get_journeys' tool. It builds a URL for the VBB journeys endpoint with provided parameters (from, to, departure, results), fetches the data, and returns it as a JSON-formatted text content.
    async ({ from, to, departure, results }) => { const url = new URL("/journeys", VBB_API_BASE); url.searchParams.set("from", from); url.searchParams.set("to", to); if (departure) { url.searchParams.set("departure", departure); } if (results) { url.searchParams.set("results", String(results)); } const response = await fetch(url); const data = await response.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
  • Zod input schema defining parameters for the 'get_journeys' tool: from (stop ID), to (stop ID), optional departure time, and optional number of results.
    { from: z.string().describe("Origin stop ID"), to: z.string().describe("Destination stop ID"), departure: z .string() .optional() .describe("Departure time (e.g. tomorrow 2pm)"), results: z.number().optional().describe("Number of results to return"), },
  • src/index.ts:57-85 (registration)
    Registration of the 'get_journeys' tool on the MCP server using server.tool(name, inputSchema, handler).
    this.server.tool( "get_journeys", { from: z.string().describe("Origin stop ID"), to: z.string().describe("Destination stop ID"), departure: z .string() .optional() .describe("Departure time (e.g. tomorrow 2pm)"), results: z.number().optional().describe("Number of results to return"), }, async ({ from, to, departure, results }) => { const url = new URL("/journeys", VBB_API_BASE); url.searchParams.set("from", from); url.searchParams.set("to", to); if (departure) { url.searchParams.set("departure", departure); } if (results) { url.searchParams.set("results", String(results)); } const response = await fetch(url); const data = await response.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; } );

Other Tools

Related Tools

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/harshil1712/berlin-transport-mcp'

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