A Model Context Protocol (MCP) server for OpenAI API
Server has 5 tools with mixed quality. Three tools (listModels, chatCompletion, createEmbedding) have reasonable schemas and descriptions but lack depth. Descriptions are present but generic (10-50 chars for some). Parameter descriptions exist but lack constraint details (ranges, enums, formats). No output schemas documented. Error handling returns text but lacks recovery guidance. Overall: below-average community server.
Generate a response using OpenAI's chat completion API
Generate embeddings for text using OpenAI's embedding API
Get details about a specific operation from an OpenAPI specification. Use this after getting an overview.
Get an overview of an OpenAPI specification. This should be the first step when working with any API.
List available OpenAI models
Two tools (getApiOverview, getApiOperation) defined only in example-openai-server.js, not main openai-mcp-server.js. Tool definitions inferred rather than explicitly registered with full schemas.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract fields without knowing response structure. chatCompletion should document that it returns {content: string, usage: {tokens}} or similar.
Parameter descriptions lack constraint details. 'temperature' says 'Controls randomness (0-1)' but does not state if 0.5 is default, if values outside 0-1 are rejected, or what happens at boundaries. 'max_tokens' has no range guidance.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Error handling returns plain text errors without recovery guidance. Example: 'SLOP API error: ...' tells LLM nothing about whether to retry, ask user, or abandon. Per pattern:recovery-guide, errors should guide next steps.
chatCompletion 'model' parameter is optional (not in required array) but description does not state default. If no model specified, does it fail or use gpt-3.5-turbo? Ambiguous defaults invite LLM errors.