MCP server that fetches LinkedIn profiles and returns them in YAML format. Uses the Apify LinkedIn Profile Scraper API to extract profile data.
Single tool 'fetch-profile' has a well-structured schema with proper type definitions and a reasonable description. However, the description lacks critical implementation details (e.g., authentication requirements, rate limits, expected latency), parameter descriptions are sparse or missing context, and there is no documented output schema. The tool lacks error handling guidance and does not follow composition best practices for multi-section profile fetching. Overall above average for parameter definition but falls short on usability and operational guidance.
Fetches a LinkedIn profile and returns it in YAML format. Optionally filter which optional sections to include.
Missing output schema documentation. The tool description states it returns YAML format but does not document the structure, field types, or what the agent should expect. LLMs cannot plan downstream steps or extract data reliably without knowing output shape.
Parameter 'include' lacks detailed constraint documentation. While an enum is present in the schema, the description does not explain the default behavior ('all sections'), the impact of each option on response size/latency, or which sections are most commonly requested. This forces LLMs to guess at sensible combinations.
No error handling guidance. The tool provides no documentation of failure modes (e.g., invalid URL, rate limit, authentication failure, profile not found, access denied). LLMs receive raw errors with no actionable recovery path.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 40 | 2024-11-05+ | v1 |
Description lacks critical operational details. No mention of authentication mechanism (LinkedIn API credentials, session handling), rate limits, timeout expectations, or prerequisites. An LLM cannot reason about tool safety or feasibility without knowing these constraints.
Profile URL parameter accepts free-form strings with minimal validation guidance. Description provides one example format but no stated constraints on URL structure, accepted variations (trailing slash, query params, vanity URLs), or what happens with malformed input.
Tool name 'fetch-profile' is acceptable but the 'include' parameter encourages multi-concern design. Fetching all sections vs. specific sections might benefit from separate tools (e.g., 'fetch-profile-summary' vs 'fetch-profile-full' with explicit sections). This composition issue makes the tool less predictable for LLM planning.