16 tools with consistent verb-noun naming (check-, search-, get-, create-, process-, cancel-, confirm-, renew-). All tools have descriptions (avg 95 chars, within baseline 34-392). Input schemas present for all tools using Zod with type definitions. However, output schemas are NOT documented, responses are formatted via formatMcpSuccess/formatMcpError but the structure is not declared in tool definitions. Parameter descriptions are present but often minimal (e.g., 'Order ID from create-order response' lacks format/constraint details). Error handling returns formatted errors but lacks recovery guidance or categorization (retryable vs fatal). No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Missing idempotency guidance for sensitive operations like cancel-order and payment processing.
Cancel an existing order (check eligibility first with check-cancel-eligibility)
Check if an order can be cancelled and get cancellation/refund information
Check if a customer has an existing Findeks credit report (required for some car rentals)
Check the health status of the Yolcu360 API service
Confirm the Findeks PIN received via SMS to complete credit verification
Create a new rental car order with passenger details and optional extras
Output schemas not documented. Tools return formatMcpSuccess/formatMcpError but response structure is not declared in tool definitions. LLMs cannot plan downstream calls or extract required fields (e.g., searchID from search-cars needed by get-car-extras).
Tool annotations missing. 16 tools have explicit risk levels (READ_ONLY, WRITE, DESTRUCTIVE) but no readOnlyHint/destructiveHint/idempotentHint annotations in schema. Agents cannot distinguish safe vs destructive operations (cancel-order, process-payment).
Error handling lacks recovery guidance. formatMcpError returns errors but does not categorize as retryable/user-fixable/fatal or suggest next steps. E.g., 'Order not found' should suggest check-cancel-eligibility or get-order.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Generate a Findeks credit report for the customer (sends SMS PIN to selected phone)
Get available extra products (insurance, GPS, child seat, etc.) for a specific car from search results
Get customer registered phone numbers for Findeks SMS verification
Get available installment options for a credit card based on BIN number
Get detailed information about a specific location including coordinates
Get details of an existing order by order ID
Process payment for an order using credit card or agency credit limit
Request a new Findeks PIN if the original expired or was not received
Search for available rental cars by location coordinates, dates, and preferences
Search for rental car pickup/dropoff locations by name, city, or airport code
Parameter descriptions lack format/constraint details. E.g., 'Order ID from create-order response' does not specify format (UUID, alphanumeric, length). 'Phone number in E.164 format' is good, but most params lack such specificity.
No confirmation/dry-run for destructive operations. cancel-order and process-payment are irreversible but lack a confirmation step or dry-run mode. Agents can accidentally cancel valid orders or charge wrong amounts.