MCP server for interacting with the Contentstack Management API
Single-tool server with a complex, domain-specific operation. The create_content_type tool has a comprehensive input schema with nested objects and detailed parameter descriptions. However, several critical quality issues reduce the overall score: (1) Tool name lacks clarity, 'create_content_type' is verb+noun but does not convey the complexity of required inputs (schema, field rules, taxonomies), forcing the LLM to read the full description; (2) Description is present (~200 chars) but lacks WHEN to use guidance or prerequisites (e.g., 'Must have Contentstack Management API access'); (3) Schema is deeply nested with type='any' for condition values, reducing validation strictness; (4) No documented output schema or error handling guidance visible in src/index.ts; (5) No per-request error handling showing LLMs how to self-correct invalid schemas or field definitions; (6) Tool marked as WRITE risk but no confirmation/dry-run pattern is evident; (7) Only one tool in the entire server limits composition assessment.
Creates a new content type with the specified schema, options, field rules, and taxonomies.
Incomplete output schema, no documented return type for create_content_type. LLMs cannot plan downstream operations or extract created resource identifiers without knowing what fields are returned.
Loose type validation in nested schema, field_rules.conditions[].value has type='any', allowing unrestricted input. This invites malformed payloads and API failures without clear LLM-actionable error messages.
No error handling guidance visible, src/index.ts shows handleError() helper but no structured error messages returned to LLM. Errors like 'API Error: 400 - {...}' or 'No response received' do not guide LLM recovery actions.
Tool description lacks context, does not explain WHEN to call this tool, prerequisites (required tokens, stack setup), or what each nested input block controls. LLMs may misuse or over-call this complex operation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No confirmation or dry-run pattern for destructive/irreversible operations, create_content_type modifies schema state but has no preview, confirmation_required flag, or confirmation-request pattern. Agents may create invalid content types repeatedly.
Missing parameter dependency documentation, field_rules conditions reference operand_field and operator values, but no enums or validation rules are shown for operator. LLMs cannot know what operators are valid (e.g., 'equals', 'contains', 'matches').