MCP Server for LinkedIn marketing automation — search profiles, analyze companies, draft connection requests, optimize posts. Free + Premium.
This server has significant definition quality gaps. Tool names are reasonably clear (verb_noun pattern), but descriptions lack depth and actionability. Most critically, NO tools have documented output schemas, LLMs cannot predict what fields to expect or chain tools together. Parameter descriptions are minimal (often 1-2 sentences). The 'FREE' vs 'PREMIUM' labeling in descriptions is informal and doesn't guide LLM behavior. Error handling is generic ('Error: {e.message}') with no recovery guidance. Tools 1-3 are read-only wrappers around public data with no actual API integration, making them low-value. Tools 4-5 require DEESEEK_API_KEY but don't validate its presence or provide clear error messages when missing.
FREE: Analyze a LinkedIn company page (public data). Returns employee count, industry, description.
FREE: Draft a LinkedIn connection request message. Template-based (no API key needed).
PREMIUM: Generate a list of prospects based on your ICP (Ideal Customer Profile). Requires DEESEEK_API_KEY.
PREMIUM: Optimize a LinkedIn post for maximum engagement. Requires DEESEEK_API_KEY.
FREE: Search for LinkedIn public profiles by keyword. Returns profile names, headlines, companies.
No output schemas documented. LLMs cannot predict response structure, field names, or types. Impossible to chain tools or extract specific data reliably.
Tools 1-3 return instructional text, not actual data. search_public_profiles returns 'Copy this query and paste into Google' instead of profile results. These are not functional tools, they are documentation wrappers.
Premium tools (optimize_linkedin_post, generate_prospecting_list) require DEESEEK_API_KEY but do not validate its presence or provide actionable error messages. Missing key will cause generic 'Error: undefined' responses.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
Descriptions are too brief (30-40 chars) and lack WHEN/WHY guidance. 'Optimize a LinkedIn post for maximum engagement' does not explain when to use this vs. draft_connection_request or when the LLM should call it.
Parameter 'count' in generate_prospecting_list has a default (10) but no min/max constraints in schema. LLMs could pass 0, -1, or 1000 without validation.