MCP Server for LinkedIn operations (create post, image post, profile, validate credentials)
Server has 4 tools with basic schemas and descriptions, but significant gaps prevent production use. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization). Input schemas are present but minimal: create_linkedin_post and create_linkedin_image_post lack enum constraints for 'visibility' parameter (should be PUBLIC|CONNECTIONS). Output schemas are completely undocumented, LLMs cannot predict return structure. Error handling returns free-text strings instead of structured errors with recovery guidance. No parameter validation, no idempotent hints, no destructive operation warnings. Tool names are clear (verb_noun pattern), but descriptions are too terse to guide LLM selection.
Create a LinkedIn post with an image.
Create a text-only LinkedIn post.
Get the authenticated user's LinkedIn profile information.
Validate that LinkedIn credentials are working by making a test API call.
Output schemas completely undocumented. All tools return free-text strings; LLMs cannot predict structure or chain results to downstream tools.
Visibility parameter lacks enum constraint. 'visibility' accepts free-form strings; should enforce PUBLIC|CONNECTIONS via JSON Schema enum.
Descriptions too terse (10-50 chars vs. 50-200 char baseline). 'Create a text-only LinkedIn post' lacks WHEN to use, prerequisites, or side-effect clarity. LLMs cannot distinguish between create_linkedin_post and create_linkedin_image_post without reading implementation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No error recovery guidance. All errors return raw exception strings ('Failed to get user ID: ...') instead of actionable recovery steps. LLMs cannot self-correct.
Destructive operations (create_linkedin_post, create_linkedin_image_post) lack confirmation or dry-run support. No idempotent hints. Agents cannot safely retry on ambiguous failures.