This server has 2 tools with basic definitions, but significant quality gaps. Tool naming is reasonable (verb-based: gptzero_detect, gptzero_model_versions), but descriptions lack actionable detail and parameter validation is minimal. The detect tool has a proper input schema with types, but the model_versions tool has an empty parameter schema. No output schemas are documented, and error handling provides some guidance but lacks categorization. The server lacks tool annotations (readOnlyHint/destructiveHint), does not document response structure, and provides no pagination or result limits despite text detection potentially returning large payloads.
Detect if text was generated by AI. Returns probability scores for AI, human, and mixed content.
Get available GPTZero model versions
gptzero_model_versions has empty inputSchema (no properties defined). This makes chaining and result parsing difficult for agents.
No output schemas documented. The source code shows both tools return text in a content array, but agents have no schema to parse structured results. For gptzero_detect, the output should document the structure of probabilities, predicted_class, confidence_category, etc. For gptzero_model_versions, it should specify the format of the versions list.
Tool descriptions are brief (16-42 chars) and lack WHEN/WHY context. 'Detect if text was generated by AI' says WHAT but not WHEN an agent should choose this over other options, or what prerequisites exist (e.g., 'Requires GPTZERO_API_KEY environment variable'). 'Get available GPTZero model versions' is generic and doesn't explain when to call it or what the result enables.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Missing tool annotations. Neither tool declares readOnlyHint (both are read-only, as noted), idempotentHint (both are idempotent), or destructiveHint. Agents cannot infer safety properties and may incorrectly treat these as state-modifying.
Parameter 'document' in gptzero_detect lacks constraint documentation. No mention of maximum length, encoding, or format. LLMs may pass extremely long documents or binary data, causing API errors. Schema should define maxLength and encoding expectations.
No pagination or result limiting guidance. The detect tool processes text and may return verbose analysis. The description and response handling dump full JSON analysis without explaining result size expectations or pagination. If batching detections, agents lack guidance on safe batch sizes.
Error handling provides some guidance (401 → check API key, 429 → rate limit) but lacks classification (retryable vs. fatal). No dry-run or confirmation pattern for a tool that makes external API calls with potential cost/quota implications.