An MCP server for a conversational AI waifu character using a text queue and GPU. Provides asynchronous AI text generation using Redis queues with support for multiple AI providers (OpenRouter and Google Gemini).
Single tool with minimal schema and weak description. The generate_text tool has a basic description (64 chars) that lacks actionable context for LLM tool selection. Input schema is minimal, only a 'prompt' parameter with a generic string type and no constraints, enums, format guidance, or validation rules. No output schema is documented, forcing LLMs to infer what fields to expect from the response (only a job_id is returned, but this is not formally declared). Error handling is absent, no guidance on retryability, failure modes, or recovery paths. The tool modifies state (enqueues jobs) but the description does not explicitly state this. Parameter descriptions are too generic. No resource descriptions visible in the provided code. The server exposes a 'job://{job_id}' resource but the get_job_status function lacks a formal schema definition for JobStatusResponse, we can infer it has 'status' and 'result' fields from the import, but the actual schema structure is not visible in the source code provided.
Generates text based on a prompt, using a Redis queue.
Output schema not documented. Tool returns {job_id: ...} but LLMs have no formal declaration of return structure, forcing inference from context.
Input parameter lacks constraints. 'prompt' is a bare string with no length limits, format guidance, or validation rules. Unbounded string parameters invite invalid input from LLMs.
Tool description (64 chars) does not explain when to use it vs alternatives, what prerequisites exist, or what the return value contains. LLMs cannot determine tool selection confidence.
State modification not declared. Description does not explicitly state that this tool enqueues asynchronous jobs (side effect). Agents need to know which calls are safe to retry.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 27 | - | v1 |
No error handling or recovery guidance. No documentation of what errors can occur (missing Redis, queue full, API failures) or what the LLM should do if the tool fails.
Resource schema not visible. 'job://{job_id}' resource exists but JobStatusResponse structure is only imported, never defined or documented in provided source.