Skip to main content
Glama
nick-choudhary

linkedin-sales-nav-mcp

Search Sales Navigator Contacts

search_contacts
Read-only

Search LinkedIn Sales Navigator leads by submitting a people or leads search URL. It captures results via the logged-in browser, saves them locally, and resumes on repeated calls.

Instructions

Search people/leads by driving Sales Navigator in the logged-in browser and capturing its search API responses. Results are saved to the local database automatically; this tool returns a small summary, not the records (call export_results or get_results for the data).

Build the search in Sales Navigator (title / geography / industry / seniority / keyword filters), copy the URL from the address bar, and pass it here. Saved lead lists work too.

Resumable: the search URL is hashed to a query id. If a previous run stopped partway, calling again with the same URL resumes from the next page instead of restarting — safe to call repeatedly to page deeper.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNo
pagesNoHow many 25-result pages to fetch in THIS call (1-10). Call again to continue past that.
resumeNoIf true (default), continue from where a prior run of this same URL stopped. If false, start from page 1 (records already saved are kept and de-duplicated).
refreshNoIf true, forget this query's saved progress and records and re-scrape from page 1.
search_urlYesFull Sales Navigator URL (/sales/search/people, /sales/search/leads, or /sales/lists/people).
include_rawNoKeep LinkedIn's raw element JSON alongside each record (useful when a field looks wrong).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Install Server

TDQS

A3.9/5.0
Behavior1/5

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

The description transparently discloses important behavior: results are saved to a local database, re-calling with the same URL resumes from the next page, and refresh forgets saved progress and records. However, this directly contradicts readOnlyHint=true, which signals that the tool makes no observable state changes; the description describes writes and clearing of saved records observable via get_results/list_queries. This is an annotation contradiction.

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?

Three short paragraphs are front-loaded with the core purpose and output, followed by the usage recipe and the resumability caveat. Every sentence contributes a fact needed for correct invocation, with no filler or repetition.

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 stateful, browser-driving tool with six parameters and an output schema, the description covers prerequisites (logged-in browser), input construction, output behavior, alternative retrieval, and rerun/resume/refresh semantics. Nothing needed to call it correctly is missing, and the output schema accounts for the return shape.

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 description coverage is 83%, so the schema already documents most parameters. The description adds real meaning by explaining that search_url can be a people/leads search or a saved list URL and by tying pages/resume/refresh to the URL-hash resume mechanism. It does not add semantics for depth, but the enum/default covers that well.

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?

The description opens with a specific verb-resource pair: 'Search people/leads by driving Sales Navigator...' and immediately distinguishes itself from data-retrieval siblings by stating it returns a small summary, not the records. This clearly separates it from export_results/get_results and search_accounts.

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?

It gives an explicit workflow: build the search in Sales Navigator, copy the URL, pass it here, and notes saved lead lists also work. It also routes the agent to export_results or get_results when the actual records are needed. It lacks an explicit exclusionary pointer to search_accounts for account searches, so it stops 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.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nick-choudhary/linkedin-sales-nav-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server