Skip to main content
Glama
bhaktatejas922

unipile-linkedin-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UNIPILE_API_KEYYesYour Unipile API key
UNIPILE_BASE_URLYesBase URL for Unipile API (e.g., https://api13.unipile.com:14376/api/v1)
UNIPILE_ACCOUNT_IDYesYour Unipile account ID

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_accountsA

List all connected LinkedIn accounts.

Returns information about all accounts linked to your Unipile integration, including account IDs, status, and provider information.

get_my_profileA

Get the authenticated user's full LinkedIn profile.

Returns comprehensive profile data including name, headline, summary, experience, education, skills, and more for the currently connected account.

search_peopleA

Search for people on LinkedIn using Classic LinkedIn filters.

This is the standard LinkedIn search available to all users. Use get_search_params() to find valid IDs for location, industry, and company filters.

Args: keywords: Free text search (name, title, company, etc.) location: List of location IDs (use get_search_params to find IDs) industry: List of industry IDs company: List of current company IDs past_company: List of past company IDs network_distance: Connection degree [1, 2, 3] - 1=1st degree, 2=2nd degree, 3=3rd+ profile_language: ISO language codes (e.g., ["en", "fr"]) limit: Max results per page (1-50, default 25) cursor: Pagination cursor from previous response

Returns: Search results with profiles and pagination cursor

search_people_sales_navA

Search for people using LinkedIn Sales Navigator (requires Sales Nav subscription).

Sales Navigator provides advanced filters not available in Classic LinkedIn. Use get_search_params() to find valid IDs for filters.

Args: keywords: Free text search location: List of location IDs industry: List of industry IDs company: List of current company IDs past_company: List of past company IDs network_distance: Connection degree [1, 2, 3] profile_language: ISO language codes tenure: Years at current company, e.g., {"min": 1, "max": 5} seniority_level: Job levels (e.g., ["Director", "VP", "CXO"]) function: Job functions (e.g., ["Engineering", "Sales"]) company_headcount: Company size ranges, e.g., [{"min": 51, "max": 200}] changed_jobs: True to find people who recently changed jobs posted_on_linkedin: True to find active LinkedIn posters limit: Max results per page (1-100, default 25) cursor: Pagination cursor from previous response

Returns: Search results with profiles and pagination cursor

search_companiesA

Search for companies on LinkedIn.

Use get_search_params() to find valid IDs for industry and location filters.

Args: keywords: Company name or description keywords industry: List of industry IDs location: List of location IDs (headquarters) headcount_min: Minimum employee count headcount_max: Maximum employee count has_job_offers: True to find companies currently hiring limit: Max results per page (1-50, default 25) cursor: Pagination cursor from previous response

Returns: Search results with company profiles and pagination cursor

search_postsA

Search for LinkedIn posts/content.

Args: keywords: Content keywords to search for (required) sort_by: "relevance" or "date" (default: relevance) date_posted: "past_day", "past_week", or "past_month" content_type: "videos", "images", or "documents" limit: Max results per page (1-50, default 25) cursor: Pagination cursor from previous response

Returns: Search results with posts and pagination cursor

get_search_paramsA

Get valid parameter IDs for search filters.

LinkedIn search filters require specific IDs (not names). Use this tool to look up the IDs for locations, industries, companies, etc.

Args: param_type: Parameter type (case-insensitive) - one of: Common parameters: - "LOCATION" - Geographic locations - "INDUSTRY" - Industry categories - "COMPANY" - Companies - "SCHOOL" - Educational institutions - "PEOPLE" - People - "CONNECTIONS" - Connections - "SERVICE" - Services - "JOB_FUNCTION" - Job functions - "JOB_TITLE" - Job titles - "EMPLOYMENT_TYPE" - Employment types - "SKILL" - Skills

    Sales Navigator specific:
    - "REGION" - Regions
    - "DEPARTMENT" - Departments
    - "PERSONA" - Personas

query: Optional search string to filter results (e.g., "San Francisco")

Returns: List of valid parameter IDs and names for the specified type

get_profileA

Get a LinkedIn user's full profile by their provider ID.

Args: provider_id: The LinkedIn provider ID (from search results or profile URL) sections: Optional list of sections to include. Available sections: - about - experience - education - skills - certifications - languages - volunteering_experience - projects - recommendations_received - recommendations_given If not specified, returns all available sections.

Returns: Full profile data including requested sections

get_company_profileA

Get a company's LinkedIn profile/page details.

Args: company_id: The LinkedIn company ID or vanity URL name

Returns: Company profile data including description, industry, size, specialties, etc.

send_invitationA

Send a connection request to a LinkedIn user.

Note: LinkedIn limits invitation messages to 300 characters. Daily limits apply: ~80-100/day for paid accounts, ~15/week for free.

Args: provider_id: The LinkedIn provider ID of the person to connect with message: Optional personalized message (max 300 characters)

Returns: Confirmation of invitation sent or error

list_invitations_sentA

List pending outbound connection requests.

Args: limit: Max results per page (default 50) cursor: Pagination cursor from previous response

Returns: List of pending sent invitations with recipient details

list_invitations_receivedA

List inbound connection requests awaiting response.

Args: limit: Max results per page (default 50) cursor: Pagination cursor from previous response

Returns: List of pending received invitations with sender details

accept_invitationA

Accept a received connection request.

Args: invitation_id: The ID of the invitation to accept (from list_invitations_received)

Returns: Confirmation of acceptance

decline_invitationA

Decline a received connection request.

Args: invitation_id: The ID of the invitation to decline (from list_invitations_received)

Returns: Confirmation of decline

cancel_invitationA

Withdraw a sent connection request that hasn't been accepted yet.

Args: invitation_id: The ID of the sent invitation to cancel (from list_invitations_sent)

Returns: Confirmation of cancellation

list_relationsA

List your 1st degree connections on LinkedIn.

Args: limit: Max results per page (default 50) cursor: Pagination cursor from previous response

Returns: List of connections with profile summaries

list_chatsA

List LinkedIn message conversations.

Args: limit: Max results per page (default 50) cursor: Pagination cursor from previous response unread_only: If True, only return chats with unread messages

Returns: List of chat conversations with latest message preview

get_chat_messagesA

Get messages from a specific chat conversation.

Args: chat_id: The chat/conversation ID (from list_chats) limit: Max messages per page (default 50) cursor: Pagination cursor from previous response

Returns: List of messages in the chat with sender info and timestamps

send_messageA

Send a message in an existing chat conversation.

Use this for ongoing conversations with existing connections. For new conversations, use start_chat instead.

Args: chat_id: The chat/conversation ID (from list_chats) text: The message content to send

Returns: Confirmation with sent message details

start_chatA

Start a new conversation with one or more LinkedIn users.

Use this to initiate messaging with 1st degree connections. For non-connections (2nd/3rd degree), use send_inmail instead.

Args: attendees_ids: List of LinkedIn provider IDs to message text: The initial message content

Returns: New chat details including chat_id for follow-up messages

send_inmailA

Send an InMail message to non-connections (requires LinkedIn Premium or Sales Navigator).

InMail allows you to message 2nd and 3rd degree connections without connecting first. Uses InMail credits - check get_inmail_credits() first.

Args: attendees_ids: List of LinkedIn provider IDs to message subject: InMail subject line (required for InMail) text: The message body content

Returns: Confirmation with sent InMail details

get_inmail_creditsA

Check remaining InMail credits for the connected LinkedIn account.

InMail credits are used when messaging non-connections. Premium users get a monthly allocation that varies by subscription tier.

Returns: Current InMail credit balance and any additional quota info

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/bhaktatejas922/unipile-linkedin-mcp'

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