rossbus — buses across Russia
Server Details
Buses across Russia: routes, prices, departure times, stations, transfers, price-per-km index
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- xpressmike/rossbus-mcp
- GitHub Stars
- 0
- Server Listing
- rossbus-mcp
Available Tools
8 toolscheapest_destinationsКуда уехать дёшевоAInspect
Направления из города по возрастанию цены билета, при желании — в пределах бюджета («куда уехать из Казани до 1000 ₽»). С ценой километра каждого варианта.
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes | Город: русское название («Москва») или слаг (moskva) | |
| limit | No | ||
| max_price_rub | No | Бюджет в рублях |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, so the description carries the full burden. It discloses sorting behavior, the optional budget filter, and the inclusion of price per kilometer. However, it does not mention limit defaults, output format, or error behavior, leaving a moderate transparency gap.
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, compact sentence with an illustrative example. It front-loads the core behavior and avoids unnecessary details, though it could arguably be a bit more structured.
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 three-parameter tool with no output schema, the description covers the primary return values: destinations, ticket prices, and price per kilometer. Missing details such as the default result limit and whether max_price_rub is inclusive are minor but prevent a perfect score.
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?
The schema already describes 'from' and 'max_price_rub'. The description adds context for these by restating the budget filter and giving an example, but the 'limit' parameter has no schema description and is also not explained in the tool description. With 67% schema coverage, this leaves a noticeable gap.
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 states that the tool returns destinations from a city ordered by ascending ticket price, optionally within a budget, and includes price per kilometer. It identifies the resource and operation well, though it uses a noun phrase rather than an explicit imperative verb. It is distinct enough from siblings like get_route and search_routes.
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?
The description provides a concrete example ('куда уехать из Казани до 1000 ₽'), which clearly suggests when to use the tool: when the user wants cheap destinations from a city, possibly under a budget. It does not explicitly exclude alternatives, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
city_departuresТабло отправлений городаCInspect
Первое/последнее отправление и число рейсов по каждому направлению (по расписанию партнёра).
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | Город: русское название («Москва») или слаг (moskva) | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only adds a data-source note ('according to the partner's schedule') but does not disclose limit behavior, ordering, date range, default values, or failure modes.
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 one concise sentence with no redundant words. The core data fields are front-loaded, and the partner-schedule qualifier is supplementary. It is appropriately sized for the tool's simplicity.
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 two-parameter tool, the description and schema identify the required city parameter and the general output, but gaps remain: the meaning of 'limit', the time period covered, and the output structure are unspecified. Since there is no output schema, these omissions matter. Overall, it is minimally adequate but not complete.
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 50%; only 'city' is described in the schema. The description adds no explanation for the 'limit' parameter, its effect on returned directions, or its default value. The description does not compensate for the undocumented parameter.
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 states the output content: first/last departure and number of trips per direction, which identifies the tool's specific resource. It distinguishes this from siblings like search_routes and find_transfer, though it lacks an explicit verb, relying on a noun phrase.
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?
No guidance is provided on when to use this tool versus alternatives. It does not mention sibling tools, exclusions, or typical use cases, leaving the agent to infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_transferМаршрут с пересадкойAInspect
Когда прямого автобуса нет: самый дешёвый вариант через один пересадочный город, с ценами обоих плеч.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Город: русское название («Москва») или слаг (moskva) | |
| from | Yes | Город: русское название («Москва») или слаг (moskva) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that the tool computes the cheapest option through one transfer city and includes prices for both legs. However, it does not describe output format, pagination, or behavior when no transfer route is available.
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 tight sentence that front-loads the usage condition and clearly states the result. Every word contributes value, with no repetition of the title or schema.
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?
Given the absence of an output schema, the description does well by specifying the result type: cheapest option via one transfer city with prices for both legs. It could be more complete by indicating what happens when no transfer route exists, but it is sufficient for a simple two-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%: both parameters are described identically in the schema as city names or slugs. The tool description adds no parameter-specific meaning beyond that, so the baseline score of 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 states the tool finds the cheapest route via one transfer city with prices for both legs, specifically for cases when no direct bus exists. This distinguishes it from direct-route and destination-ranking siblings like search_routes and cheapest_destinations.
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?
The opening phrase 'Когда прямого автобуса нет' gives a clear condition for when this tool is appropriate. It does not name alternatives explicitly, but the context makes the intended usage obvious relative to direct-route tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_distanceРасстояние между городамиBInspect
Километры по автомобильной дороге (OSRM) и время на машине; есть ли прямой автобус.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Город: русское название («Москва») или слаг (moskva) | |
| from | Yes | Город: русское название («Москва») или слаг (moskva) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It usefully specifies the data source (OSRM), the metric types (road distance and car time), and the bus-availability check. Still, it does not mention return shape, units, potential failure behavior, or that this is a safe read-only operation.
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, dense sentence that states all main outputs without filler. Every part contributes to understanding what the tool computes.
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 two-string-parameter tool, the description covers the core returned values — distance, driving time, and direct bus existence. It lacks explicit detail on units and result format, and there is no output schema to compensate, so the completeness is good but not perfect.
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% — both 'from' and 'to' are already documented as Russian city names or slugs. The description adds no additional parameter meaning, so the baseline of 3 is appropriate.
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 lists what the tool returns — road kilometers via OSRM, driving time, and direct bus availability — making its function easily understood. The title 'Расстояние между городами' reinforces the scope. However, it is a noun phrase rather than an explicit verb statement and does not name how it differs from siblings like get_route or search_routes.
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?
No guidance is given on when to use this tool versus its siblings. With tools like get_route, find_transfer, and search_routes nearby, the description does not help an agent select between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_routeМаршрут между городамиAInspect
Цены, число рейсов в продаже, времена отправления, станции, перевозчики и ссылка на покупку у партнёра. Только реальные данные; если прямых рейсов нет — предложит пересадку.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Город: русское название («Москва») или слаг (moskva) | |
| date | No | YYYY-MM-DD; прошедшая или пустая → завтра | |
| from | Yes | Город: русское название («Москва») или слаг (moskva) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses two genuine traits: it returns only real data and it will offer a transfer when no direct route exists. However, it does not cover error behavior, rate limits, response structure, or how the transfer suggestion is represented, leaving notable gaps.
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 two sentences, each carrying distinct value: the first enumerates return fields, the second adds the real-data guarantee and transfer fallback. It is front-loaded, concise, and free of filler.
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 tool with no output schema and no annotations, the description lists the types of information returned and the fallback behavior, but it does not describe the response format, how transfers are structured, or how edge cases are handled. Parameter coverage is excellent in the schema, but the overall context has moderate gaps.
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?
The input schema already describes all three parameters fully, including accepted formats and the default date behavior. The description adds no parameter-specific meaning beyond what the schema states, so the baseline score of 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 lists concrete outputs—prices, number of tickets on sale, departure times, stations, carriers, and a partner purchase link—making the tool's purpose clear. It lacks an explicit verb like 'search' or 'fetch' and does not explicitly differentiate from siblings such as search_routes or find_transfer beyond the fallback mention, so it does not fully earn 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?
The description implies this tool is for retrieving real route data between cities and notes that if no direct flights exist it will propose a connection. However, it never explicitly states when to prefer this tool over alternatives like find_transfer or search_routes, nor does it provide exclusions. Usage is therefore only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stationАвтовокзалы городаCInspect
Названия автовокзалов и автостанций города из данных партнёра.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | Город: русское название («Москва») или слаг (moskva) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose behavioral traits. It only explains the data source ('from partner data') and that the output is names; it does not describe response shape, behavior for unknown cities, ordering, or completeness. This is minimal behavioral context.
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 short phrase with no wasted words and is easy to scan. However, it is phrased as a noun phrase rather than a complete sentence, and an explicit verb would improve clarity without adding length.
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 one-parameter tool the description is mostly adequate: it states the input city and the data returned. But with no output schema, the agent is left to guess whether the result is a plain list of strings or a richer structure that could feed sibling tools like city_departures.
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?
The single parameter 'city' has a complete schema description, including examples of Russian names and slugs. The tool description adds no additional meaning for this parameter, so the baseline of 3 for high schema coverage is appropriate.
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 indicates the tool returns names of bus stations and bus terminals in a city, which is specific enough to understand the resource and purpose. It does not use an explicit verb like 'возвращает' and does not explicitly distinguish itself from 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?
No guidance is given about when to use this tool versus alternatives such as city_departures or search_routes. The context of needing station names is implied by the description, but no explicit when/when-not or alternative selection is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_per_km_statsИндекс цены километраAInspect
Сколько стоит километр на автобусе: медиана по России, самые дешёвые и дорогие регионы; с параметром region — медиана и место конкретного региона.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Название региона по-русски («Татарстан») или слаг |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the disclosure burden. It does explain the two behavioral modes: aggregate results without region, and regional median/rank with region. It does not disclose output format, units, or behavior for unknown or invalid regions, so transparency is adequate but incomplete.
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 one front-loaded sentence stating the core metric, the default output, and the parameterized variant with no redundant wording.
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 low-complexity tool with one optional fully documented parameter and no output schema, the description covers both invocation modes and the kind of result returned. It lacks only minor details such as exact return format or the number of regions shown, which do not block 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?
The schema already documents that region accepts a Russian name or slug. The description adds meaningful semantics by explaining that supplying region changes the result from nationwide aggregate to the specific region's median and rank, going beyond what the schema provides.
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 (price per kilometer by bus in Russia) and the expected outputs: nationwide median, cheapest and most expensive regions, and with a region parameter the regional median and rank. It does not explicitly contrast it with sibling tools such as cheapest_destinations, so it is clear but lacks explicit sibling differentiation.
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?
The description implies when to use the tool: when bus price-per-kilometer statistics are needed, either for the whole country or for a specific region. However, it gives no explicit when-not-to-use guidance or alternatives to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_routesКуда можно уехать из городаCInspect
Список направлений из города с ценой «от», числом рейсов и километражем.
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes | Город: русское название («Москва») или слаг (moskva) | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the result fields (price 'from', number of departures, mileage) but says nothing about ordering, pagination, limit behavior, or error handling. For a tool without annotations, this is a limited disclosure.
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, compact sentence that directly states the resource and key output fields. It is front-loaded with 'Список направлений из города' and has no filler, though it could benefit from a second sentence about usage.
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 and no annotations, the description is too thin for an agent to fully understand return format, limit application, or when to select this tool over siblings. The listed fields partly cover output expectations, but the context around invocation and selection is missing.
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 only 50% (only 'from' has a description). The tool description adds no extra meaning for the 'limit' parameter and does not clarify its semantics. It implicitly ties 'from city' to the 'from' parameter but does not compensate for the undocumented limit.
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?
Description states a clear object: 'Список направлений из города' with specific result fields (price from, number of departures, mileage). It is not a tautology and conveys what the tool returns, though it does not explicitly differentiate it from sibling tools like cheapest_destinations or get_route.
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?
No guidance is given about when to use this tool versus alternatives. It does not mention that it lists general directions, which could be confused with sibling tools like cheapest_destinations or city_departures, and no exclusions or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search and analytics for Russian public procurement (44-FZ/223-FZ): tenders, contracts, market data
Lviv public transport MCP: stops, timetables, routes, and live vehicle positions. No API key.
Ad marketplace: search Telegram/VK/Max channels by topic, geo, price; reach, ER, CPV stats.
Plan journeys by train, bus, tram, metro and ferry across 42 European countries.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLive 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
- AlicenseAqualityCmaintenanceReal-time train, bus, ferry and private transfer prices between 40+ Italian cities4MIT
- AlicenseNot gradedqualityBmaintenanceRead-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.511MIT
- FlicenseNot gradedqualityDmaintenanceMCP server providing real-time public transport data for Tomsk, including routes, schedules, stops with lazy OSM enrichment, nearby stop search, and a routing prompt for LLMs.
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Several tools overlap: search_routes and cheapest_destinations both list destinations from a city with price information, and city_departures/get_route both touch schedule details. The other tools are more distinct, but the listing-style tools create some ambiguity despite helpful descriptions.
Five tools follow a clear verb_noun pattern (get_distance, get_route, get_station, find_transfer, search_routes), but cheapest_destinations, city_departures, and price_per_km_stats are descriptive noun phrases. The naming is readable and consistently snake_case, but the verb convention is not uniform.
Eight tools is well-scoped for a bus travel information server. Each tool contributes a meaningful capability around routes, pricing, transfers, stations, or statistics, without feeling bloated or overly thin.
The set covers the core traveler workflow: searching routes, finding cheap options, getting detailed schedules, handling transfers, checking distances, looking up stations, and comparing price statistics. Minor gaps exist, such as no arrival-focused query or direct city-pair comparison beyond route lookup, but they are workable.