Skip to main content
Glama
IzikStar

linkedin-agent-mcp

by IzikStar

Preview an application before submission

linkedin_preview_application
Read-onlyIdempotent

Render the full human-readable payload of a LinkedIn application for review before confirmation, showing job, CV, fields, questions, and answers; flags unanswered questions.

Instructions

[READ - no LinkedIn state is changed] Renders the exact human-readable payload for an application (job, CV, fields, every question and its answer) so the user can review it before any confirmation. readyToSubmit is false while any question is unanswered; use linkedin_provide_application_answer for those first. Local state only, never touches LinkedIn.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
applicationIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
previewYesExact human-readable payload the user should review before any confirmation.
unansweredYesQuestions still needing the user's answer, if any.
readyToSubmitYesTrue once every question has an established or user-supplied answer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description still adds real behavioral context beyond them: it discloses that only local state is touched, that no LinkedIn state changes, and the readyToSubmit gating semantics. It does not describe output shape, but an output schema exists for that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with a bracketed [READ] tag and the core action. There is mild redundancy — '[no LinkedIn state is changed]' and 'never touches LinkedIn' convey the same fact — but nothing is wasted verbatim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required. The description covers purpose, timing, prerequisites, and state guarantees; the only gap is any hint about how to obtain a valid applicationId, which is minor for a low-complexity read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single applicationId parameter has no schema description, so the description must compensate. It only implies the parameter identifies the application to preview; it gives no guidance on the ID's origin, format, or the min/max length constraints. This is the minimum-viable baseline for a one-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Renders the exact human-readable payload for an application') and enumerates what the preview contains (job, CV, fields, every question and answer). It clearly distinguishes itself from the sibling linkedin_provide_application_answer, which it names directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the moment to use it ('so the user can review it before any confirmation') and routes the agent to the alternative when a prerequisite is unmet ('readyToSubmit is false while any question is unanswered; use linkedin_provide_application_answer for those first'). When/when-not and the alternative are all present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.