Bluesky (AT Proto) MCP bridge with human-approved outbox for fleet-PR drafts
Critical gaps across all tools. The primary tool 'bluesky_social_tool' is a portmanteau combining post/timeline/outbox operations into a single tool with 13 parameters, violating single-responsibility principle. Parameter descriptions are present but generic (e.g., 'Operation to perform'). No output schema is documented. Three helper tools (bluesky_help, bluesky_shutdown, show_outbox_card) have minimal descriptions and no visible input validation. The server uses fastmcp but tool definitions are incomplete, no evidence of enum constraints, error recovery guidance, or idempotent hints. Source code snippet cuts off mid-function, preventing full assessment of error handling.
Help for bluesky-mcp.
Signal graceful shutdown (process exit left to host).
Portmanteau: post/timeline/outbox_* — fleet drafts use outbox_enqueue → approve → publish.
Rich Prefab card summarizing pending outbox drafts.
bluesky_social_tool is a portmanteau combining post/timeline/outbox operations. Single 'operation' parameter with free-form string (no enum) forces LLM to guess valid values (outbox_list, notifications, outbox_enqueue, etc.). Should split into separate tools: create_post, list_timeline, list_notifications, enqueue_draft, approve_draft, publish_draft.
No output schema documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., outbox_id for approve/publish). Responses are unstructured, forcing LLM to parse free-text or JSON without type hints.
bluesky_social_tool has 13 parameters, many with generic descriptions ('Additional payload data', 'Reason for operation'). No parameter constraints (enums, ranges, patterns). 'operation' parameter accepts arbitrary strings instead of a constrained enum.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
bluesky_shutdown is marked IRREVERSIBLE but has no confirmation step or dry-run option. Agents can trigger graceful shutdown without approval, disrupting service.
Tool descriptions are too short or vague. 'Help for bluesky-mcp' (20 chars) and 'Rich Prefab card summarizing pending outbox drafts' (50 chars) lack context on WHEN to call or WHAT to expect. Baseline for A+ tools is 50-200 chars with clear intent.