A comprehensive MCP server providing unified access to multiple AI inference endpoints, media generation/processing, model discovery, skills management, and realtime capabilities across various AI providers
The AIHappey MCP server exposes 16 tools with structured definitions using C# attributes. Tool naming is clear and verb-based (execute, generate, list, search, activate, read). Most tools have descriptions (194-char baseline met), and input schemas are present with proper JSON serialization. However, several critical gaps reduce the overall score: (1) Parameter descriptions are present but generic, many lack constraint details like format, range, or valid values. (2) Output schemas are declared via OutputSchemaType attributes but not fully documented in descriptions for LLM reasoning. (3) Error handling is present (via ExceptionCheck wrapper) but error messages are not visible in the source, so recovery guidance cannot be verified. (4) Some tools lack clarity on when to use them vs similar alternatives (e.g., ai_chat_completions_execute vs ai_messages_execute vs ai_responses_execute are superficially similar). (5) Several tools accept URLs and explicitly warn about public-only access, but no guidance is given on what errors LLMs will encounter with private URLs.
Load the instructions and resource list for an available Agent Skill.
Create an audio transcription using the unified Vercel-compatible transcription endpoint. IMPORTANT: This tool accepts only publicly accessible http(s) URLs (no base64 input). The server will download the audio internally and convert it to the provider-required payload.
Execute an AI request using the Chat Completions endpoint. MCP progress notifications contain accumulated text or reasoning for each choice.
Use AI to discover the Agent Skills most relevant to a natural-language task or prompt.
Generate one or more images using the unified image endpoint.
Execute an AI request using the Messages endpoint. MCP progress notifications contain accumulated text or thinking for each content block.
Three inference tools (ai_chat_completions_execute, ai_messages_execute, ai_responses_execute) have nearly identical signatures and descriptions. LLMs cannot disambiguate which endpoint to use without clearer guidance on when each is appropriate (e.g., Chat Completions for simple turn-taking, Messages for complex multi-modal reasoning, Responses for streaming-only use cases).
Parameters like 'model' (e.g., 'openai/gpt-5.6-luna') lack explicit format constraints or examples in descriptions. LLMs cannot determine whether to pass a short name like 'gpt-4' or a qualified identifier with provider prefix. Descriptions should state: 'Format: {provider}/{model}, e.g. openai/gpt-4, anthropic/claude-3-opus'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
List available AI models with pagination.
Get AI models from all providers.
List all available AI provider identifiers.
Read a bundled file from an available Agent Skill by relative path.
Get a realtime token/session descriptor for a Vercel-compatible realtime endpoint. Returns the raw token output as structured content.
Rerank a list of text documents for a given query using the unified reranking endpoint.
Rerank a list of URL documents for a given query using the unified reranking endpoint. IMPORTANT: This tool accepts only publicly accessible http(s) URLs. The server will download each URL and use the raw response body as text. Fail-fast: if any URL cannot be downloaded, the tool errors.
Execute an AI request using the Responses endpoint. Each MCP progress notification contains the accumulated text for one response item while it streams.
Search the available Agent Skills catalog using concise keywords.
Generate speech audio using the unified speech endpoint.
Output schemas are declared via C# attributes (OutputSchemaType = typeof(ChatCompletion)) but are not documented in the tool descriptions. LLMs cannot reason about what fields to expect in the response without explicit documentation of the return structure.
Tools that accept URLs (ai_audio_transcriptions_create, ai_rerank_urls) explicitly warn 'only publicly accessible http(s) URLs' but do not specify what error the LLM will receive if a private/authenticated URL is provided. Error descriptions should guide LLMs on recovery: 'If you get a 403 or timeout, ensure the URL is publicly accessible without authentication.'
The 'instructions' parameter in inference tools (ai_chat_completions_execute, ai_messages_execute, ai_responses_execute, ai_speech_generate) is marked optional but no guidance is given on interaction with system-level defaults. Description should clarify: 'Overrides any system-level instruction if provided; if omitted, uses model defaults.'
Parameters like 'aspectRatio' in ai_images_generate and 'size' are described as 'Must have format {width}x{height}' but no examples are provided, and it's unclear if values like '1024x1024' are valid or if model-specific constraints apply (e.g., some models require 16:9, others 1:1). Add examples and constraint specifics.
The ai_speech_generate tool accepts 'providerOptionsJson' as a string, which requires LLMs to construct JSON manually. This is error-prone. Consider accepting a structured object or providing a discovery tool (e.g., ai_speech_get_provider_options) to list valid provider-specific parameters.
The ai_providers_list tool has no input parameters and a minimal description ('List all available AI provider identifiers'). LLMs cannot determine what structure the response has or why to call it. Description should state: 'Returns a list of provider IDs (e.g. openai, anthropic, google). Use this to discover available providers before calling ai_provider_get_models.'
Tools that pagination parameters (ai_models_list accepts 'page', 'pageSize') but no guidance on what 'total count' or 'hasMore' field the response includes. Description should state: 'Returns paginated results with a total count; request subsequent pages by incrementing page until you reach the last page.'