MCP server for image generation and manipulation via Replicate and HuggingFace APIs
Server has 12 tools with basic naming and descriptions, but significant gaps in schema completeness, parameter documentation, and error handling. Tool names follow verb_noun convention (GetReadme, SearchModels, GenerateImage), which is good. Input schemas are present but sparse: most parameters have only type and minimal description. No output schemas documented. Error handling is minimal, tools return generic anyhow::Result without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is reasonable (tools are single-purpose), but parameter naming could be more explicit (e.g., 'limit' lacks min/max bounds).
Edit an image with a prompt.
Edit an image via Replicate by providing an image URL, prompt, and optional mask.
Generate an image via Replicate by prompting the model.
Fetch metadata for a HuggingFace model (author, tags, license, description).
Fetch metadata for a Replicate model (owner/name).
Extract and return all image URLs found in the model's README.md.
Check status and retrieve outputs of a Replicate prediction.
No output schemas documented. Tools return ToolResponseContent but LLMs cannot see what fields to expect in responses. This breaks downstream tool chaining and forces LLMs to guess field names.
Parameter descriptions are minimal (10-30 chars). Baseline is 72 chars. 'ID of the model' lacks context on format, constraints, or when to use. LLMs cannot infer whether to pass 'model-name' or 'org/model-name'.
Numeric parameters lack bounds. 'limit' and 'steps' have no min/max. LLMs can pass 0, negative, or absurdly large values (e.g., steps=999999) causing API failures or timeouts.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Retrieve README.md file from a HuggingFace model.
List models from Replicate (with optional name filter).
Search for HuggingFace models matching a keyword (filtered to text‑to‑image).
Get details for the current Replicate API token.
Retrieve the username, email, and orgs for the current HF API token
Duplicate tool names: two 'WhoAmI' tools (HuggingFace and Replicate) and two 'GetModelInfo' tools. LLMs cannot distinguish between them. Rename to 'WhoAmI_HuggingFace', 'WhoAmI_Replicate', 'GetHuggingFaceModelInfo', 'GetReplicateModelInfo'.
No tool annotations despite clear risk classifications. GenerateImage and EditImage are marked WRITE but lack destructiveHint. GetReadme is READ_ONLY but lacks readOnlyHint. Annotations guide agent safety reasoning.