MCP server for BiznisWeb e-shop GraphQL API
The BiznisWeb MCP server exposes 16 read-only tools for a GraphQL-backed e-shop API. Tool naming is verb-driven and clear (list_*, get_*), which is excellent. However, descriptions are consistently terse (10-50 chars), parameter documentation is sparse, and output schemas are entirely absent from the visible code. Parameter types are declared in JSON Schema but lack inline descriptions for what each parameter controls. Error handling is not visible in the provided source. The tool definitions are directly registered (not inferred), so full credit is possible on structure, but the description and schema documentation deficits are severe.
Get detailed information about a specific product category
Get detailed information about a specific invoice
Get detailed information about a specific order
Get detailed information about a specific product
Get detailed information about a specific warehouse item
List companies (supplier/partner companies)
List available currencies
Output schemas are entirely absent. No tool documents what fields it returns, making it impossible for LLMs to plan downstream calls or extract the right data.
Parameter descriptions are absent or generic. Most parameters lack inline explanations of what they control, what values are valid, or how they affect results. LLMs cannot infer parameter meaning from names alone.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
List available delivery/shipping methods
List invoices with optional filtering
List available order statuses
List orders with optional date filtering
List available payment methods
List products with optional filtering
List warehouse items with optional recent stock updates filtering
List available warehouse item statuses
Get order statistics for a date range
Tool descriptions are terse and generic. 10 of 16 tools have descriptions under 50 chars or use boilerplate language ('Get detailed information', 'List available'). Descriptions do not explain when or why to use the tool vs similar ones, making tool selection ambiguous.
Pagination and result limits are not documented. Tools like list_orders accept a 'limit' parameter with a default of 30, but the tool description does not mention pagination, the pageInfo structure, or how to retrieve subsequent results.
Error handling is not visible. No tool provides recovery guidance, retryability hints, or actionable error messages. If a query fails or a resource is not found, the LLM will have no path forward.
list_currencies has an empty input schema and a 24-char description. Both fall below minimum quality thresholds.
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only, but this is not explicitly declared. Tool annotations help agents understand resource safety and retry behavior.