An MCP server that provides tools for interacting with LinkedIn using Playwright
Single tool 'post' has a clear verb-noun name and basic schema with typed parameters. However, the description is minimal (23 chars), parameter descriptions lack actionable detail, and the output schema is undocumented. No error handling guidance, no recovery paths, and the tool performs a destructive write operation (posting to LinkedIn) with only a dry_run flag for safety, no confirmation pattern. The implementation shows hardcoded selectors and browser state management issues that are not surfaced in the tool contract.
Post content to LinkedIn
Tool description is only 23 characters ('Post content to LinkedIn'). Lacks WHEN to use, prerequisites, and consequences. LLMs cannot determine if this is the right tool or what to expect.
Output schema is undocumented. Tool returns a string but LLMs do not know the structure, success indicators, or how to chain downstream actions. No documented return type.
Destructive write operation (posts to LinkedIn) lacks confirmation pattern. Only dry_run flag provided; no explicit confirmation step before irreversible action. Agents can accidentally publish without safeguard.
Parameter 'image_path' description lacks format/constraint detail. No guidance on supported formats, size limits, or absolute vs relative path handling. LLMs may pass invalid paths.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Error responses are raw exception strings (e.g., 'Error posting to LinkedIn: {str(e)}'). No recovery guidance, no categorization of retryable vs fatal errors. LLM cannot determine next action.