๐Ÿ† LinkedIn DI MCP Server

๐Ÿ† LinkedIn DI MCP Server

Audiense Digital Intelligence LinkedIn MCP Server is a server based on the Model Context Protocol (MCP) that allows Claude and other MCP-compatible clients to interact with your DI LinkedIn by Audiense account

AudienseCo

Research & Data
Visit Server

README

๐Ÿ† LinkedIn DI MCP Server

This server, based on the Model Context Protocol (MCP), allows Claude or any other MCP-compatible client to interact with the Digital Intelligence LinkedIn Insight service. It provides tools to create and analyze reports, get insights, categories, and typeahead suggestions.

โš ๏ธ Disclaimer

  • This is a Work In Progress project, so the configuration might vary in the short term.
  • This server is intended for use with official LinkedIn accounts only.
  • Access and refresh tokens contain sensitive information and should be kept secure.
  • API usage is subject to LinkedIn's terms of service and rate limits.

๐Ÿš€ Prerequisites

Before using this server, ensure you have:

  • Node.js (v18 or higher)
  • Claude Desktop App
  • LinkedIn Account with appropriate permissions
  • Auth0 Authentication credentials

โš™๏ธ Configuring Claude Desktop

  1. Open the configuration file for Claude Desktop:

    • MacOS:
      code ~/Library/Application\ Support/Claude/claude_desktop_config.json
      
    • Windows:
      code %AppData%\Claude\claude_desktop_config.json
      
  2. Add or update the following configuration:

    "mcpServers": {
      "di-linkedin": {
        "command": "/opt/homebrew/bin/node",
        "args": [
          "/ABSOLUTE/PATH/TO/YOUR/build/index.js"
        ]
      }
    }
    
  3. Save the file and restart Claude Desktop.

๐Ÿ› ๏ธ Available Tools

๐Ÿ“Œ get-linkedin-reports

Description: Retrieves the list of LinkedIn reports owned by the authenticated user.

  • Parameters:

    • paginationStart (number, optional): Pagination start index
    • paginationEnd (number, optional): Pagination end index
  • Response:

    • List of reports in JSON format

๐Ÿ“Œ get-linkedin-report

Description: Fetches detailed information about a specific LinkedIn report.

  • Parameters:

    • id (string): The ID of the report to get information for
  • Response:

    • Full report details in JSON format

๐Ÿ“Œ create-linkedin-report

Description: Creates a new LinkedIn report with audience definition.

  • Parameters:

    • id (string): The report ID
    • title (string): The report title
    • audienceDefinition (object): The audience definition
    • baselineDefinition (object, optional): The baseline definition
  • Response:

    • Confirmation of report creation

๐Ÿ“Œ get-linkedin-insights

Description: Gets insights for a specific LinkedIn report.

  • Parameters:

    • reportId (string): The ID of the report to get insights for
    • facetUrns (array of strings, optional): Filter insights by facet URNs
  • Response:

    • Insights data in JSON format

๐Ÿ“Œ get-linkedin-categories

Description: Gets categories for a specific LinkedIn report.

  • Parameters:

    • reportId (string): The ID of the report to get categories for
    • urns (array of strings, optional): Filter categories by URNs
  • Response:

    • Categories data in JSON format

๐Ÿ“Œ get-linkedin-typeahead

Description: Gets LinkedIn typeahead suggestions for a specific facet and query. Use this to search for entities like companies, job titles, skills, etc.

  • Parameters:

    • facet (string): The facet URN (e.g., urn:li:adTargetingFacet:employers). See the list of available facets using the list-linkedin-typeahead-facets tool.
    • query (string, optional): The search query to filter suggestions by keyword
  • Response:

    • Typeahead suggestions in JSON format, including name, URN, and facet URN for each suggestion
  • Example Usage:

    {
      "facet": "urn:li:adTargetingFacet:skills",
      "query": "javascript"
    }
    

๐Ÿ“Œ list-linkedin-typeahead-facets

Description: Lists all available facets that can be used with the get-linkedin-typeahead tool. Each facet represents a different type of entity you can search for.

  • Parameters: None

  • Response:

    • A list of all available facets with descriptions, including:
      • locations (Geographic locations)
      • titles (Current job titles)
      • employers (Current employers)
      • skills (Professional skills)
      • industries (Industries)
      • and many more

๐Ÿ“Œ list-linkedin-facet-values

Description: Lists all LinkedIn facets with predefined values, or filters by a specific facet. This tool helps you discover the exact values you can use for facets that don't use the typeahead system.

  • Parameters:

    • facet (string, optional): The specific facet URN to get values for (e.g., urn:li:adTargetingFacet:genders). If not provided, all facets with predefined values will be listed.
  • Response:

    • When no facet is specified: A comprehensive list of all facets with predefined values, including their descriptions and possible values.
    • When a facet is specified: Detailed information about the specified facet, including all possible values and usage examples.
  • Example Usage:

    {
      "facet": "urn:li:adTargetingFacet:genders"
    }
    
  • Available Facets with Predefined Values:

    • genders (e.g., "urn:li:gender:FEMALE", "urn:li:gender:MALE")
    • ageRanges (e.g., "urn:li:ageRange:(18,24)", "urn:li:ageRange:(25,34)")
    • seniorities (e.g., "urn:li:seniority:1" for "Entry level")
    • revenue (e.g., "urn:li:revenue:(1,10)" for "$1-10 million")
    • and many more

๐Ÿ“Œ get-linkedin-account

Description: Gets LinkedIn account details including LinkedIn token.

  • Parameters: None

  • Response:

    • Account details in JSON format

๐Ÿ“Œ initiate-linkedin-device-auth

Description: Initiates the device authorization flow to get a device code for authentication.

  • Parameters: None

  • Response:

    • Device authorization details and instructions

๐Ÿ› ๏ธ Troubleshooting

Tools Not Appearing in Claude

  1. Check Claude Desktop logs:
tail -f ~/Library/Logs/Claude/mcp*.log
  1. Verify environment variables are set correctly.
  2. Ensure the absolute path to index.js is correct.

Authentication Issues

  • Double-check OAuth credentials.
  • Try initiating the device authorization flow again using the initiate-linkedin-device-auth tool.
  • Verify that the required API scopes are enabled.

๐Ÿ“œ Viewing Logs

To check server logs:

For MacOS/Linux:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

For Windows:

Get-Content -Path "$env:AppData\Claude\Logs\mcp*.log" -Wait -Tail 20

๐Ÿ” Security Considerations

  • Keep API credentials secure โ€“ never expose them in public repositories.
  • Use environment variables to manage sensitive data.

๐Ÿ“„ License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.

๐Ÿ” Authentication

The server uses Auth0 device authorization flow for authentication:

  1. Use the initiate-linkedin-device-auth tool to start the authorization flow
  2. Follow the instructions to complete the authorization in your browser
  3. The server will automatically handle token management, including refreshing tokens when they expire

Recommended Servers

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python
dbt Semantic Layer MCP Server

dbt Semantic Layer MCP Server

A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.

Featured
TypeScript
mixpanel

mixpanel

Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Featured
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python
Nefino MCP Server

Nefino MCP Server

Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.

Official
Python
Vectorize

Vectorize

Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.

Official
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.

Local
Python
kb-mcp-server

kb-mcp-server

An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded

Local
Python
Research MCP Server

Research MCP Server

The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.

Local
Python