MCP server for Mixpost social media management API
Server has 20 tools with complete input schemas and descriptions. Naming follows verb_noun convention consistently (list_, get_, create_, update_, delete_, approve_). Descriptions are present but generic (avg ~60 chars, below 194-char baseline). Critical gaps: no output schemas documented, no error handling guidance, no parameter constraints (enums), no pagination details despite list tools, complex nested schemas lack field-level descriptions. Security concern: no mention of API key injection or permission gates. Composition is sound (single responsibility per tool), but parameter descriptions are minimal, e.g., 'The UUID of the post to retrieve' lacks context on format or where to obtain UUIDs.
Add a post to the publishing queue
Approve a social media post
Create a new social media post
Create a new tag
Delete a media file
Delete multiple posts at once
Delete a specific post
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., post_id, account_id) for chaining. Violates pattern:tool and mxe:include-chaining-ids.
Complex nested schemas (versions array with object properties) lack field-level descriptions. LLMs cannot understand what account_id, is_original, or content.media represent without inline docs.
No error handling guidance. Tools return errors but do not tell LLMs what to do next (retry, ask user, or fail). Violates pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Delete a tag
Get details of a specific social media account
Get details of a specific media file
Get details of a specific post
Get details of a specific tag
List all connected social media accounts in the workspace
List media files in the workspace
List posts in the workspace
List all tags in the workspace
Schedule a post for publishing
Update media file metadata
Update an existing social media post
Update an existing tag
No parameter constraints (enums, min/max, patterns). E.g., 'status' in list_posts accepts free-form strings; 'timezone' in create_post has no validation. Invites hallucinated invalid values.
Pagination parameters (page, limit) present in list tools but no documentation of defaults, max limits, or total count in response. Risks context window exhaustion.