An MCP server that converts images to Family Guy animated character style using Google Gemini AI image generation
This MCP server has critical definition quality gaps. Tool naming is inconsistent and does not follow verb_noun conventions well. The 'validate' tool is vague and its description (20 chars) is at the lower bound. The 'convertToFamilyGuy' tool has a decent description (152 chars, within the 10-1024 baseline) but the parameter naming contains a typo ('puch_image_data' instead of 'push_image_data'), and the schema lacks proper documentation of format/constraints. Parameter descriptions exist but are minimal. Output schemas are not documented, it is unclear what structure the agent receives back from these tools. Error handling is present but generic (returns Error strings without categorization or recovery guidance). No input validation constraints (e.g., file size, image dimensions) are enforced or documented.
Convert an image to Family Guy character style using AI image generation. Takes a base64-encoded image and returns a Family Guy style version.
Returns the phone number in plain text if the user is authenticated.
Tool naming does not follow verb_noun convention. 'validate' and 'convertToFamilyGuy' lack clear action verbs that describe the outcome. LLMs struggle to infer tool purpose from these names alone.
The 'validate' tool description is only 20 characters (just at the lower bound). It does not explain WHEN to call this tool, what it returns besides 'phone number', or what authentication means in this context. Description should be 50-200 chars with context about prerequisites and use case.
Parameter 'puch_image_data' appears to be a typo ('puch' instead of 'push' or perhaps 'input'). This violates naming conventions and confuses agents about parameter semantics.
Output schemas are not documented. The tools return imageContent() buffer and MY_NUMBER string, but the agent does not know the structure of responses in advance. LLMs cannot plan downstream actions without documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Parameter constraints are missing or undocumented. 'puch_image_data' has no documented format (data URI? raw base64? size limits?). 'characterName' has no description. 'numberOfImages' has min/max in schema but no format hints in description.
Error responses are generic ('No image was generated', 'Failed to convert image'). They do not tell the LLM what to do next, whether the error is retryable, or how to provide better input. Error messages should include recovery guidance.
Security risk: MCP_SECRET_TOKEN is injected as a bearer token check, but the 'validate' tool returns MY_NUMBER directly without additional access control. If a token is leaked, an attacker gains access to sensitive phone data. No audit trail or rate limiting is present.
The 'convertToFamilyGuy' tool calls genAI twice when numberOfImages > 1 but does not actually generate multiple images, it makes the same call twice and returns the first result. Logic error: the second call is unreachable or duplicative.