busik.ch – Minibusfahrten Ukraine, Deutschland, Schweiz
Server Details
Search minibus trips between Ukraine, Germany and Switzerland. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools have distinct roles: get_routes_for_city is for discovery from/to a city without a date, search_trips is for date-specific route searches, and get_trip_details fetches details of a specific trip. There is slight overlap between the first two (both surface trips), but the descriptions clarify when to use each.
All names use snake_case with a verb-first pattern (get_routes_for_city, get_trip_details, search_trips). The only minor deviation is the switch from get_ to search_ and the verbose 'for_city' suffix, but the style remains predictable and readable.
Three tools is a lean but suitable surface for a search-focused server where booking and payment happen externally via a provided URL. Each tool covers a distinct step (browse, search, inspect details) without redundancy.
The toolset covers the core passenger journey: discovering routes, searching trips on a date, and viewing full trip details including boarding points and booking links. Minor gaps like no date-range search or seat availability exist, but agents can work around them.
Available Tools
3 toolsget_routes_for_cityRoutes for a cityARead-onlyIdempotentInspect
List the connections that currently have upcoming trips from and/or to a city, with the next departure. Use this to answer 'Where can I go from Lviv?' before searching a specific date.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name, e.g. 'Kyiv', 'Zürich'. | |
| language | No | Language for city and stop names: 'de' German (default) or 'uk' Ukrainian. | |
| direction | No | Connections FROM the city, TO the city, or both. Default 'both'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety burden is lifted. The description adds real context beyond them: results are limited to connections with *upcoming* trips and include the next departure, which tells the agent the result set is time-filtered. It does not mention ordering or result-size limits.
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?
One sentence of behavior followed by one sentence of usage, both front-loaded and free of padding. Every clause earns its place.
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?
With no output schema, the description must speak to return content, and it does ('connections... with the next departure'). Combined with the usage framing, an agent has enough to call it correctly; minor gaps are ordering and any result caps, which would matter for a list endpoint.
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?
Schema description coverage is 100%, with enums fully documented for direction and language, so the schema carries the parameter burden. The description's 'from and/or to' phrasing loosely mirrors the direction parameter but adds no syntax or default information beyond it, making 3 the correct baseline.
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?
States a specific verb and resource ('List the connections... from and/or to a city') plus a scope qualifier ('currently have upcoming trips', 'with the next departure'). It implicitly separates itself from search_trips by framing itself as the pre-date-search discovery step, so an agent can route without opening a schema.
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?
Explicitly gives the use case ('Where can I go from Lviv?') and a sequencing rule ('before searching a specific date'), which is clear when-to-use guidance. It stops short of naming the alternative tool (search_trips) outright, so the routing is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trip_detailsTrip detailsARead-onlyIdempotentInspect
Details of one trip found with search_trips: all stops with times (boarding points, breaks, border crossing), luggage allowance, payment method and the booking link.
| Name | Required | Description | Default |
|---|---|---|---|
| trip_id | Yes | The trip_id from search_trips, e.g. '17-0-5'. | |
| language | No | Language for city and stop names: 'de' German (default) or 'uk' Ukrainian. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds useful detail about the returned content (stops, times, luggage allowance, payment method, booking link), which is meaningful beyond annotations, though it omits any mention of permissions or rate limits.
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?
The description is a single front-loaded sentence that packs all relevant return details without any filler. Every element earns its place.
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?
For a simple read-only tool with complete schema coverage, rich annotations, and no output schema, the description adequately describes both the purpose and the returned fields. No critical information is missing for correct invocation.
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?
Schema description coverage is 100%, so both parameters are fully documented in the schema. The description adds only the source of trip_id ('from search_trips') and does not elaborate on the language parameter, so baseline 3 applies.
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?
The description clearly identifies the resource as one trip's details and explicitly relates it to search_trips, distinguishing it from sibling tools. It is specific about the returned content (stops, times, luggage, payment, booking link), though it lacks an explicit imperative verb.
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?
It states the trip is 'found with search_trips', which gives clear context for when to use it after searching. However, it does not explicitly state when not to use it or contrast with get_routes_for_city.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tripsSearch bus tripsARead-onlyIdempotentInspect
Search minibus trips offered on busik.ch between two cities on a given travel date. busik.ch connects passengers with independent drivers and small bus operators between Ukraine, Germany and Switzerland (also via Poland, Austria, Czechia). Trips may stop in between; a search also finds the part of a longer trip. Prices are per person. Booking is done by the passenger on busik.ch via booking_url; payment is made directly to the driver. If a city is unknown or ambiguous, the result lists candidates to ask about.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Arrival city, e.g. 'Zurich', 'München', 'Berlin', 'Київ'. | |
| date | Yes | Travel date (local date at the departure city), ISO 8601, e.g. '2026-10-15'. | |
| from | Yes | Departure city, e.g. 'Lviv', 'Kyiv', 'Zürich', 'Львів'. | |
| seats | No | Number of seats needed. Default 1. | |
| language | No | Language for city and stop names: 'de' German (default) or 'uk' Ukrainian. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly/idempotent/openWorld=false), the description discloses genuinely useful behavior: trips may stop in between and partial legs of longer trips are matched, prices are per person, booking happens off-tool via booking_url with payment direct to the driver, and ambiguous city names produce candidate lists. This is exactly the context an agent needs to interpret and act on results.
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?
Front-loaded with the core action, then layered with geography, partial-trip matching, pricing/booking, and ambiguity handling. All sentences carry information, though the geography parenthesis and booking-flow sentence could be trimmed without losing callable guidance.
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?
With no output schema, the description partly compensates by noting that ambiguous cities return candidate options and that trips include intermediate stops. It still does not sketch what a normal result contains (e.g., departure times, price fields), which is the remaining gap for a 5-parameter search tool.
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?
Schema coverage is 100%, so all five parameters (from, to, date, seats, language) are already documented in the schema, and the baseline for high coverage is 3. The description adds only marginal parameter meaning ('prices are per person', partial-leg matching) and nothing about seat availability or how language affects results beyond the schema's own text.
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?
States a specific verb and resource ('Search minibus trips offered on busik.ch between two cities on a given travel date') with clear scope (geography, date-bound). It is easy to distinguish from get_trip_details and get_routes_for_city by name and content, but the description never explicitly names or contrasts those siblings, so it stops short of a 5.
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?
Usage is implied rather than stated: an agent can infer 'use this when you know origin, destination and date.' However, there is no explicit when-not-to-use guidance or routing to get_routes_for_city (for browsing a city's connections) or get_trip_details (for a chosen trip), which the agent must infer on its own.
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_routes_for_city - First observed
get_trip_details - First observed
search_trips
Related MCP Connectors
Journeys, departures, line courses, disruptions in Germany; nearby sharing as currently reported.
Search public procurement notices from 17 sources across Germany, the EU and the UK. Read-only.
Travel search: 1.3M hotels and apartments, owner homes, tours, flights, taxi, car rental.
Lviv public transport MCP: stops, timetables, routes, and live vehicle positions. No API key.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLive intercity bus-trip search across Ukraine and Europe — real-time prices, seats, carriers, cheapest-day-of-month calendar, and trip details with passenger discounts. Read-only, no API key; also available as a hosted remote endpoint at https://mcp.soloway.com.ua/mcp.MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying real intercity bus data across Russia, including routes, prices, departure times, stations, transfers, road distances, and a price-per-km index, with ticket purchase links handed off to human buyers.MIT
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server that queries Russian Railways (ticket.rzd.ru) for train schedules, car types, prices, and seat availability. It provides official RZD links for manual booking but does not log in, book, or pay.44 npm2MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only access to Kleinanzeigen.de listings, including compact search, listing details, availability checks, and route calculations with optional distance and driving information.-
Glama MCP Gateway
Add one secure layer between your agents and this server.