nvNeuralVerge
AI Agents & MCP

LinkedIn MCP: Give Your AI Agent Live LinkedIn Data as a Tool

MCP LinkedIn: expose NeuralVerge's LinkedIn endpoints as MCP tools so an agent can look up a company or person mid-task, not hard-coded into a pipeline.

Published August 17, 2026

An autonomous agent that needs to find out what a company does, or confirm someone's current headline matches the title a lead form claims, has two ways to get there: a developer pre-wires the lookup into a fixed pipeline step, or the agent decides for itself, mid-task, that it needs the data and calls a tool to get it. LinkedIn MCP — or MCP LinkedIn — is the second path: NeuralVerge's LinkedIn-sourced endpoints exposed as tools over the Model Context Protocol, so an agent can reach for a company search, a people search, or any of the other LinkedIn lookups exactly when its own reasoning decides it needs one, instead of a human having decided that in advance.

What "LinkedIn MCP" actually means

It's easiest to place against the two paths teams reach for instead.

MCP vs. a hard-coded REST call

Calling a REST endpoint directly from backend code is the right shape when a developer already knows a lookup belongs at a specific point in a flow — resolving a contact's profile right after a lead record is created, for instance. The call happens because the code says it happens, on a schedule the developer controls. MCP inverts that: the tool is available, but whether and when it gets called is a decision the agent's own reasoning makes mid-task, based on what the task in front of it actually requires. Both reach the same underlying endpoints and return the same response shape — the full endpoint reference covers the REST side in detail — MCP just changes who decides when to call.

MCP vs. LinkedIn's own partner APIs

LinkedIn's own official APIs are partner-gated, scoped to specific approved use cases, and not built around giving a general-purpose AI agent free-form access to public profile and company data on demand. NeuralVerge's LinkedIn-sourced endpoints return publicly visible profile and company information read at request time — a genuinely different product from an official partner integration, and one built specifically to be callable as a tool rather than requiring a partnership agreement for the use case at hand.

NeuralVerge is an independent product and is not affiliated with, endorsed by, or connected to LinkedIn Corporation. LinkedIn is a trademark of its owner.

MCP vs. scraping LinkedIn directly and wrapping it as a tool

A team could, in principle, build its own scraper against LinkedIn's pages and wrap the result as a custom MCP tool. That means owning the maintenance of selectors against a site that changes its markup regularly and runs active anti-automation defenses, plus the compliance exposure of automating against the site directly — a considerably heavier lift than connecting to endpoints already built and maintained for exactly this.

MCP vs. a B2B contact database

The last option is a B2B contact and company database. The difference is where the answer comes from: a stored copy refreshed on the vendor's schedule, or the public profile read at the moment the agent calls.

How an agent actually uses a LinkedIn tool over MCP

1. The tool is described, not hard-wired

Five LinkedIn-sourced endpoints are exposed with their own tool definitions — profile lookup by URL including email when available (run_linkedin_email), profile by name and domain (run_linkedin_domain), company search (run_linkedin_company_search), people search (run_linkedin_people_search) and company employee search (run_linkedin_company_employee) — each with a name, a description of what it does, and the parameters it takes. An agent reasoning over its available tools sees these descriptions the same way it sees any other tool in its function-calling schema, not as one generic "look up LinkedIn" capability.

2. The agent decides whether it needs one

Partway through a task — qualifying a lead, drafting outreach, checking a claim — the agent's own reasoning may surface a gap: it needs to know what a company does, or confirm a person's current headline, and doesn't have that fact yet. Recognizing that gap and deciding to call a tool to close it is the agent's job, not a step a developer scripted in advance.

3. The call goes out with the parameters the tool needs

Once the agent picks a tool — say, profile by name and domain because all it has is a name and a company from a signup form — it supplies the parameters that endpoint expects and the call runs the same way a direct REST call would, against the same underlying source.

4. The result comes back in the same shape either way

The response returns through the same outer envelope used across NeuralVerge's source catalog, regardless of whether the call arrived over MCP or REST. That consistency is what lets the agent's own reasoning — or a downstream step in its task — treat the result the same way it would treat any other structured tool output, without a separate parser for the MCP path.

A worked example: an agent qualifying a lead mid-conversation

Take a concrete, illustrative case: a sales-facing agent is mid-conversation with a rep, drafting an outreach note for a signup from Acme Oy (Finland), and the signup record only has a name and a work email.

  1. —The agent recognizes it doesn't have a LinkedIn profile URL for the contact — only a name and a company domain from the signup form — and calls the profile by name and domain tool (run_linkedin_domain) to resolve one.
  2. —With a profile URL now in hand, the agent calls the profile lookup tool (run_linkedin_email) to pull the contact's current headline and about text, plus an email when one is available, since a note that reflects the person's actual role reads as considered rather than generic.
  3. —The agent also calls the company search tool (run_linkedin_company_search) for Acme Oy to pull its industry, headquarters and short description — company context worth folding into how the note is framed.
  4. —All of this happens because the agent's own reasoning decided, step by step, that each piece of information was missing and worth fetching — not because a developer wrote a fixed three-step pipeline in advance. A different conversation, needing different facts, would call a different subset of the same tools.

A worked example: an agent sourcing candidates for an open role

A second, distinct case: a recruiting agent is working an open role and has a rough candidate profile in mind — seniority, function, and a handful of target companies — rather than a specific person to look up.

  1. —The agent calls the people search tool (run_linkedin_people_search) with title, seniority, and industry filters to surface a first pool of candidates matching the role, rather than starting from a single known name.
  2. —For the strongest matches, the agent calls the profile lookup tool (run_linkedin_email) to pull each candidate's headline, location and about text, plus an email when one is available — enough for the agent's own reasoning to check the match before deciding who to shortlist.
  3. —For a specific competitor the hiring manager mentioned by name, the agent calls company employee search (run_linkedin_company_employee) against that company's page, filtered by title, to surface people who wouldn't have turned up from search keywords alone because their public headline doesn't happen to use the exact words being searched for.
  4. —Because each of these three calls was the agent's own decision, made mid-task as the shortlist took shape, a different role — different seniority, different target companies — would trigger a different sequence entirely, without a developer having pre-scripted either path.

Scoping what an agent can call

Exposing every LinkedIn lookup as a tool doesn't mean every agent in a system should have access to all of them. A conversational agent drafting outreach copy has a real reason to call the profile lookup for a person it already has; it has much less reason to call company employee search, which can return a batch of people an agent wasn't asked to look up. Scoping which tools a given agent is allowed to reach for — narrower for a chat-facing assistant, broader for a dedicated research or sourcing agent — is a decision made in how the tool set is wired up for that agent, not something MCP enforces on its own. The protocol makes a tool callable; whether a specific agent instance should be allowed to call it is a design choice that sits with whoever configures that agent, the same way it would for a REST integration with the same endpoints.

What's live today

The MCP server is hosted by NeuralVerge at https://api.neuralverge.ai/functions/v1/mcp-server, speaks Streamable HTTP and takes the same bearer token as the REST API, so there is nothing to host yourself. All five LinkedIn lookups are reachable through it as dedicated run_linkedin_* tools. The same server also exposes search, AI extraction and every other data source in the source catalog; AI research runs over REST only.

A practical consequence worth planning around: a workflow can start on REST and move individual calls to MCP later, or the other way round, without anything about how it reads results changing underneath it, because each tool takes the same inputs and returns the same response shape as its REST endpoint.

Because the same server carries every data source, an agent that starts with a LinkedIn lookup can go on to resolve an email or phone number, or read a corporate registry page through run_extract, without a second integration, and every call returns a session id you can trace later.

Response shape: the same regardless of interface

Which interface to use is an integration decision. The response shape is identical either way, which matters more than it sounds: a client that already knows how to parse a company search or a people search result doesn't need a second parser just because the call arrived through a different protocol.

Where teams use MCP LinkedIn tools

  • —Sales and recruiting agents that reason over what they're missing. Rather than a fixed enrichment pipeline that always runs the same three calls, an agent decides per lead or per candidate which LinkedIn lookup actually applies.
  • —Conversational agents drafting outreach. Pulling a person's current headline or a company's industry and headquarters mid-conversation, exactly when the draft needs that detail, rather than front-loading every possible fact before the conversation starts.
  • —Due-diligence and research agents that combine a LinkedIn lookup with other tools — search for candidate pages, AI extraction for a specific page — under one consistent set of tool calls rather than a separate integration per data source, and hand compound questions to AI research over REST.
  • —Data-hygiene agents that re-check existing CRM contacts on their own initiative when something else in a task makes a stale record relevant, rather than waiting for a fixed refresh schedule.
  • —Recruiting sourcing agents that build and refine a candidate pool over the course of a task, reaching for people search, company employee search, or a specific profile lookup as the shortlist takes shape rather than running one fixed search up front.

What to check before you wire up LinkedIn as an MCP tool

  • —Which of the five LinkedIn tools matches the input you actually have? A profile URL, a name and a domain, a list of companies, or just a set of filters each map to a different tool — check the data source page for the exact input each one expects.
  • —Does your agent framework actually speak MCP, or does it need a REST wrapper? MCP is a protocol both the client and the tool provider need to support — confirm your framework's MCP support before assuming a tool definition alone is enough.
  • —Do the agent's tool descriptions distinguish the LinkedIn tools clearly enough for it to pick correctly? A vague description on a company-search tool versus a people-search tool can lead an agent to call the wrong one for an ambiguous request.
  • —Are you prepared for the missing-data case? A private profile or an unmatched name returns empty fields, not an error — an agent's downstream reasoning needs to handle "nothing found" as a normal outcome, not a failure to catch.
  • —Do you monitor tool calls the agent makes on its own initiative? An agent deciding for itself when to call a tool means usage isn't as predictable as a fixed pipeline — worth monitoring rather than assuming a fixed call count per task.
  • —Is each agent scoped to the tools it actually needs? A chat-facing assistant with access to a batch-returning tool like company employee search can end up calling it for a task that only needed one profile — narrow the tool set per agent rather than exposing every tool by default.

Wiring up one real agent task that plausibly needs more than one of the LinkedIn lookups, and watching which tools it actually reaches for, is a faster way to judge fit than reading a tool list on its own.

Frequently asked questions

Do I need to build my own MCP server to use this?

No — NeuralVerge exposes its endpoints, including the LinkedIn-sourced ones, as MCP tools directly. Connect an MCP-compatible agent framework to the endpoint documented at docs.neuralverge.ai and the tools are available to reason over, without standing up a server of your own.

Is MCP access to LinkedIn data fully live?

Yes. NeuralVerge's hosted MCP server exposes all five LinkedIn tools — run_linkedin_email, run_linkedin_domain, run_linkedin_company_search, run_linkedin_people_search and run_linkedin_company_employee. Each tool is a thin wrapper of its REST endpoint, with the same inputs and outputs.

Does the agent need to know which of the LinkedIn tools to call?

The agent reasons over the tool descriptions and picks the one matching what it needs — a company search tool versus a people search tool have different descriptions and parameters, the same way any two distinct tools in a function-calling schema would. Nothing about MCP collapses that choice into one generic "LinkedIn" tool.

Can I use these tools with any MCP-compatible agent, or only specific ones?

Any client that speaks MCP can connect to the same tool definitions — the protocol is built to be client-agnostic, so the choice of agent framework doesn't require a different integration on NeuralVerge's side.

Should every agent in my system have access to all the LinkedIn tools?

Not necessarily. MCP makes a tool callable; it doesn't decide which agents should be allowed to call it. Scoping a chat-facing agent to a narrower set of tools than a dedicated research or sourcing agent is a configuration decision made when the tool set is wired up, the same as it would be for an equivalent REST integration.

About NeuralVerge

Give your agents structured, cited, real-world data from 250+ sources and the open web — through one API or MCP server.

AI Agents & MCP on the NeuralVerge blog.

Try it on your own data

One request format across research, extraction, and enrichment.

Get started