Skip to main content
Glama

Server Details

Quote and book fixed-price rides in Addis Ababa, search the BinaSmart directory and Ethiopia guides

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

10 tools
cancel_rideCancel a rideA
DestructiveIdempotent
Inspect

Cancels a BinaSmart ride that has not started yet. Confirm with the user first. Needs the ride id and the rider phone used to book.

ParametersJSON Schema
NameRequiredDescriptionDefault
ride_idYes
rider_phoneYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the cancellation behavior is expected. The description adds valuable context beyond annotations: the ride must not have started, and confirmation with the user is required before invoking the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each carrying distinct information: what the tool cancels, the precondition, the confirmation requirement, and the required inputs. No filler or repetition of the tool name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter cancellation tool with destructive and idempotent annotations already supplied, the description covers the necessary invocation details: target ride, precondition, confirmation step, and required inputs. It does not describe the result/response format, but no output schema exists and the action is straightforwardly conveyed by the verb.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It identifies both required parameters and adds meaning to rider_phone as 'the rider phone used to book.' However, it does not elaborate on ride_id or provide format/usage details beyond what the schema's min/max lengths already state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Cancels'), a specific resource ('a BinaSmart ride'), and a clear precondition ('has not started yet'). This distinguishes it from sibling tools like request_ride, quote_ride, and get_ride_status without needing to inspect their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: only cancel rides that have not started, and confirm with the user first. It does not explicitly name alternative tools or state when not to use it, but the precondition and confirmation requirement provide solid operational guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ethiopia_guideDigital Ethiopia guideA
Read-only
Inspect

BinaSmart's bilingual (Amharic + English) step-by-step guides to Ethiopian government and banking services: Fayda ID, telebirr, CBE Birr, e-Passport, eVisa, TIN, business licence, VAT/TOT, customs, driving licence, car import, Yellow Card, bank account, birth/marriage certificate, utility bills, Labor ID and LMIS registration and the COC occupational competency certificate (Overseas Employment Proclamation 1389/2025), rental agreements, tenant screening. Call with no slug to list guides; call with a slug for the full text. The guides hold the correct official names and links — prefer them over guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoGuide slug from the list, e.g. tin-registration-ethiopia

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes that this is a safe read operation, and the description adds meaningful behavior beyond that: the no-slug versus slug call modes, the bilingual nature of the guides, and the fact that they contain official names and links. This is useful, transparent context for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average because it enumerates the covered services, but that enumeration is valuable for an agent deciding whether this tool applies. The operational instructions come at the end and are clear, though the long list could be slightly restructured for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description fully covers what the agent needs: what the guide contains, when to use it, how to request the list versus full text, and why the content is authoritative. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the single optional 'slug' parameter with an example, and the description reinforces its semantic by explaining that omitting it lists guides while providing it fetches the full text. This adds practical meaning to the schema at 100% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (BinaSmart's bilingual guides to Ethiopian government and banking services) and a specific verb ('Call'). It also states two distinct behaviors: listing guides with no slug and retrieving full text with a slug, which makes the tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains when to use the tool: to access step-by-step guides for official Ethiopian services, and how to choose between the list and full-text modes. It also advises preferring these guides over guessing. It does not explicitly name alternatives or exclusions, but no close sibling tool exists in the provided list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hospital_departmentsHospital departments and slotsA
Read-only
Inspect

Departments of a hospital listed on BinaSmart with consultation fee (ETB), doctors, hours, floor/room and appointment slots left for a date. Use the slug from search_places (is_hospital = true).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD (default today)
slugYesHospital slug from search_places

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful behavioral context about what the tool returns per date and the required provenance of the slug. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single information-dense sentence. It front-loads the resource and output contents, then gives the input routing instruction. Every part earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only listing tool with only two parameters, the description is complete enough: it names the input source, the optional date dimension, and the output fields. The schema provides the date pattern and default, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces that slug should be a hospital slug from search_places with is_hospital=true, but it does not materially add to the schema's existing parameter documentation for date format or default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (hospital departments on BinaSmart) and enumerates the returned data: consultation fee in ETB, doctors, hours, floor/room, and appointment slots left for a date. This clearly distinguishes it from sibling tools like get_hotel_rooms and search_places.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit usage context: the slug must come from search_places with is_hospital = true, and the date is the target for slot availability. It does not explicitly name alternatives or state when not to use the tool, but the intended trigger is clear from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hotel_roomsHotel rooms and pricesA
Read-only
Inspect

Room types, nightly prices (ETB), capacity and amenities for a hotel listed on BinaSmart. Use the slug from search_places (is_hotel = true).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesHotel slug from search_places

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so this is a safe read operation. The description adds useful context about the returned content (room types, prices, capacity, amenities) but does not disclose additional behavioral traits such as error handling or empty-result behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both informative and free of filler. The description front-loads the tool's output scope and then provides the input prerequisite, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool with a 100%-covered schema, the description is nearly complete: it states what data is returned and how to obtain the required slug. The lack of an output schema is partially compensated by the explicit list of data categories, though the exact response shape remains unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, slug, has full schema-description coverage ('Hotel slug from search_places'), and the tool description repeats this same guidance. Since the schema already documents the parameter adequately, the description adds no semantic value beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (hotel listed on BinaSmart) and the data returned: room types, nightly prices in ETB, capacity, and amenities. It lacks an explicit verb like 'retrieve' or 'list' and does not explicitly differentiate itself from sibling tools, but the content is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit context on how to invoke the tool: use the slug from search_places with is_hotel = true. It provides a clear prerequisite but does not state when not to use it or name alternatives, so it falls short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ride_statusRide statusA
Read-only
Inspect

Current status of a BinaSmart ride (dispatching, assigned, arriving, arrived, ontrip, completed, cancelled) with driver name, vehicle and plate once assigned. Needs the ride id and the rider phone used to book.

ParametersJSON Schema
NameRequiredDescriptionDefault
ride_idYes
rider_phoneYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds useful behavioral detail: the set of possible ride statuses and the conditional availability of driver/vehicle/plate data only after assignment. This is meaningful context beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact sentences with no filler. It front-loads the core purpose and status list, then immediately states the required inputs, making every sentence useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description appropriately names the returned data categories: status, driver name, vehicle, and plate. It also communicates the conditional nature of some fields. It could mention error behavior or real-time freshness, but for a simple read-only lookup tool it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the semantic weight. It explains that rider_phone is the phone used to book and that ride_id is needed alongside it, which adds meaning the schema alone does not convey, though it could go further in describing expected formats or relationship between the two.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation as retrieving the current status of a BinaSmart ride and enumerates the possible statuses. It also specifies that driver name, vehicle, and plate are included once assigned, which makes the tool's purpose distinct from siblings like cancel_ride or request_ride.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear that this tool is for checking a ride's current status and states the required identifying information: ride id and rider phone used to book. It does not explicitly contrast with alternatives, but the read-only status vocabulary and required parameters provide clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_eventsUpcoming eventsA
Read-only
Inspect

Upcoming films, concerts, theatre and events on BinaSmart in Addis Ababa with venue, hall, start time, prices per tier and seats left. Seats are chosen and paid at the url returned (Chapa or at the counter); the ticket is a QR code.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, but the description goes further by explaining that seats are selected and paid at a returned URL, payment can be via Chapa or at the counter, and the ticket is a QR code. This adds meaningful behavioral context beyond the annotations and clearly signals that booking/payment is not performed by this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The first sentence front-loads scope and returned fields, and the second explains the follow-up payment/ticketing flow. Every clause adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only listing tool, the description is complete: it names the domain, location, and returned fields, and describes the downstream booking flow. Even without an output schema, an agent can confidently invoke the tool and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4; there is no parameter information for the description to add. The description focuses on output content and behavior, which is appropriate since no parameters exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (events on BinaSmart in Addis Ababa) and the returned details (venue, hall, start time, prices per tier, seats left). It is not phrased as an explicit verb statement like 'List...', but the tool name and content make the purpose unmistakable. It does not explicitly distinguish itself from the sibling list_films.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: for upcoming events in Addis Ababa. However, it provides no explicit comparison with alternatives such as list_films, and there is no guidance on when not to use it. Usage context is clear but must be 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.

list_filmsAmharic films to watch onlineA
Read-only
Inspect

Licensed Amharic (Ethiopian) films that can be watched online on BinaSmart Watch (bina.et/watch): title in Amharic and English, year, genre, whether it is free or rented for 48 hours (ETB), and the watch url. Free titles are public YouTube releases played through the YouTube player; rentals need Chapa. Optional search by title or genre.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax films, default 20
queryNoTitle (Amharic or English) or genre to filter by; omit for the latest films

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only. The description goes beyond this by explaining that free titles are YouTube releases played through the YouTube player and rentals require Chapa, plus the 48-hour rental window. This gives an agent useful context about watch access without contradicting the readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the resource and output fields, then adds access behavior and search capability. The first sentence is somewhat dense but remains readable and appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description explicitly lists the returned fields (title in Amharic and English, year, genre, price, watch URL). It also covers the free vs rental access model. It could mention limit/pagination behavior, but for a simple list tool this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with limit and query both described. The description's mention of 'optional search by title or genre' mirrors the query parameter, adding no new semantics. Baseline 3 is appropriate since the schema already documents the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: it returns licensed Amharic films watchable online on BinaSmart Watch, including specific fields (title, year, genre, free/rental status, watch URL). The resource and scope are unambiguous, and the tool is clearly distinct from the ride, place, event, and hospital siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: this tool is for discovering Amharic films on BinaSmart Watch, with optional filtering by title or genre. It does not explicitly name alternative tools or when not to use it, but no sibling offers film listing, so the intended usage is effectively communicated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quote_rideQuote a BinaSmart rideA
Read-only
Inspect

Fixed upfront price for a ride inside Addis Ababa, Ethiopia — no surge, cash or telebirr/Chapa. Returns distance, ETA and the fare for every vehicle tier (moto, bajaj, economy, comfort, XL). Call this before request_ride and read the fare to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
pickupYesPickup: a place name in Addis Ababa (e.g. "Edna Mall", "Bole Airport", "Piassa") or "lat,lng" like "9.0108,38.7578".
dropoffYesDrop-off: a place name in Addis Ababa (e.g. "Edna Mall", "Bole Airport", "Piassa") or "lat,lng" like "9.0108,38.7578".

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool read-only. The description adds behavioral context: fixed upfront pricing, no surge, accepted payment methods (cash/telebirr/Chapa), and a defined return payload. This goes beyond the schema without contradicting the readOnlyHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences front-load the core purpose, then list return fields and workflow. There is no filler; every sentence adds decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description names exactly what is returned (distance, ETA, fare per tier), making the call outcome predictable. It also gives the critical sequencing context with request_ride and the geographic scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both pickup and dropoff fully documented including examples. The description adds only scope ('inside Addis Ababa') already present in the schema, so it adds little beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (quote a ride) and result: fixed upfront price, distance, ETA, and per-tier fares for a ride in Addis Ababa. The mention of 'before request_ride' also distinguishes it from the booking sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to 'Call this before request_ride and read the fare to the user,' which establishes the correct workflow. It does not spell out when not to use it or name alternative tools besides request_ride, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_rideBook a BinaSmart rideA
Idempotent
Inspect

Books a ride in Addis Ababa at the fixed fare from quote_ride. ALWAYS confirm pickup, drop-off, tier, fare and the rider's Ethiopian phone number with the user before calling. A dispatcher assigns a driver; the rider is contacted on the phone given. Returns the ride id and a live tracking link. To book for someone else (e.g. a relative in Addis while you are abroad), pass passenger_name and passenger_phone; rider_name/rider_phone are then the booker and may be a foreign number.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierYesVehicle tier from quote_ride
pickupYesPickup: a place name in Addis Ababa (e.g. "Edna Mall", "Bole Airport", "Piassa") or "lat,lng" like "9.0108,38.7578". Prefer the pickup_coords from quote_ride.
dropoffYesDrop-off: a place name in Addis Ababa (e.g. "Edna Mall", "Bole Airport", "Piassa") or "lat,lng" like "9.0108,38.7578". Prefer the dropoff_coords from quote_ride.
rider_nameYesRider's name (or the booker's name when booking for someone else)
rider_phoneYesEthiopian mobile: 09XXXXXXXX or +2519XXXXXXXX (any number if booking for someone else)
passenger_nameNoBook for someone else: the passenger's name (the driver calls the passenger)
payment_methodNocash (default) or chapa (telebirr/card link)
passenger_phoneNoBook for someone else: the passenger's Ethiopian mobile (09… or +2519…)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses behaviors beyond the annotations: a dispatcher assigns a driver, the rider is contacted on the provided phone, the tool returns a ride id and live tracking link, and it clarifies third-party booking semantics. The idempotentHint is not contradicted, since the description does not claim each call creates a brand-new unique ride.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three focused sentences: purpose, required confirmation, and booking-for-others behavior. Important information is front-loaded, and no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema, the description covers the essential context: return value (ride id and tracking link), the required pre-call confirmation, the relationship to quote_ride, and the passenger/rider distinction. Nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaning by explaining that passenger_name/passenger_phone are used when booking for someone else and that rider_name/rider_phone become the booker in that case, which is not fully obvious from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Books a ride in Addis Ababa at the fixed fare from quote_ride.' This clearly distinguishes the tool from siblings like quote_ride and get_ride_status by stating the action and its relation to the quoting flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong usage guidance: it mandates confirming pickup, drop-off, tier, fare, and rider phone before calling, and it explains the passenger_name/passenger_phone case for booking on behalf of someone else. It does not explicitly name alternatives like quote_ride or get_ride_status, but the prerequisite relationship to quote_ride is clearly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_placesSearch the BinaSmart directoryA
Read-only
Inspect

Find buildings, hotels, hospitals and shops in Addis Ababa listed on BinaSmart (bina.et): cafés, restaurants, pharmacies, banks, gyms, salons, clinics, offices. Returns names (English + Amharic), building and unit, phone for shops, coordinates when known (usable as pickup/dropoff for quote_ride), and the bina.et page. Hotels and hospitals are flagged — use get_hotel_rooms / get_hospital_departments for details.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results per kind (default 8)
queryYesName or part of a name, English or Amharic
categoryNoShop category filter: cafe | restaurant | pharmacy | retail | service | gym | salon | clinic | bank | office | other

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite readOnlyHint=true and openWorldHint=false annotations, the description adds substantial behavioral detail: exact return fields, English + Amharic names, phone only for shops, coordinates 'when known', and flagging of hotels/hospitals. Since there is no output schema, this output-shape disclosure is especially valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler: scope is front-loaded, return fields are enumerated compactly, and sibling routing is given last. Every clause contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with no output schema, the description covers scope, return values, caveats like 'when known', and routing to specialized sibling tools. The input parameters are fully documented in the schema, and the description fills the output-side gap completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents query, limit, and category semantics, including category enum values and limit bounds/default. The description does not add parameter-specific meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Find' and names the exact resource: buildings, hotels, hospitals and shops in Addis Ababa listed on BinaSmart. It also lists concrete example place types and return fields, making the tool's scope unmistakable and differentiating it from siblings like get_hotel_rooms and get_hospital_departments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says that hotels and hospitals are flagged and that get_hotel_rooms / get_hospital_departments should be used for their details. It also explains that coordinates are usable as pickup/dropoff for quote_ride, giving the agent clear routing to sibling tools.

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. Dates show when Glama detected each change.

  1. 10 tool updates
    • First observedcancel_ride
    • First observedget_ethiopia_guide
    • First observedget_hospital_departments
    • First observedget_hotel_rooms
    • First observedget_ride_status
    • First observedlist_events
    • First observedlist_films
    • First observedquote_ride
    • First observedrequest_ride
    • First observedsearch_places

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct action and resource: ride tools cleanly split quoting, booking, status, and cancellation; list_events and list_films are clearly separated between in-person events and online films; search_places points to dedicated hotel/hospital detail tools. No two tools have overlapping responsibilities.

Naming Consistency4/5

All names are lowercase snake_case with a leading verb and a domain object, which makes the pattern predictable. There are minor inconsistencies: read operations mix list_ and get_, and get_ethiopia_guide is singular despite being able to return a collection of guides when called without a slug.

Tool Count5/5

10 tools is well-scoped for a multi-vertical consumer platform. Each tool earns its place by covering a necessary step in ride booking, place discovery, entertainment listings, or guide access, with no redundant additions.

Completeness4/5

The ride lifecycle is well covered with quote, request, status, and cancel, and search_places feeds cleanly into hotel and hospital detail tools. Minor gaps exist for generic non-hotel/hospital place details and for transactional booking/rental actions, but those are partially handled via returned external URLs.

Resources