MCP server for Perplexity API integration
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (perplexity-query, perplexity-search), which is good. However, descriptions are minimal (34-45 chars, below the 50-200 char baseline for LLM optimization). Input schemas use Zod with enums for model selection, but lack detailed parameter descriptions beyond single-line text. No documented output schema structure. Error handling returns generic text responses without recovery guidance. The tools are read-only (low risk), but lack the depth expected for production use.
Send a query to Perplexity API and get a response
Perform a web search using Perplexity API
Tool descriptions are too brief (34-45 chars vs. baseline 50-200). Lack context on WHEN to use each tool and how they differ. 'Send a query to Perplexity API' does not explain when to choose query vs. search.
Output schema is not documented. Code returns {content: [{type: 'text', text: string}]} but LLMs cannot infer this structure. No guidance on what fields to expect or how to chain results.
Parameter descriptions are minimal. 'The query to send to Perplexity' and 'The model to use' lack format guidance, constraints, or use-case context. No explanation of when systemPrompt is needed or how it affects results.
Error handling returns generic text responses ('Error: <message>') without recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
No distinction between the two tools in descriptions. Both accept model enum and return text. The functional difference (query vs. search) is not explained, forcing LLMs to guess which to use.