An MCP server that exposes Gradio interfaces as MCP tools, enabling sentiment analysis via TextBlob
Single tool with minimal definition quality. Tool name 'sentiment_analysis' lacks action verb prefix (should be 'analyze_sentiment'). Description is adequate (56 chars) but generic. Input schema present with basic type but parameter description is minimal ('Text to Analyze.', 16 chars, below 20-char threshold). No output schema documented despite tool returning structured JSON. No error handling guidance. No parameter constraints or validation hints. Tool does not follow verb_noun naming convention baseline (90% of A+ tools start with action verb).
Analyze the sentiment of the given text
Tool name lacks action verb prefix. 'sentiment_analysis' should be 'analyze_sentiment' to match verb_noun convention and help LLMs infer intent from name alone.
Parameter description 'Text to Analyze.' is only 16 characters, below 20-char minimum. Lacks format guidance, constraints, or examples of valid input (e.g., 'Plain text string, 1-5000 characters. Supports English text.').
Output schema not documented. Tool returns JSON with 'polarity', 'subjectivity', 'assessment' fields, but LLM has no schema to parse response structure. Must document return type and field descriptions.
No error handling or recovery guidance. Tool will fail silently on empty input, non-string input, or extremely long text. No error messages to guide LLM retry or fallback.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
No input validation constraints. Parameter accepts unbounded string with no length limits, encoding hints, or language restrictions. LLM may pass binary data, URLs, or non-text content.