Skip to main content
Glama

Iridium: LinkedIn MCP Server

get_linkedin_profile

Get Linkedin Profile

Read the full LinkedIn profile(s) of people you already know, or several at once.

ONE PERSON, THREE TOOLS - use them in this order:

  1. find_person WHO is this? A name (plus where they worked) returns a confirmed handle and proof. 1 search plus up to 2 profile reads.

  2. get_linkedin_profile TELL ME MORE. A handle returns the full profile and posts. Call it only when find_person's headline and proof are not enough.

  3. schedule_dm_to_person MESSAGE THEM. Pass the profile_handle from step 1. Never message from a name alone: sending by name guesses between people who share it. If find_person's verdict is not confirmed, ask the user which person they mean before sending. Already in a conversation with them (see search_chats)? Use the chat_ handle with schedule_manual_dm instead; no lookup is needed.

At least one of name, linkedin_id, iridium_handle, linkedin_ids, or iridium_handles must be provided. Prefer iridium_handle(s). name (with the optional hints company, education, location, headline_keywords) is a keyword search that opens up to 5 full profiles: to find ONE named person use find_person instead.

Costs one profile touch per person against the daily budget — this is the expensive way to look someone up, and the right one when you already hold a handle and want depth. To resolve a name, use find_person. To find people you cannot yet name, use find_prospects.

More than 3 handles run in the background (up to 50): you get a job_id at once, read the profiles as they arrive with get_job, and the user is emailed when it finishes.

Returns {"results": [...], "total": N, "query_used": str | None}. Results are fully read: about, current_role, past_companies, education, certifications, skills, recent_posts, prof_handle, and the two profile BADGES as is_hiring / is_open_to_work. Opening the profile is the only thing that reveals those badges, and this call already opened it, so they cost nothing extra here — this is the cheapest confirmation available for a person you can already name. (find_prospects with max_touches does the same for people you cannot yet name, one touch each.)

Responses:

200: Successful Response (Success Response) Content-Type: application/json

Input Schema

NameRequiredDescriptionDefault
nameNo
companyNo
locationNo
educationNo
linkedin_idNo
linkedin_idsNo
iridium_handleNo
iridium_handlesNo
headline_keywordsNo

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the per-person cost against a daily budget, the background-job threshold (>3 handles, up to 50, returns job_id readable via get_job, user emailed on completion), and that opening the profile is what reveals the is_hiring / is_open_to_work badges. It also documents the return payload shape, none of which is in structured fields.

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?

Well front-loaded: purpose first, then the three-tool ordering, then constraints, cost, and return shape. Some repetition creeps in — the find_prospects comparison and the badge/touch cost point are restated in the final paragraph — but the length is largely justified by the volume of decision-relevant information.

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

Completeness5/5

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

For a 9-parameter tool with 0% schema coverage, no annotations, and no output schema, the description supplies everything needed: input constraints, cost model, async behavior, and the concrete response shape including the fields each result carries. Nothing an agent needs to call it correctly or interpret results is missing.

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

Parameters4/5

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

Schema coverage is 0% across 9 parameters, so the description must compensate, and it largely does: it states the at-least-one-of constraint across name/linkedin_id/iridium_handle/linkedin_ids/iridium_handles, expresses a preference ordering ('Prefer iridium_handle(s)'), and explains that name plus the hint fields is a keyword search opening up to 5 profiles. It does not explain the format expected for linkedin_id versus iridium_handle, which is the remaining gap.

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 ('Read the full LinkedIn profile(s)') with scope clarification ('people you already know, or several at once'). It explicitly contrasts itself against the two sibling tools find_person and find_prospects in a labelled ordering block, so an agent can distinguish the tools without opening schemas.

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?

Gives an explicit numbered workflow with when-to-use conditions ('Call it only when find_person's headline and proof are not enough') and when-not conditions ('to resolve a name, use find_person'; 'to find people you cannot yet name, use find_prospects'). It also names the alternative path for existing conversations (search_chats + schedule_manual_dm) and warns against messaging from a name alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources