Person LinkedIn URL Resolver MCP Server
Allows resolving LinkedIn profile URLs by searching Google result pages through an Apify Google SERP proxy, returning profile URL, headline, follower count, and match confidence for each person.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Person LinkedIn URL Resolver MCP ServerFind the LinkedIn profile of Armon Dadgar at hashicorp.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Person LinkedIn URL Resolver MCP Server
Give it a person's name and company domain (or company name). Each run reads Google result pages through the Apify Google SERP proxy and returns one row per person with the LinkedIn profile URL, the headline and follower count Google shows, and a match confidence. It never opens LinkedIn and needs no LinkedIn account.
What's Inside
Related MCP server: LinkedInMCP
What it does
match_statusisfoundat a confidence of 0.8 or more with a clear lead over every other profile,ambiguous(the likely URL),not_found, orblocked.company_matchsays whether the company iscurrent(headline or a present role),former(marked prev, ex, or former), or onlymentioned.Posts, articles, and directory pages are dropped; only
/in/profile URLs are returned.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-person-linkedin-url-resolver": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-person-linkedin-url-resolver"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Restart the client. The resolve_person_linkedin_url tool appears.
Prerequisites
Node.js 18 or newer.
An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
"Find the LinkedIn profile of Armon Dadgar at hashicorp.com."
"Here are 20 names and company domains from my CRM. Find each LinkedIn URL and tell me which ones are certain."
Tool
resolve_person_linkedin_url. One tool. Example arguments:
{ "full_name": "Armon Dadgar", "company_domain": "hashicorp.com" }Inputs
Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults.
Input | Type | Description |
| string | First and last name |
| string | The company domain; give this or |
| string | Optional company name |
| string | Optional; a small boost when the headline agrees |
| string | Optional; a small boost when the snippet agrees |
| string | Optional extra query words |
| array | Up to 500 lines as |
| string | Google country code. Default us |
| string | true searches without a company; never |
| string | Optional cost cap for the run |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
Event | Free plan | Bronze | Silver | Gold |
| $0.035 | $0.03325 | $0.0315 | $0.02975 |
| $0.0005 | $0.0005 | $0.0005 | $0.0005 |
found, ambiguous, and not_found rows each cost one person-searched. blocked and error rows are free. The actor reads at most 2 Google result pages per person.
Your keys
The actor needs no key and holds none. Mamba Labs pays the platform costs of the run, Google SERP proxy traffic included.
Full actor documentation
apify.com/mambalabs/person-linkedin-url-resolver
License
MIT. See LICENSE.
Available Tools
1 toolresolve_person_linkedin_urlResolve a person's LinkedIn URLARead-only
Find a person's LinkedIn profile URL from their name and company domain or company name, read from Google result pages through the Apify Google SERP proxy; LinkedIn itself is never opened. Returns one row per person with linkedin_url, match_status (found at a confidence of 0.8 or more with a clear lead over any other profile, ambiguous with the likely URL, not_found, or blocked), match_confidence from 0 to 1, name_match, company_match (current, former, mentioned, none), the headline, snippet, and follower count Google shows, and the runner up. Batch up to 500 persons in persons. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges one event per person searched (found, ambiguous, or not found); blocked and error rows are free.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Two letter Google country code. Default us. | |
| persons | No | Several persons, one per line as Full Name | company.com | job title. Up to 500. | |
| keywords | No | Optional extra words for the Google query. | |
| location | No | Optional city or country. A small boost when the snippet agrees. | |
| full_name | No | The person's first and last name, for example Armon Dadgar. | |
| job_title | No | Optional. A headline that agrees gets a small boost. | |
| company_name | No | Optional. The company name as people write it, used instead of the word in the domain. | |
| company_domain | No | The company domain, for example hashicorp.com. Give this or company_name. | |
| max_charge_usd | No | Optional. The run stops before a charge that would pass this amount. | |
| allow_name_only | No | true searches a person with no company; such a row is never found, only ambiguous. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only/open-world/non-idempotent safety traits; the description adds substantial unannotated behavior — the 0.8 confidence threshold and clear-lead rule for 'found', the ambiguous/not_found/blocked taxonomy, per-event billing with free blocked rows, token requirements, and error-with-run-ID failure mode. This is exactly the context annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence is front-loaded with purpose and mechanism, followed by return fields, batching, and cost/auth constraints in a logical order with no filler. It is a single dense paragraph whose return-field enumeration runs long, slightly hurting scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no siblings, the description fully covers what the agent needs: return fields (linkedin_url, match_status, match_confidence, name_match, company_match, headline, snippet, followers, runner-up), failure behavior, billing model, and auth. Nothing required to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in structured form; the description mainly restates the persons batch limit and cost behavior rather than adding parameter-level meaning. With the schema doing the heavy lifting, baseline 3 applies — it does not compensate for anything missing because nothing is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (find a person's LinkedIn profile URL) and names the exact inputs it derives from (name plus company domain or name). It also discloses the mechanism (Google result pages via the Apify SERP proxy, LinkedIn never opened), so an agent knows both outcome and method without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating context: batch up to 500 persons, requires an APIFY_TOKEN, one billed event per person with blocked/error rows free, and max_charge_usd can cap spend. It does not state exclusions or a counter-case (e.g., when not to use versus manual lookup, or how allow_name_only interacts with ambiguous results beyond a schema note), so it falls 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
resolve_person_linkedin_url
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of misselection or overlap with a sibling. Its purpose is stated precisely (name + company → LinkedIn URL via Google SERP), leaving no ambiguity about what it does or does not do.
The single name resolve_person_linkedin_url follows a clear verb_object convention in snake_case. Nothing else exists to break the pattern, and the name is fully self-describing.
The server's scope is deliberately narrow (one resolution operation), so a single tool is defensible and it absorbs volume via the 500-person batch parameter. Still, a one-tool surface is thin, and the run-ID error path hints at lifecycle operations that were folded into the blob rather than exposed as tools.
The single tool covers the core workflow end to end: batch input, structured output with confidence, match status, matched components, and runner-up, plus explicit blocked/error semantics. The notable gap is that failures return a run ID with no companion tool to retrieve or retry that run, which an agent cannot work around from this surface alone.
Maintenance
Related MCP Connectors
Company employee lists from LinkedIn public pages, by job title and city, via a hosted MCP server.
Search people and companies, enrich profiles, and find email and phone over MCP.
LinkedIn companies, hiring signals and public profiles by URL. No login, no cookies. Pay per result.
Hosted LinkedIn MCP server on your own account: 35 tools for search, profiles, inbox, posts, pages.
Related MCP Servers
- AlicenseAqualityAmaintenanceReleased 3.0.0: 22 MCP tools, guided offline setup, local stdio, Chrome and manual login. No hosted deployment or job-research brief. Writes need opt-in, reviewed preview and human approval. Unofficial; provider compatibility, first-use cohorts, coordinated erasure and Windows privacy proof remain unverified. No mandatory paid service.22367 npm12MIT
- AlicenseNot gradedqualityDmaintenanceAn innovative MCP server that transforms LinkedIn API interactions, enabling advanced people search, profile retrieval, and job market intelligence through natural language.49 npmMIT
- AlicenseAqualityDmaintenanceEnables searching and scraping of LinkedIn profiles, companies, jobs, and posts using natural language through MCP-compatible AI clients.13MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI-powered LinkedIn content creation, profile and company analytics, lead generation, and connection request automation through MCP tools.-