Skip to main content
Glama
IzikStar

linkedin-agent-mcp

by IzikStar

Search LinkedIn jobs

linkedin_search_jobs
Read-onlyIdempotent

Searches LinkedIn jobs and tracks seen listings to surface new opportunities, with filtering by location, work type, and posted date.

Instructions

[READ - no LinkedIn state is changed] Searches LinkedIn jobs and returns at most 25 results (one page). Every result is recorded in local tracking and annotated with isNew / localStatus, so you can tell jobs the user has never seen from ones already seen, saved, rejected or applied to. Set onlyNew=true to return only never-before-seen jobs. Use LinkedIn job IDs (the id field) to refer to jobs. Do not call repeatedly in a loop.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
onlyNewNoReturn only jobs this agent has never returned before (local dedupe).
keywordsYesSearch keywords, e.g. "React TypeScript".
locationNoCity/region/country, e.g. "Tel Aviv, Israel".
workTypeNo
easyApplyNoOnly jobs with LinkedIn Easy Apply.
maxResultsNo1-25. Default is small on purpose; this is not a scraper.
postedWithinNo
employmentTypeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobsYes
fetchedYesUnique jobs LinkedIn returned before local filtering.
newCountYes
filteredOutYesJobs hidden because onlyNew=true and they were seen before.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, destructiveHint=false) and openWorld/idempotent traits, but the description adds real value: the 25-result cap, the local tracking side effect, and the isNew/localStatus annotation of results. It does not explain the interaction between idempotentHint and the tracking-based dedupe, which is a minor gap.

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

Conciseness5/5

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

Front-loads the '[READ - no LinkedIn state is changed]' tag, then packs scope, return annotations, the onlyNew switch, ID convention, and the loop warning into three tight sentences with no filler.

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?

With an output schema present, return values need not be described, yet the definition still explains the isNew/localStatus annotations the agent will see. For an 8-parameter search tool at 63% schema coverage it is largely complete, with only the unmentioned filter parameters left to the schema.

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 coverage is 63%, so the schema documents most parameters already. The description adds meaningful semantics for onlyNew and reinforces the maxResults cap and job-ID convention, but says nothing about location, workType, easyApply, postedWithin, or employmentType beyond what the schema provides.

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 precise verb+resource ('Searches LinkedIn jobs'), quantifies the scope ('at most 25 results (one page)'), and clarifies the read-only posture. An agent can distinguish it from linkedin_list_tracked_jobs and linkedin_get_job without opening their schemas.

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

Usage Guidelines4/5

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

Gives clear operating guidance: set onlyNew=true for unseen jobs, use the `id` field to refer to jobs, and 'Do not call repeatedly in a loop.' It lacks an explicit named alternative (e.g. list_tracked_jobs for re-checking already-seen jobs), which keeps it short of a 5.

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