LinkedIn Automation MCP Server

LinkedIn Automation MCP Server

An MCP server for LinkedIn automation that provides tools for automatically posting messages to LinkedIn, scheduling posts, and managing LinkedIn API integration.

Category
Visit Server

README

LinkedIn Automation MCP Server

An MCP (Model Context Protocol) server for LinkedIn automation that provides tools for automatically posting messages to LinkedIn, scheduling posts, and managing LinkedIn API integration.

Features

  • Authentication: OAuth2 authentication with LinkedIn API
  • Text Posts: Create and publish text posts to LinkedIn
  • Image Posts: Upload and post images with text content
  • Post Scheduling: Schedule posts to be published at specific times
  • Profile Management: Get authenticated user's LinkedIn profile information
  • Scheduled Post Management: View, cancel, and manage scheduled posts

Installation

  1. Clone this repository
  2. Install dependencies:
    npm install
    
  3. Build the project:
    npm run build
    

Configuration

Before using this MCP server, you need to:

  1. Create a LinkedIn App:

  2. Get an Access Token:

    • Implement OAuth2 flow to get an access token
    • The access token needs the following scopes:
      • r_liteprofile (read profile information)
      • r_emailaddress (read email address)
      • w_member_social (write posts)

Tools Available

authenticate_linkedin

Authenticate with LinkedIn using an OAuth2 access token.

Parameters:

  • accessToken (string): LinkedIn OAuth2 access token

post_to_linkedin

Post a text message to LinkedIn.

Parameters:

  • text (string): The text content of the post (1-3000 characters)
  • visibility (string): Post visibility - "PUBLIC", "CONNECTIONS", or "LOGGED_IN_MEMBERS" (default: "PUBLIC")

post_image_to_linkedin

Post an image with text to LinkedIn.

Parameters:

  • text (string): The text content of the post (1-3000 characters)
  • imageUrl (string): URL of the image to include in the post
  • altText (string, optional): Alternative text for the image
  • visibility (string): Post visibility - "PUBLIC", "CONNECTIONS", or "LOGGED_IN_MEMBERS" (default: "PUBLIC")

schedule_linkedin_post

Schedule a post to be published later on LinkedIn.

Parameters:

  • text (string): The text content of the post (1-3000 characters)
  • scheduledTime (string): ISO 8601 timestamp for when to publish the post
  • visibility (string): Post visibility - "PUBLIC", "CONNECTIONS", or "LOGGED_IN_MEMBERS" (default: "PUBLIC")

get_linkedin_profile

Get the authenticated user's LinkedIn profile information.

Parameters: None

get_scheduled_posts

Get all scheduled posts.

Parameters: None

cancel_scheduled_post

Cancel a scheduled post.

Parameters:

  • scheduleId (string): The ID of the scheduled post to cancel

Usage with Claude Desktop

  1. Build the server:

    npm run build
    
  2. Add to Claude Desktop configuration (claude_desktop_config.json):

    {
      "mcpServers": {
        "linkedin-automation": {
          "command": "node",
          "args": ["/absolute/path/to/linkedin-automation-mcp/build/index.js"]
        }
      }
    }
    
  3. Restart Claude Desktop

Development

# Install dependencies
npm install

# Build the project
npm run build

# Run the server (for testing)
npm start

# Development mode (build and run)
npm run dev

LinkedIn API Rate Limits

This server respects LinkedIn API rate limits:

  • Rate limit information is tracked and logged
  • Automatic retry with backoff for rate-limited requests
  • Best practices for API usage

Security Considerations

  • Access Tokens: Never commit access tokens to version control
  • Scopes: Only request necessary OAuth scopes
  • Rate Limiting: Respect LinkedIn's API rate limits
  • Error Handling: Proper error handling for API failures

Error Handling

The server includes comprehensive error handling for:

  • Authentication failures
  • API rate limits
  • Network errors
  • Invalid parameters
  • LinkedIn API errors

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Support

For issues and questions:

  1. Check the LinkedIn Developer Documentation
  2. Review the MCP documentation at https://modelcontextprotocol.io/
  3. Create an issue in this repository

Disclaimer

This project is not officially affiliated with LinkedIn. Use in accordance with LinkedIn's API Terms of Service and Community Guidelines.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured