MCP server for searching, inspecting, and downloading game assets from Kenney.nl
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (search_, inspect_, download_) which is good. However, parameter descriptions are minimal (e.g., 'Asset URL or slug' lacks format/constraint details), and output schemas are not formally documented. Error handling exists but lacks recovery guidance. The server uses dcc-mcp-core framework which abstracts tool registration, making direct schema verification difficult from source code alone.
Download a Kenney asset by URL or slug to a specified output directory
Inspect a Kenney asset by URL or slug to get metadata including download URL and license information
Search Kenney assets by query and pagination
Output schemas not documented. Tools return structured dicts (asset, asset_descriptor) but LLMs cannot see what fields to expect. Missing documentation of return types violates pattern:tool baseline (100% of A+ tools document return types).
Parameter descriptions lack format constraints and validation rules. 'Asset URL or slug' does not specify format (e.g., 'https://kenney.nl/assets/SLUG or SLUG alone'). 'output_dir' lacks path validation guidance. Violates pattern:constrained-input and review:param-validation-rules.
Error handling lacks recovery guidance. skill_exception() returns generic 'Failed to X' messages without actionable next steps. Per pattern:recovery-guide, errors should tell LLM what to do: 'Asset not found. Try search_kenney_assets() to find available assets.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
search_kenney_assets accepts optional 'query' parameter but description does not explain filtering behavior (client-side substring match vs server-side). Violates pattern:tool-description baseline (100% of A+ tools have complete docstrings).
download_kenney_asset lacks idempotency documentation. If called twice with same asset_url_or_slug and output_dir, does it overwrite or error? Per pattern:idempotent-operation, agents retry on failure, non-idempotent tools risk duplicate downloads.