Skip to main content
Glama

salesnav_build_search_url

Read-onlyIdempotent

Build a Sales Navigator people-search URL from structured lead-search filters, using as many filters as the request implies. RESOLUTION: industry accepts numeric ids OR names (auto-resolved via the taxonomy); region accepts numeric REGION ids OR location names (auto-resolved via geo typeahead — needs account_id). If a name is ambiguous, the tool returns {needs_disambiguation:[...]} with candidates instead of a URL — re-call with the chosen id. BOOLEAN: keywords and current_title accept LinkedIn boolean syntax (AND/OR/NOT, quotes, parentheses). EXCLUSION: any list value may be an object {id|name, exclude:true}. Set execute=true to also run the first page of results (reuses the live search) and return leads. Use after resolving the ids to get the Sales Navigator search URL, then scrape_search on it. Builds a URL only, no LinkedIn call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoPage size.
groupNoLinkedIn groups: names or ids.
startNoPagination offset, 0-based.
regionNoREGION ids (use salesnav_typeahead type=geo) or location names to auto-resolve. Items may be {id|name, exclude}.
schoolNoResolved SCHOOL ids.
executeNoAlso run the first results page and return leads.
functionNoFUNCTION 1-26: 1 Accounting 4 Business Dev 8 Engineering 10 Finance 12 HR 13 IT 15 Marketing 18 Operations 19 Product 25 Sales 26 Support (etc.).
industryNoIndustry ids (use salesnav_resolve_industry) or names to auto-resolve. Items may be {id|name, exclude}.
keywordsNoGlobal keyword search; supports boolean operators.
last_nameNoLast name filter.
account_idNoRequired when passing location/industry NAMES or execute=true.
first_nameNoFirst name filter.
past_titleNoBoolean search on past job titles.
company_typeNoCOMPANY_TYPE: C=Public P=Privately Held N=Non Profit D=Educational S=Partnership E=Self-Employed O=Self Owned G=Government.
past_companyNoPast companies: names or ids; add exclude:true to exclude one.
relationshipNoRELATIONSHIP: F=1st S=2nd A=Group members O=3rd+.
current_titleNoCurrent job title; free text + boolean (e.g. '(CTO OR "VP Engineering") NOT interim').
past_colleagueNoOnly past colleagues.
current_companyNoResolved COMPANY ids (salesnav_typeahead type=company).
seniority_levelNoSENIORITY: 320 Owner/Partner 310 CXO 300 VP 220 Director 210 Exp. Manager 200 Entry Manager 130 Strategic 120 Senior 110 Entry 100 Trainee.
profile_languageNoISO 639-1 codes: en fr es de it pt nl ...
company_headcountNoCOMPANY_HEADCOUNT codes: A=Self-employed B=1-10 C=11-50 D=51-200 E=201-500 F=501-1000 G=1001-5000 H=5001-10000 I=10001+.
posted_on_linkedinNoOnly people who posted on LinkedIn in the last 30 days.
viewed_your_profileNoOnly people who viewed your profile recently.
years_of_experienceNo1=<1y 2=1-2y 3=3-5y 4=6-10y 5=>10y.
follows_your_companyNoOnly people who follow your company page.
recently_changed_jobsNoOnly people who changed jobs in the last 90 days.
with_shared_experiencesNoOnly people with shared experiences (school, company, group).
years_at_current_companyNo1=<1y 2=1-2y 3=3-5y 4=6-10y 5=>10y.
years_in_current_positionNo1=<1y 2=1-2y 3=3-5y 4=6-10y 5=>10y.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoSales Navigator people-search URL
itemsNoFirst page of results when execute=true
queryNo
startNo
totalNo
applied_filtersNo
needs_disambiguationNoPresent instead of url when a name matched several ids

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/openWorld, yet the description adds real behavioral context: the {needs_disambiguation:[...]} return contract, the account_id precondition for name resolution or execute, and the fact that execute=true triggers a live page fetch. Minor gaps remain (no rate limits, no pagination/result-size caveats for execute), so not a full 5.

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-loaded with purpose, then labeled RESOLUTION/BOOLEAN/EXCLUSION/EXECUTION blocks that map to how an agent scans. Dense but every sentence adds actionable information; no filler.

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 30-parameter tool with an output schema present, the description covers the non-obvious behaviors an agent needs: resolution fallbacks, boolean syntax, exclusions, the execute side effect, and the chained next call. Nothing essential 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 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema: industry and region accept ids OR names with auto-resolution rules, keywords/current_title accept LinkedIn boolean syntax, and any list item may be {id|name, exclude:true}.

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 (Build) and resource (Sales Navigator people-search URL) plus scope (from structured lead-search filters). An agent can distinguish it immediately from siblings like scrape_search, salesnav_typeahead, and salesnav_resolve_industry.

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 workflow: resolve ids first (naming salesnav_resolve_industry and salesnav_typeahead type=geo/company), call this tool to get the URL, then scrape_search on it. It also names the condition that selects the disambiguation re-call path.

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