MCP server for Test Full Deploy 1772170610 API with HTTP 402 payment protocol support
The server provides 3 tools with basic HTTP integration, but has significant definition quality gaps. Tool names are descriptive but verbose and not idiomatic (do not follow verb_noun pattern). Descriptions are present and reasonably detailed (100-200 chars range), meeting minimum baseline. However, input schemas are incomplete: parameters lack explicit type constraints, some lack descriptions, and output schemas are not documented. The server implements @require_payment_for_tool decorators but the payment configuration is incomplete in the visible code (description cut off mid-sentence). No error handling guidance is visible. The codebase shows incomplete tool implementation stubs ('Tool implementations will be added here by endpoint_implementer_crew'), indicating this is a template rather than a fully realized server.
A long weekend is calculated based on public holidays that create an extended break of at least three consecutive days. Optional bridge days-weekdays between a holiday and a weekend-can be included to identify potential extended leave opportunities.
This endpoint returns all countries for which public-holiday data is available. Each entry includes the country's name and ISO code.
Provide a valid `ISO 3166-1 alpha-2` country code to retrieve country metadata. The response includes commonly used and official country names, the assigned region, and if available neighboring countries based on geographical borders.
Tool names do not follow verb_noun pattern. All three tools use descriptive phrases ('retrieves_detailed_information_about_a_specific_country', 'retrieve_the_complete_list_of_all_countries_supported_by_the_nagerdate_api', 'retrieve_all_long_weekends_for_a_given_country_and_year') instead of concise action verbs like 'get_country_info', 'list_countries', 'get_long_weekends'. Verbose names waste tokens and make LLM tool selection harder.
Input parameter 'countryCode' lacks type constraint and enum validation. It accepts string with default 'us', but no validation that it is exactly 2 uppercase letters per ISO 3166-1 alpha-2 spec. LLM may pass invalid codes like 'usa' or 'united states'. Should specify: type='string', pattern='^[A-Z]{2}$', description should include format requirement.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 14 | - | v1 |
Output schemas are not documented. The visible source does not show what fields each tool returns, their types, or structure. LLMs cannot plan downstream calls or extract required fields (e.g., neighboring countries from country info, long weekend dates). All three tools missing explicit 'Returns:' documentation with field schema.
@require_payment_for_tool decorator on first tool has incomplete description (cut off: '...description="Provide a valid...'). Payment configuration is partially visible but the price structure (TokenAmount, TokenAsset) lacks clear per-request cost documentation. Second and third tools have no visible @require_payment_for_tool decorator despite payment middleware being active.
No error handling guidance visible. Tools call external API (https://date.nager.at) without documented error recovery steps. What happens if country code is invalid? If API times out? If API returns 500? No recovery guidance shown in descriptions or implementation stubs.
Optional parameter 'subdivisionCode' on third tool lacks description of when/why to use it. Description says 'where supported' but does not explain which countries support subdivisions or format of subdivision codes (e.g., 'US-CA' for California?). LLM cannot determine validity without this info.
Implementation stubs present: server.py contains comment 'Tool implementations will be added here by endpoint_implementer_crew'. The visible code does not include actual tool logic beyond decorator boilerplate. The function bodies are incomplete (requests.get call shown but response handling cut off). This indicates server is not production-ready.