🏆 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

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
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
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
MATLAB MCP Server

MATLAB MCP Server

Integrates MATLAB with AI to execute code, generate scripts from natural language, and access MATLAB documentation seamlessly.

Local
JavaScript
Macrostrat MCP Server

Macrostrat MCP Server

Enables Claude to query comprehensive geologic data from the Macrostrat API, including geologic units, columns, minerals, and timescales through natural language.

Local
JavaScript
MCP Word Counter

MCP Word Counter

A Model Context Protocol server that provides tools for analyzing text documents, including counting words and characters. This server helps LLMs perform text analysis tasks by exposing simple document statistics functionality.

Local
JavaScript