MCP server: convert between emoji characters and shortcodes, with metadata.
Three simple, read-only tools with basic schemas and minimal descriptions. All tools have input schemas with proper types and required fields. Descriptions are present but generic (10 - 50 chars), below the 50 - 200 char baseline for LLM-optimized descriptions. No parameter descriptions provided, LLMs cannot infer what 'text' or 'input' means without context. No output schema documentation. Error handling is present but generic ('emoji tool failed'). Tools follow verb_noun naming (from_shortcode, to_shortcode, info) but 'info' is vague, does not clearly convey 'get_emoji_metadata' or similar. No tool annotations (readOnlyHint, etc.). Composition is sound, each tool does one thing. No security concerns (read-only, no secrets). Overall: functional but below production baseline.
Replace `:name:` shortcodes with emoji characters.
Return shortcode (if any) and Unicode code points for an emoji character.
Replace emoji characters with `:name:` shortcodes.
Parameter descriptions missing. 'text' and 'input' parameters lack descriptions explaining what they accept (plain text, emoji, shortcodes, mixed). LLMs cannot infer intent from names alone.
Tool descriptions are too short (10 - 50 chars, below 50 - 200 char baseline). 'Replace `:name:` shortcodes with emoji characters' lacks context on when to use this vs to_shortcode, what happens to unknown shortcodes, or what the output format is.
Output schema not documented. Callers cannot see that 'info' returns {input, shortcode, codepoints} structure. LLMs must infer output shape from trial and error.
Tool name 'info' is vague. Does not start with action verb (get_, describe_, etc.). 'get_emoji_info' or 'describe_emoji' would be clearer and help LLMs disambiguate from other discovery tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No tool annotations. Tools lack readOnlyHint (all are read-only), which helps agents understand safety and retry semantics. Current spec supports tool annotations, should be adopted.