The iblipper-agent server defines 2 tools with basic but incomplete quality. Tool names follow verb_noun convention (generate_url, render_gif_file), which is good. However, descriptions lack depth and fail to explain when/why to use each tool over alternatives. Parameter schemas are present with type definitions and defaults, but descriptions are sparse and several critical parameters lack guidance on valid values. Output schemas are not documented. Error handling is absent, no guidance on what happens when animation generation fails or when the GIF render times out. The STDIO-only transport is a hard constraint that caps protocol readiness at 50, making this unsuitable for production hosted agents.
Generate a kinetic typography animation URL for a message. Args: message: The text to animate. Keep it short (1-5 words) for maximum impact. emotion: The animation style. Options: - 'neutral': Clean, professional - 'emphatic': Bold, important (default) - 'hurry': Urgent, italic - 'excited': Bouncy, incorrect - 'playful': Fun, casual - 'idyllic': Slow, peaceful - 'question': Curious dark: Use dark mode (True) or light mode (False). Dark mode is recommended. pwa: If True, returns a 'web+iblipper:...' protocol string to open the PWA directly. Only use this if you know the user has the iBlipper PWA installed. gif: If True, returns a URL to generate/download a GIF of the animation. aspect: Aspect ratio (e.g., "16:9", "1:1").
Renders an iBlipper animation to a local GIF file. Args: message: The text content output_filename: The local filename to save (e.g., 'animation.gif') emotion: The emotional tone dark: Whether to use dark mode width: Output width height: Output height Returns: The text indicating success.
No output schema documentation. Neither tool documents what fields are returned or their types. LLMs cannot infer downstream data extraction or chaining.
Parameter 'emotion' accepts string but lacks enum constraint. Description lists valid options in prose ('neutral', 'emphatic', etc.) instead of JSON Schema enum. LLMs may hallucinate invalid values like 'angry' or 'sad'.
Parameter 'aspect' in generate_url lacks validation guidance. Description says 'e.g., "16:9", "1:1"' but does not specify what aspect ratios are valid, whether custom ratios are supported, or what happens with invalid input.
Tool descriptions do not explain error conditions or recovery. No mention of what happens if message is empty, if the animation service is down, or if GIF rendering times out. Agents cannot plan error recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
render_gif_file accepts 'output_filename' as a string with no path validation. No mention of directory traversal prevention, file permission checks, or overwrite behavior. This is a WRITE tool and must document safety constraints.
generate_url description is verbose (222 chars) but poorly prioritized. It spends tokens on emotion enum details in prose instead of returning them as structured schema. The pwa parameter is poorly explained, 'Only use this if you know the user has the iBlipper PWA installed' is vague and pushes responsibility to the LLM to know client state.
No distinction between tools. Both generate_url and render_gif_file create animations but serve different purposes (URL vs local file). Descriptions do not clarify when to use one vs the other or how they compose.