MCP server to fetch Bing Image of the Day from peapix.com
The server defines 2 tools with minimal but present descriptions and schemas. Tool names follow the verb_noun pattern (get_bing_image, get_latest_bing_image), which is good. However, descriptions are terse (under 100 chars each), parameter descriptions are missing entirely, and output schemas are not documented. No error handling guidance is provided, errors return bare JSON objects without recovery hints. The tools accept string parameters (country, date) with weak validation hints in descriptions only. Parameter constraints (2-letter country code, YYYY-MM-DD date format) are mentioned in descriptions but not enforced via schema enums or regex patterns. Output is returned as stringified JSON rather than structured objects with typed fields, forcing the LLM to parse unstructured text. No pagination, batching, or composition support. This is typical of a minimalist read-only MCP server, functional but lacking production-grade polish.
Fetch the Bing image of the day for a country (2-letter code) and date (YYYY-MM-DD).
Fetch the latest Bing image of the day for a country (2-letter code).
Parameter descriptions missing: 'country' and 'date' have no descriptions in input schema, forcing LLMs to guess parameter semantics from names alone
Constraint enforcement via description only: country code format (2-letter) and date format (YYYY-MM-DD) are stated in descriptions but not enforced in schema via enum or regex pattern, reducing machine parseability
Output schema not documented: tools return JSON strings with untyped fields (title, image_url, description, full_description, page_url, error). No schema definition tells the LLM what to expect or how to extract values
Error responses lack recovery guidance: errors return bare error strings (e.g. 'Date must be in YYYY-MM-DD format') without suggesting what to do next or how to fix the input
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Tool descriptions under 100 characters: 'Fetch the Bing image of the day for a country (2-letter code) and date (YYYY-MM-DD)' leaves ambiguity about what data is returned and when to call this tool vs the other variant
Stringified JSON output instead of structured response: tools return json.dumps() of a dict, forcing the LLM to parse and deserialize unstructured text rather than receiving typed fields