Skip to main content
Glama
southleft

LinkedIn Intelligence MCP Server

by southleft

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLogging level (DEBUG, INFO, WARNING, ERROR)INFO
DATABASE_URLNoDatabase connection URLsqlite+aiosqlite:///data/linkedin_mcp.db
LINKEDIN_API_ENABLEDNoEnable the LinkedIn API clientfalse
FEATURE_POST_SCHEDULINGNoEnable post schedulingtrue
FEATURE_BROWSER_FALLBACKNoEnable Playwright browser automationtrue
FEATURE_ANALYTICS_TRACKINGNoEnable analytics featurestrue

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{
  "tasks": {
    "list": {},
    "cancel": {},
    "requests": {
      "tools": {
        "call": {}
      },
      "prompts": {
        "get": {}
      },
      "resources": {
        "read": {}
      }
    }
  }
}

Tools

Functions exposed to the LLM to take actions

NameDescription
debug_contextA

Debug tool to check the internal state of the MCP server.

Returns information about:

  • Whether LinkedIn client is initialized

  • Settings configuration

  • Cookie file status

  • Initialization errors

get_my_profileA

Get the authenticated user's LinkedIn profile.

Returns profile data including:

  • Basic info (name, email, picture)

  • LinkedIn member ID

Uses the Official LinkedIn API (OAuth 2.0) when available for reliable results. Falls back to unofficial API if official client is not configured.

get_profileA

Get comprehensive LinkedIn profile data with multi-source enrichment.

Uses the Profile Enrichment Engine to aggregate data from multiple endpoints in parallel, providing the most complete profile information available.

Args: profile_id: LinkedIn public ID (e.g., "johndoe") or URN use_cache: Whether to use cached data if available (default: True) include_activity: Include recent activity/posts (default: True) include_network: Include network stats like connections/followers (default: True) include_badges: Include member badges like Premium status (default: True)

Returns comprehensive profile data including:

  • Basic info (name, headline, location, photo)

  • Contact information (if available)

  • Skills and endorsements

  • Network information (connections, followers, distance)

  • Member badges (Premium, Creator, etc.)

  • Recent activity summary

  • Enrichment metadata showing data sources used

get_profile_contact_infoB

Get contact information for a LinkedIn profile.

Args: profile_id: LinkedIn public ID

Returns contact info including email, phone, websites, and social profiles.

get_profile_skillsB

Get skills and endorsements for a LinkedIn profile.

Args: profile_id: LinkedIn public ID

Returns skills categorized by endorsement count with top endorsers.

get_profile_interestsA

Get profile interests including influencers, companies, groups, and topics.

This data is unique to the Professional Network Data API and provides insights into what/who a person follows on LinkedIn.

Args: profile_id: LinkedIn public ID (e.g., "johndoe")

Returns: Profile interests organized by category (influencers, companies, groups, topics)

get_similar_profilesB

Get profiles similar to a given profile.

Uses the Professional Network Data API to find similar profiles based on industry, role, skills, and other factors.

Args: profile_id: LinkedIn public ID (e.g., "johndoe") limit: Maximum number of similar profiles to return (default: 10)

Returns: List of similar profiles with relevance scoring

get_profile_articlesA

Get articles written by a LinkedIn profile.

Uses the Professional Network Data API to fetch articles (long-form content) published by the specified profile.

Args: profile_id: LinkedIn public ID (e.g., "johndoe") limit: Maximum number of articles to return (default: 20)

Returns: List of articles with title, content preview, and engagement metrics

get_articleA

Get the full content of a LinkedIn article.

Uses the Professional Network Data API to fetch the complete article content, author information, and engagement metrics.

Args: article_url: Full URL of the LinkedIn article

Returns: Article content with title, body, author info, and engagement data

get_company_by_domainA

Get company information by website domain.

Uses the Professional Network Data API to look up a company by its website domain (e.g., "anthropic.com" → Anthropic).

Args: domain: Company website domain (e.g., "anthropic.com")

Returns: Company information including name, industry, size, and LinkedIn URL

get_network_statsB

Get statistics about the authenticated user's LinkedIn network.

Returns network size, growth indicators, and connection insights.

batch_get_profilesA

Get multiple LinkedIn profiles efficiently.

Args: profile_ids: Comma-separated list of profile public IDs (max 10)

Returns profiles with basic info and success/failure status for each.

get_cache_statsB

Get cache statistics and performance metrics.

Returns cache size, hit rate, and memory usage.

get_feedB

Get the authenticated user's LinkedIn feed.

Args: limit: Maximum number of feed items to return (default: 10, max: 50) use_cache: Whether to use cached data if available (default: True)

Returns recent feed posts with engagement data.

get_profile_postsB

Get posts from a specific LinkedIn profile.

Args: profile_id: LinkedIn public ID or URN limit: Maximum number of posts to return (default: 10, max: 50) use_cache: Whether to use cached data if available (default: True)

Returns posts with engagement metrics (likes, comments, shares).

create_postA

Create a new LinkedIn post using the Official API (recommended) or unofficial API.

Uses the Official LinkedIn API with w_member_social scope when available. This is the TOS-compliant method that requires enabling "Share on LinkedIn" product.

Args: text: Post content (max 3000 characters) visibility: Post visibility - PUBLIC or CONNECTIONS

Returns the created post details including post URN.

create_image_postA

Create a LinkedIn post with an image using the Official API.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

Args: text: Post text content (max 3000 characters) image_path: Image source - can be: - Absolute path to local file (JPG, PNG, GIF) - URL to image (http:// or https://) - Base64-encoded image (data:image/png;base64,...) alt_text: Accessibility text describing the image (recommended) visibility: Post visibility - PUBLIC or CONNECTIONS

Returns the created post details including post URN and image URN.

create_video_postA

Create a LinkedIn post with a video using the Official API.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

LinkedIn supports video uploads up to 10 minutes for most users. Supported formats: MP4 (recommended), MOV Maximum file size: 200MB Recommended specs: 1080p, H.264 codec, AAC audio, 30fps

Args: text: Post text content (max 3000 characters) video_path: Video source - can be: - Absolute path to local file (MP4, MOV) - URL to video (http:// or https://) title: Optional title for the video visibility: Post visibility - PUBLIC or CONNECTIONS

Returns the created post details including post URN and video URN. Note: Video may take a few minutes to process before appearing in the feed.

create_document_postA

Create a LinkedIn post with a document (PDF, PPTX, DOCX) using the Official API.

Documents appear as carousel-style slideshows in the LinkedIn feed. Great for sharing presentations, guides, reports, etc.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

Supported formats: PDF (recommended), PPTX, DOCX Maximum file size: 100MB

Args: text: Post text content (max 3000 characters) document_path: Document source - can be: - Absolute path to local file (PDF, PPTX, DOCX) - URL to document (http:// or https://) title: Optional title for the document (defaults to filename) visibility: Post visibility - PUBLIC or CONNECTIONS

Returns the created post details including post URN and document URN.

create_pollA

Create a LinkedIn poll using the Official API.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

Args: question: Poll question (also displayed as post text, max 140 characters) options: Comma-separated poll options (2-4 options, each max 140 characters) duration_days: Poll duration - 1, 3, 7, or 14 days (default: 7) visibility: Post visibility - PUBLIC or CONNECTIONS

Returns the created poll post details.

delete_postA

Delete a LinkedIn post using the Official API.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

Args: post_urn: The URN of the post to delete (e.g., "urn:li:share:123456")

Returns success status.

edit_postA

Edit/update an existing LinkedIn post using the Official API.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

Args: post_urn: The URN of the post to edit (e.g., "urn:li:share:123456") text: New text content for the post (optional, max 3000 characters) image_path: Path to new image file to replace existing media (optional) alt_text: Alt text for the new image (optional)

Returns: Success status with updated fields information.

Note: At least one of 'text' or 'image_path' must be provided. This uses LinkedIn's PARTIAL_UPDATE method to update only specified fields.

create_commentA

Create a comment on a LinkedIn post using the Official API.

Requires "Share on LinkedIn" product enabled in your LinkedIn Developer app.

Args: post_urn: The URN of the post to comment on (e.g., "urn:li:share:123456" or "urn:li:activity:123456") text: The comment text content (max 1250 characters) parent_comment_urn: Optional URN of parent comment for nested replies image_path: Optional image source (only for nested replies) - can be: - Absolute path to local file (JPG, PNG, GIF) - URL to image (http:// or https://) - Base64-encoded image (data:image/png;base64,...)

Returns the created comment details including comment ID.

Note: LinkedIn only allows images in nested comments (replies to other comments), not in top-level comments directly on posts.

Note: Commenting requires the "Community Management API" product from LinkedIn, which has a separate approval process. The "Share on LinkedIn" product only allows creating posts, not comments. If you receive a permission error, you'll need to apply for Community Management API access in your Developer Portal.

delete_commentA

Delete a comment from a LinkedIn post using the Official API.

Requires "Community Management API" product enabled in your LinkedIn Developer app.

Args: post_urn: The URN of the post containing the comment (e.g., "urn:li:share:123456" or "urn:li:activity:123456") comment_id: The ID or URN of the comment to delete

Returns success status.

Note: You can only delete comments that you have authored.

get_comments_officialA

Get comments on a LinkedIn post using the Official API.

Requires "Community Management API" product enabled in your LinkedIn Developer app.

Args: post_urn: The URN of the post (e.g., "urn:li:share:123456" or "urn:li:ugcPost:123456") start: Pagination start index (default: 0) count: Number of comments to return (default: 50, max: 100)

Returns list of comments with: - id: Comment ID - urn: Full comment URN (use this as parent_comment_urn to reply) - actor_urn: URN of the comment author - actor_name: Name of the comment author (if available) - text: Comment text content - parent_comment: URN of parent comment if this is a reply - created_at: Timestamp when comment was created

Use the returned comment URN as parent_comment_urn in create_comment to reply to a comment.

create_reactionA

Add a reaction to a LinkedIn post or comment using the Official API.

Requires "Community Management API" product enabled in your LinkedIn Developer app.

Args: target_urn: The URN of the post or comment to react to (e.g., "urn:li:share:123456", "urn:li:activity:123456", "urn:li:comment:(urn:li:activity:123,456)") reaction_type: Type of reaction to add. Options: - LIKE (👍 Like) - default - PRAISE or CELEBRATE (👏 Celebrate) - EMPATHY or LOVE (❤️ Love) - INTEREST or INSIGHTFUL (💡 Insightful) - APPRECIATION or SUPPORT (🙏 Support) - ENTERTAINMENT or FUNNY (😄 Funny)

Returns the created reaction details.

Note: The MAYBE reaction type is deprecated and no longer supported.

delete_reactionA

Remove a reaction from a LinkedIn post or comment using the Official API.

Requires "Community Management API" product enabled in your LinkedIn Developer app.

Args: target_urn: The URN of the post or comment to remove reaction from (e.g., "urn:li:share:123456", "urn:li:activity:123456")

Returns success status.

Note: This removes your reaction from the specified content.

get_auth_statusA

Get LinkedIn authentication status for both official and unofficial APIs.

Returns detailed status including:

  • Official API status (OAuth token expiry, available features)

  • Unofficial API status (cookie freshness, available features)

  • Recommended actions if not authenticated

search_adsA

Search for ads in the LinkedIn Ad Library.

The Ad Library provides transparency into ads running on LinkedIn. At least one of keyword or advertiser must be provided.

Requires "LinkedIn Ad Library" product enabled in your LinkedIn Developer app.

Args: keyword: Search term to find in ad content advertiser: Company/advertiser name to search for country: ISO 3166-1 alpha-2 country code (e.g., "US", "GB", "DE") count: Number of results to return (default 25, max 100)

Returns: List of ads matching the search criteria with details including: - Advertiser and payer information - Ad content (text, images, videos) - Impression data and targeting parameters

search_ads_by_advertiserA

Search for all ads by a specific advertiser/company.

Requires "LinkedIn Ad Library" product enabled in your LinkedIn Developer app.

Args: advertiser_name: Name of the advertiser/company to search for country: Optional country filter (ISO 3166-1 alpha-2 code) count: Number of results to return (default 25, max 100)

Returns: List of ads from the specified advertiser with full details.

search_ads_by_keywordA

Search for ads containing a specific keyword.

Requires "LinkedIn Ad Library" product enabled in your LinkedIn Developer app.

Args: keyword: Search term to find in ad content country: Optional country filter (ISO 3166-1 alpha-2 code) count: Number of results to return (default 25, max 100)

Returns: List of ads matching the keyword with full details.

analyze_draft_contentC

Analyze draft content and get suggestions for improvement.

Args: content: Draft post content to analyze industry: Optional industry for targeted hashtag suggestions

Returns content analysis with score, suggestions, and recommended hashtags.

create_draftB

Create a content draft for later publishing.

Args: content: Draft content title: Optional title for organization tags: Comma-separated tags for categorization

Returns the created draft details.

list_draftsB

List all content drafts.

Args: tag: Optional tag to filter by

Returns list of drafts sorted by last update.

get_draftC

Get a specific draft by ID.

Args: draft_id: ID of the draft

Returns the draft details.

update_draftB

Update a content draft.

Args: draft_id: ID of the draft to update content: New content (optional) title: New title (optional) tags: New comma-separated tags (optional)

Returns the updated draft.

delete_draftB

Delete a content draft.

Args: draft_id: ID of the draft to delete

Returns success status.

publish_draftB

Publish a draft as a LinkedIn post.

Args: draft_id: ID of the draft to publish visibility: Post visibility - PUBLIC, CONNECTIONS, or LOGGED_IN

Returns the published post details.

schedule_postB

Schedule a post for future publishing.

Args: content: Post content scheduled_time: ISO format datetime (e.g., "2024-12-25T10:00:00") visibility: Post visibility - PUBLIC, CONNECTIONS, or LOGGED_IN timezone: Timezone for the scheduled time (default: UTC)

Returns the scheduled post details with job_id.

list_scheduled_postsB

List all scheduled posts.

Args: status: Filter by status (pending, published, failed, cancelled)

Returns list of scheduled posts.

get_scheduled_postC

Get a specific scheduled post.

Args: job_id: ID of the scheduled post

Returns the scheduled post details.

cancel_scheduled_postB

Cancel a scheduled post.

Args: job_id: ID of the scheduled post to cancel

Returns success status.

update_scheduled_postB

Update a scheduled post.

Args: job_id: ID of the scheduled post content: New content (optional) scheduled_time: New ISO format datetime (optional) visibility: New visibility (optional)

Returns the updated scheduled post.

get_post_reactionsB

Get reactions/likes on a specific post.

Args: post_urn: LinkedIn post URN (e.g., "urn:li:activity:123456789")

Returns list of users who reacted and reaction types.

get_post_commentsC

Get comments on a specific post.

Args: post_urn: LinkedIn post URN limit: Maximum comments to return (default: 50)

Returns list of comments with author info.

search_peopleA

Search for people on LinkedIn.

Args: keywords: General search keywords limit: Maximum results to return (default: 10, max: 50) keyword_title: Filter by job title (e.g., 'VP Engineering', 'Product Manager') keyword_company: Filter by company name

Note: Location/region filters are not supported by the underlying API.

Returns list of matching profiles with name, title, location, and profile URL.

Search priority:

  1. Fresh Data API (requires Pro plan $45/mo for search-leads endpoint)

  2. linkedin-api (cookie-based, may be blocked by LinkedIn bot detection)

search_companiesB

Search for companies on LinkedIn.

Args: keywords: Search keywords limit: Maximum results to return (default: 10, max: 50)

Returns list of matching companies.

Search priority:

  1. Fresh Data API (requires Pro plan $45/mo for search-companies endpoint)

  2. linkedin-api (cookie-based, may be blocked by LinkedIn bot detection)

search_jobsA

Search for job postings on LinkedIn.

Args: keywords: Search keywords (e.g., 'Python Developer', 'Product Manager') location_name: Location (e.g., 'San Francisco Bay Area', 'New York') job_type: Job type filter - F=Full-time, P=Part-time, C=Contract, T=Temporary, I=Internship experience: Experience level - 1=Internship, 2=Entry, 3=Associate, 4=Mid-Senior, 5=Director, 6=Executive remote: Remote options - 1=On-site, 2=Remote, 3=Hybrid distance: Distance from location in miles listed_at: Max seconds since job was posted (default: 86400 = 24 hours) limit: Maximum results to return (default: 10, max: 50)

Returns list of matching job postings.

WARNING: Uses unofficial API. May trigger LinkedIn bot detection with heavy use.

get_jobA

Get detailed information about a specific job posting.

Args: job_id: LinkedIn job ID (from search results or job URL)

Returns job details including description, requirements, company info, etc.

WARNING: Uses unofficial API.

get_job_skillsB

Get skills required for a job posting.

Args: job_id: LinkedIn job ID

Returns list of required and preferred skills for the job.

WARNING: Uses unofficial API.

get_profile_viewsA

Get profile view statistics for the authenticated user.

Returns profile view data including view count and viewer information (if available based on your LinkedIn subscription).

WARNING: Uses unofficial API.

get_conversationsB

Get your LinkedIn messaging conversations.

Args: limit: Maximum conversations to return (default: 20)

Returns list of conversations with participants and last message preview.

WARNING: Uses unofficial API. May trigger LinkedIn bot detection.

get_conversationC

Get full message history for a specific conversation.

Args: conversation_id: Conversation ID (from get_conversations results)

Returns conversation details with full message history.

WARNING: Uses unofficial API.

get_conversation_detailsA

Get conversation ID and details for a specific profile.

Useful for finding the conversation ID to send a message to someone.

Args: profile_id: LinkedIn profile ID or URN

Returns conversation details including conversation ID.

WARNING: Uses unofficial API.

send_messageA

Send a LinkedIn message to one or more recipients.

Args: recipients: List of LinkedIn profile public IDs (e.g., ['john-doe', 'jane-smith']) text: Message content to send

Returns success status and message details.

WARNING: Uses unofficial API. May trigger LinkedIn bot detection. Sending too many messages may result in account restrictions. Use responsibly and respect LinkedIn's terms of service.

mark_conversation_as_seenB

Mark a conversation as read/seen.

Args: conversation_urn: Conversation URN ID

Returns success status.

WARNING: Uses unofficial API.

get_invitationsA

Get pending connection invitations you've received.

Args: limit: Maximum invitations to return (default: 50)

Returns list of pending invitations with sender info.

Note: LinkedIn API only supports fetching received invitations. Sent invitations are not available through this endpoint.

WARNING: Uses unofficial API.

send_connection_requestA

Send a connection request to a LinkedIn profile.

Args: profile_id: LinkedIn profile public ID (e.g., 'john-doe') message: Optional personalized message (max ~300 characters)

Returns success status and request details.

WARNING: Uses unofficial API. May trigger LinkedIn bot detection. LinkedIn limits connection requests. Use responsibly.

reply_invitationA

Accept or reject a connection invitation.

Args: invitation_id: Invitation ID (from get_invitations results) shared_secret: Shared secret (from get_invitations results) action: 'accept' or 'reject'

Returns success status.

WARNING: Uses unofficial API.

remove_connectionA

Remove an existing LinkedIn connection.

Args: profile_id: LinkedIn profile public ID of the connection to remove

Returns success status.

WARNING: This action is IRREVERSIBLE. The person will need to re-request connection and you'll need to accept. Uses unofficial API.

get_companyB

Get detailed company information.

Args: public_id: Company's public identifier (URL slug, e.g., 'microsoft')

Returns company details including description, industry, employee count, etc.

get_company_updatesB

Get recent posts/updates from a company page.

Args: public_id: Company's public identifier (URL slug) limit: Maximum updates to return (default: 10, max: 50)

Returns list of company posts/updates.

get_organization_followersA

Get follower count for an organization using the Community Management API.

This tool uses the official LinkedIn Community Management API which provides accurate follower counts for organizations you have admin access to.

Args: organization_id: LinkedIn organization URN ID (numeric, e.g., '12345678')

Returns follower count and organization details.

Note: Requires Community Management API access and admin permissions for the organization.

get_schoolB

Get school/university information.

Args: public_id: School's public identifier (URL slug)

Returns school details including name, description, follower count, etc.

get_post_analyticsA

Get analytics for a specific post.

Args: post_urn: LinkedIn post URN

Returns engagement metrics including reactions, comments, and shares. Note: View count requires Partner API access.

get_rate_limit_statusB

Get current rate limit status.

Returns remaining API calls and rate limit information.

analyze_engagementC

Perform deep engagement analysis on a specific post.

Args: post_urn: LinkedIn post URN follower_count: Author's follower count for rate calculation (optional)

Returns comprehensive engagement metrics, reaction distribution, and quality score.

analyze_content_performanceB

Analyze content performance patterns for a profile.

Args: profile_id: LinkedIn public ID post_limit: Number of posts to analyze (default: 20, max: 50)

Returns content analysis with type distribution, engagement patterns, and recommendations.

analyze_optimal_posting_timesB

Analyze optimal posting times based on engagement patterns.

Args: profile_id: LinkedIn public ID post_limit: Number of posts to analyze (default: 30, max: 50)

Returns optimal posting times by hour and day with engagement averages.

analyze_post_audienceC

Analyze the audience engaging with a specific post.

Args: post_urn: LinkedIn post URN

Returns audience demographics based on commenters' profiles.

analyze_hashtag_performanceC

Analyze hashtag usage and performance.

Args: profile_id: LinkedIn public ID post_limit: Number of posts to analyze (default: 30, max: 50)

Returns hashtag frequency, engagement correlation, and recommendations.

generate_engagement_reportC

Generate a comprehensive engagement report for a profile.

Args: profile_id: LinkedIn public ID post_limit: Number of posts to analyze (default: 20)

Returns a full engagement report with content analysis, timing, and recommendations.

get_my_postsA

Get your own LinkedIn posts.

Uses the data provider to retrieve your authored posts with metadata. Returns post URNs that can be used with get_my_post_analytics.

Args: count: Number of posts to retrieve (max 100)

Returns list of your posts with URNs, content, and timestamps.

get_my_post_analyticsA

Get analytics for your own posts using the Official API.

Uses the r_member_postAnalytics scope (Community Management API) to get accurate impression counts, engagement metrics, and reach data.

Args: post_urns: List of specific post URNs to analyze. If not provided, will fetch your recent posts automatically. limit: If no URNs provided, analyze this many recent posts (default: 10)

Returns analytics including impressions, reactions, comments, shares, and engagement rate.

analyze_my_content_performanceB

Analyze your content performance comprehensively.

Provides detailed analysis of your posting patterns, engagement metrics, best performing content types, and optimal posting times.

Args: post_limit: Number of posts to analyze (default: 30, max: 50)

Returns detailed performance analysis with content breakdown, timing insights, and recommendations.

get_my_posting_recommendationsA

Get personalized posting recommendations based on your content performance.

Analyzes your posting history to provide data-driven recommendations on content types, timing, and engagement strategies.

Args: post_limit: Number of posts to analyze for recommendations (default: 30)

Returns recommendations prioritized by potential impact.

generate_my_content_calendarA

Generate a content calendar based on your performance data.

Creates a data-driven posting schedule that optimizes for your best performing days, times, and content types.

Args: weeks: Number of weeks to plan (default: 4, max: 12) posts_per_week: Target posts per week (default: 3, max: 7)

Returns content calendar with suggested dates, times, and content prompts.

get_profile_sectionsA

Get all editable profile sections with current content.

Returns overview of profile sections including:

  • Basic info (name, headline, location)

  • About/Summary

  • Experience count

  • Education count

  • Skills overview

get_profile_completenessA

Calculate profile completeness score with improvement suggestions.

Returns:

  • Completeness score (0-100)

  • Completed vs total sections

  • Specific suggestions for improvement

update_profile_headlineA

Update profile headline.

Requires Playwright browser automation to be enabled.

Args: headline: New headline text (max 220 characters)

Returns success status.

update_profile_summaryA

Update profile summary/about section.

Requires Playwright browser automation to be enabled.

Args: summary: New summary text (max 2600 characters)

Returns success status.

upload_profile_photoA

Upload a new profile photo.

Requires Playwright browser automation to be enabled.

Args: photo_path: Absolute path to the photo file (JPG, PNG)

Returns success status.

upload_background_photoA

Upload a new background/banner photo.

Requires Playwright browser automation to be enabled.

Args: photo_path: Absolute path to the photo file (JPG, PNG)

Returns success status.

add_profile_skillA

Add a skill to your profile.

Requires Playwright browser automation to be enabled.

Args: skill_name: Name of the skill to add

Returns success status.

check_browser_automation_statusB

Check if browser automation is available for profile updates.

Returns availability status and feature capabilities.

Prompts

Interactive templates invoked by user choice

NameDescription
engagement_analysis_promptGenerate a prompt to analyze engagement patterns for a profile.
content_strategyGenerate a prompt for LinkedIn content strategy development.
competitor_analysisGenerate a prompt to analyze competitor LinkedIn activity. Args: competitor_ids: Comma-separated list of competitor profile IDs

Resources

Contextual data attached and managed by the client

NameDescription
server_infoGet LinkedIn MCP server information and status.

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

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