A Next.js application that integrates MCP (Model Context Protocol) tools for multimodal content generation including charts, documents, videos, audio, and images, with a custom UI widget system for ChatGPT integration
Critical gaps across all dimensions. Tool definitions lack proper schemas, descriptions are generic or missing, and parameter documentation is absent. Only 1 of 6 tools has a meaningful description (show_ui). Chart, Audio, Document, Video, Image tools have placeholder descriptions ('Tool for X processing') that provide no actionable guidance. No input schemas visible for most tools. Tool names lack action verbs (Chart Tool, Audio Tool, Document Tool, Video Tool, Image Tool are generic). No error handling guidance, no output schema documentation, no parameter constraints. The codebase shows HTTP transport via mcp-handler but tool definitions are severely underdeveloped.
Text content to convert into an audio file
Retrieves chart data based on the given prompt
Tool for document processing (implementation details in document.ts)
Tool for image processing (implementation details in image.ts)
Tool for video processing (implementation details in video.ts)
Interactive UI app that renders widgets, charts, videos, images, and multimedia content. Use this to display rich UI components in ChatGPT.
5 of 6 tools have no visible input schemas. Chart, Audio, Document, Video, Image tools show only placeholder descriptions with no parameter definitions, types, or constraints.
Tool names lack action verbs. 'Chart Tool', 'Audio Tool', 'Document Tool', 'Video Tool', 'Image Tool' are generic nouns, not verb_noun patterns. LLMs cannot infer intent from names alone.
Descriptions for 5 tools are placeholder text ('Tool for X processing') under 20 characters. No guidance on when/why to use each tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2025-06-18+ | v2 |
No output schemas documented. LLMs cannot plan downstream calls or extract required data without knowing what fields each tool returns.
No error handling guidance. Tools provide no recovery hints, error classification, or actionable next steps for LLMs when calls fail.