MCP Server for API易 / Gemini API integration with multimodal file processing support (video, audio, image, PDF)
Two tools with comprehensive schemas and detailed descriptions. generate_content has excellent parameter coverage (user_prompt, system_prompt, files, model, temperature, code execution, search, thinking_budget, media_resolution) with proper enums and ranges. generate_content_batch mirrors this with batch-specific parameters (requests array, max_concurrency). Descriptions are thorough (194+ chars baseline met) with usage examples. However, output schemas are not documented, LLMs cannot predict response structure. Error handling guidance is absent. Tool names follow verb_noun pattern correctly. No tool annotations (readOnlyHint/destructiveHint) despite both being read-only operations.
Generate content using Gemini with optional file inputs, code execution, and Google search. Supports multiple files: images (JPG, PNG, GIF, WebP, SVG, BMP, TIFF), video (MP4, AVI, MOV, WebM, FLV, MPG, WMV), audio (MP3, WAV, AIFF, AAC, OGG, FLAC), documents (PDF), and text files (TXT, MD, JSON, XML, CSV, HTML). MIME type is auto-detected from file extension.
Generate multiple contents concurrently using Gemini. This tool allows you to send multiple requests in parallel for better performance. Each request in the batch requires a unique 'id' field to identify results. All other parameters are the same as generate_content.
Output schemas not documented. LLMs cannot predict response structure (success format, error format, field types). Breaks downstream tool chaining and forces LLMs to guess at response shape.
No error handling guidance. Errors return raw API responses without recovery hints. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
Tool annotations missing. Both tools are read-only (no side effects) but lack readOnlyHint annotation. Agents cannot distinguish safe-to-retry operations from destructive ones.
API key exposed as environment variable without server-side injection pattern. APIYI_API_KEY must be injected at runtime, not read from process.env in user-facing code.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No rate limiting or concurrency guards. generate_content_batch allows up to 20 concurrent requests by default, risking API quota exhaustion or service degradation.