An MCP server for the BlogCaster project - publish, list, and delete posts across multiple blogging platforms
BlogCaster MCP provides 5 tools with reasonable naming and mostly complete schemas. Tool names follow verb_noun convention (getTokenManagementLink, publishPost, getBlogs, updatePost, deletePost). All tools have descriptions between 34-74 characters. Input schemas are present for all tools with typed parameters and enums for platform selection. However, there are significant gaps: (1) Output schemas are completely undocumented, no details on what publishPost, getBlogs, or updatePost return; (2) Error handling descriptions are absent, no guidance on retryability, user-fixable errors, or recovery paths; (3) Parameter descriptions lack detail on constraints, ranges, and validation rules; (4) Tool descriptions do not explain prerequisites, when to call each tool relative to others, or expected return structure; (5) No dry-run or confirmation mechanism for destructive operations (deletePost); (6) Missing parameter 'required' field declarations in schema, unclear which params are mandatory. Naming is solid but descriptions are minimal (10-74 chars vs. baseline 194 chars average for A+ tools), and complete output schemas are missing.
Delete a post by ID on each platform
List your recent posts per platform
Get a login link to authenticate and manage your tokens
Clear current authentication
Publish one markdown post to many platforms
Update an existing post
Check current authenticated user
Output schemas completely undocumented for all tools. LLMs cannot infer what publishPost, getBlogs, or updatePost return, preventing proper downstream chaining and field extraction.
Tool descriptions are extremely brief (34-74 chars vs. baseline 194 chars for A+ tools). Lack context on WHEN to use each tool, prerequisites, or expected outcomes. publishPost lacks info on success conditions; getBlogs lacks info on what fields are returned; updatePost lacks info on which fields can be updated.
No error handling or recovery guidance in any tool description. LLMs cannot determine if errors are retryable, user-fixable, or fatal. No guidance on what to do if a platform-specific publish fails (e.g., Hashnode auth expired but DevTo succeeds).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 12 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
deletePost is destructive but has no dry-run, confirmation, or reversibility mechanism. Agents can permanently delete posts without safeguards.
Parameter descriptions lack actionable detail. 'platforms' array lacks explanation of which platforms support which content types. 'contentMarkdown' lacks info on max length, required sections, or formatting rules. No enum/pattern constraints on title length or content format.
Schema missing 'required' field definitions. Unclear whether 'tags' and 'coverImageURL' are truly optional or just omitted from schema. Parameter descriptions do not clarify mandatory vs. optional status.
publishPost and updatePost lack dependency documentation. No explanation that getTokenManagementLink must be called first, or that getBlogs should be called to discover postId values for updatePost/deletePost.
No result limits or pagination documented. getBlogs response structure is completely undocumented, unclear if it returns 5 or 500 posts, how they're ordered, or what fields are included.