AI-powered application generator using OpenRouter API and MCP tools for web search, documentation lookup, and frontend component/template discovery
AlperAI provides 5 search-focused tools with good naming conventions (all start with search_ or web_ verbs). All tools have complete input schemas with proper JSON structure and documented parameters. However, descriptions are notably brief (averaging ~80 characters), and there are significant gaps in parameter descriptions and output schema documentation. No error handling guidance is visible, no tool annotations for safety classification, and the server appears designed as a client library rather than a proper MCP server with full spec compliance. Tools are focused but lack the depth of guidance needed for robust LLM selection and error recovery.
Search for CSS animations and transition effects
Search for documentation on programming languages, libraries, or frameworks
Search for frontend UI components, templates, or design patterns
Search for complete frontend templates and design inspiration
Search the web for information on a specific topic or query
Tool descriptions are too brief (50-70 chars). LLMs cannot distinguish between similar search tools without richer guidance on when to use each vs alternatives.
No documented output schemas. Callers cannot know what fields to expect (e.g., does web_search return URLs, snippets, titles, metadata?). LLMs cannot plan downstream processing.
No error handling guidance. If a search returns no results, times out, or hits a rate limit, the LLM has no recovery path. No distinction between retryable vs fatal errors.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 42 | - | v1 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only, but this is not explicitly declared. MCP clients cannot optimize caching or retry strategies.
Parameter descriptions lack constraint details. E.g., 'num_results' has no min/max bounds (can LLM pass 1000000?). 'style' and 'style_preference' lack enum values or valid options.
No pagination support visible in tool definitions. Large result sets could blow context windows, but tools show no limit, offset, page, or cursor parameters.