Shorten any URL to a clean kool.ink link from your terminal. Free, unlimited, no signup. AI-agent ready.
Single tool 'shorten' has a basic description and input schema, but critical gaps prevent production use. Description is adequate (58 chars) but lacks WHEN to use it, prerequisites, or what it returns. Input schema exists with type and description, but output schema is completely undocumented, LLMs cannot plan downstream actions. No error handling guidance, no parameter constraints (URL format validation happens server-side, not declared), and no mention of rate limits or API dependencies. Tool is read-only but lacks explicit idempotent annotation. The implementation shows good defensive coding (URL validation, self-shortening prevention) but none of this is surfaced in the tool definition for LLM reasoning.
Shorten a URL to a clean kool.ink link
Output schema completely undocumented. LLMs cannot know what fields the response contains or plan downstream tool calls. No mention of return type, structure, or fields.
Tool description lacks WHEN to use it and what it returns. Current description (58 chars) only states WHAT it does. Should include: 'Returns a shortened kool.ink URL string. Use when you need to share long URLs in constrained spaces (chat, SMS, social media).'
No error handling guidance. Tool can fail (invalid URL, API error, rate limit) but description provides no recovery hints. Should document: 'Returns error if URL is invalid, already a kool.ink link, or API is unavailable. Retry with exponential backoff on API errors.'
No idempotent annotation. Tool is read-only and safe to retry, but lacks explicit idempotentHint in schema. LLMs cannot distinguish this from destructive operations without it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
URL parameter lacks format constraint. Description says 'must be valid http or https URL' but no regex pattern or format declaration in schema. LLMs may pass invalid URLs; server-side validation is not visible to the agent.