Nara Market (G2B) FastMCP 2.0 server with OpenAPI integration for Korean government procurement APIs
This server has significant definition quality gaps despite attempting comprehensive tool coverage. Of 7 tools, only 3 have descriptions that reach the 20-character minimum (crawl_list, get_detailed_attributes, server_info). The 4 Korean-language tools (call_public_data_standard_api, call_procurement_statistics_api, call_product_list_api, call_shopping_mall_api) have descriptions but they are primarily API operation names without actionable context for LLM tool selection. Input schemas are present and well-structured with type definitions and parameter descriptions, but the shallow tool descriptions and lack of output schema documentation are critical gaps. Tool naming follows verb_noun convention (crawl_, get_, call_) which is good, but there is no evidence of error handling guidance, field-level output schemas, or composition guidance for multi-step procurement workflows.
공공조달통계정보서비스 API 호출 (14개 오퍼레이션 지원)
물품목록정보서비스 API 호출 (12개 오퍼레이션 지원)
공공데이터개방표준서비스 API 호출. Operations: getDataSetOpnStdBidPblancInfo (입찰공고), getDataSetOpnStdScsbidInfo (낙찰), getDataSetOpnStdCntrctInfo (계약)
쇼핑몰상품정보서비스 API 호출 (다수공급자계약 품목정보 조회 등)
Fetch product list for a category from Nara Market API
Get detailed product attributes from G2B API
Four tools use generic 'call_' prefix instead of action verbs (get_, search_, list_) that signal intent. LLMs cannot infer what each 'call_*' tool does without reading the full description, increasing selection errors.
No output schema documented for any tool. LLMs cannot plan downstream tool calls or extract necessary fields without knowing the response structure. This violates pattern:tool and pattern:response-shaper, increasing context waste and reasoning errors.
get_detailed_attributes input schema declares 'api_item' as object type but provides no nested schema. LLMs cannot validate what fields are required within api_item, leading to malformed calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 52 | - | v1 |
Get server status and available tools list
Four tools (call_public_data_standard_api, call_procurement_statistics_api, call_product_list_api, call_shopping_mall_api) have descriptions primarily in Korean with minimal English context. English-language LLMs cannot determine when to invoke these tools or what results to expect.
No error handling guidance visible. Tools do not indicate retryable vs. fatal errors, or what the LLM should do if a call fails (e.g., 'API quota exceeded, try again in 1 hour'). Violates pattern:recovery-guide.
Pagination parameters (page_no, num_rows) present in crawl_list and other tools, but no documentation of maximum page size, total result count behavior, or next_cursor semantics. LLMs cannot determine safe pagination strategies.