MCP server exposing NovelAI image generation as tools for AI agents
11 tools with complete schemas and descriptions, but significant quality gaps. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and input schemas with typed parameters. However, descriptions are generic and lack actionable context (e.g., 'Generate images from text prompts' does not explain when to use this vs image_to_image, or what happens to the user's Anlas credits). No output schemas documented. Parameters lack constraints (enums for sampler/schedule, ranges for scale/steps). No error handling guidance. Tool names are clear (verb_noun pattern), but composition issues exist: generate_image, image_to_image, inpaint, and director_tool overlap in functionality without clear differentiation. Missing idempotency guidance for write operations. STDIO transport caps score at 50; quality issues prevent higher scoring.
Annotate an image using NovelAI ControlNet annotation
Use NovelAI Director tools for advanced image control
Encode an image as a vibe token for style transfer
Estimate the Anlas cost for a generation request
Generate images from text prompts using NovelAI
Get the current user's subscription information
Descriptions are too brief (10-50 chars vs. 50-200 char baseline) and lack LLM-optimized context. E.g., 'Generate images from text prompts using NovelAI' does not explain when to use generate_image vs. image_to_image, prerequisites (API key, Anlas balance), or what the user should expect. LLMs cannot distinguish between overlapping tools without richer guidance.
No output schemas documented. LLMs cannot plan downstream operations or extract required fields (e.g., does generate_image return image_url, image_data, or base64?). This forces agents to guess and wastes tokens on error recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Get the current user's account data
Transform an existing image using NovelAI image-to-image generation
Inpaint regions of an image using NovelAI
Suggest tags for an image using NovelAI tag suggestion
Upscale an image using NovelAI upscaling
Parameters lack constraints. 'sampler' and 'schedule' accept free-form strings with no enum values documented. 'scale' and 'steps' have no min/max ranges. LLMs will hallucinate invalid values (e.g., sampler='foo', steps=99999) causing silent failures or API errors with no recovery guidance.
Tool composition overlap: generate_image, image_to_image, inpaint, and director_tool all accept 'prompt', 'scale', 'steps', 'sampler', 'schedule'. Descriptions do not clarify when to use each. LLMs will waste reasoning cycles or pick the wrong tool. director_tool name is vague, does not start with a clear action verb.
No error handling guidance. If an API call fails (invalid API key, insufficient Anlas, rate limit), the tool provides no recovery hint. LLMs cannot distinguish retryable errors from user-fixable ones, leading to infinite loops or dead-ends.