This article is also available in:

PerfectPost MCP Server

PerfectPost MCP Server

Description

PerfectPost is a LinkedIn content management platform that helps creators and professionals track their post performance, manage drafts, and optimize their content strategy.

This MCP server gives AI assistants read and write access to a user's PerfectPost account: published posts with engagement analytics, drafts lifecycle (create, edit, schedule), and LinkedIn profile data.

The server is deployed as a remote, hosted MCP endpoint: no local installation required. Authentication is handled via OAuth 2.0 (Authorization Code flow with PKCE) through the PerfectPost identity provider (Amazon Cognito).

MCP endpoint: https://mcp.perfectpost.social/mcp Transport: Streamable HTTP (JSON responses, stateless)

Features

  • Post analytics: retrieve post performance metrics (impressions, likes, comments, shares, reposts) with configurable date ranges and get aggregate statistics summaries
  • Post management: list, search, and read published LinkedIn posts; update metadata such as marketing objective, categories, and favorite flag
  • Audience insights: discover who liked or commented on a specific post
  • Drafts: list, read, create, update, and schedule drafts for LinkedIn publication; attach media (image, video, PDF) from a URL
  • Profile: read the authenticated user's LinkedIn profile including name, headline, and follower statistics

Setup

Connect from Claude.ai

  1. Open Claude.ai > Settings > Integrations > Add integration
  2. Search for PerfectPost in the MCP Directory, or enter the server URL: https://mcp.perfectpost.social/mcp
  3. Click Connect: you will be redirected to the PerfectPost login page
  4. Sign in with your PerfectPost account and authorize the requested permissions
  5. Once authorized, Claude can access your PerfectPost data

Connect from Claude Desktop or other MCP clients

Add the following to your MCP client configuration:

{
"mcpServers": {
"perfectpost": {
"type": "http",
"url": "https://mcp.perfectpost.social/mcp",
"oauth": true
}
}
}

On first use, the client will open a browser window to complete the OAuth authentication flow.

The OAuth client ID is dnakgf4sbal93ukngisqgb3vo. Dynamic Client Registration is not supported: all MCP clients use this pre-registered client ID.

Authentication

The server implements OAuth 2.0 Authorization Code flow with PKCE as required by the MCP specification for remote servers.

Parameter

Value

Authorization endpoint

https://id.perfectpost.fr/oauth2/authorize

Token endpoint

https://id.perfectpost.fr/oauth2/token

Scopes

openid, email, profile

Client ID

dnakgf4sbal93ukngisqgb3vo

Client type

Public (no client secret, PKCE required)

A free PerfectPost account is sufficient to connect. Some advanced analytics features may require a paid plan.

No API key or manual configuration is needed: the OAuth flow handles everything automatically.

Tools

Read-only tools

Tool

Description

list_posts

List published LinkedIn posts with pagination and date filters

get_post

Get the full content and engagement metrics for a single post

search_posts

Full-text search across your published posts

get_posts_stats_summary

Aggregate analytics over a time range (totals and top posts)

get_post_likers

List people who liked a specific post

get_post_commenters

List people who commented on a specific post

get_linkedin_profile

Get your LinkedIn profile information

list_drafts

List your drafts with status and pagination filters

get_draft

Get the full content and metadata of a specific draft

All read-only tools are annotated with readOnlyHint: true and destructiveHint: false.

Write tools

Tool

Description

create_draft

Create a new draft for LinkedIn publication

update_draft

Update the content or metadata of an existing draft

schedule_draft

Schedule a draft for publication at a specific date and time

set_draft_media_from_url

Attach an image, video, or PDF to a draft from a URL

update_post

Update metadata of a published post (objective, categories, favorite)

All write tools are annotated with readOnlyHint: false and destructiveHint: true.

Examples

Example 1: Analyze your recent LinkedIn performance

User prompt:

"How did my LinkedIn posts perform last month? Show me the highlights and my best post."

What Claude does:

  1. Calls get_posts_stats_summary with a 30-day date range to retrieve aggregate metrics (total impressions, likes, comments, shares) and the list of top-performing posts
  2. Calls get_post on the top post to fetch its full text and detailed engagement stats
  3. Presents a performance summary with key metrics and the content of the best-performing post

Tools used: get_posts_stats_summary, get_post

Example 2: Create and schedule a LinkedIn draft

User prompt:

"Write a LinkedIn post about the importance of personal branding for developers, and schedule it for next Tuesday at 8:30 AM Paris time."

What Claude does:

  1. Drafts the post content with a compelling hook, body, call-to-action, and relevant hashtags
  2. Calls create_draft to save the post in PerfectPost
  3. Calls schedule_draft with the draft ID and the ISO 8601 timestamp corresponding to next Tuesday 08:30 Europe/Paris
  4. Confirms the scheduled date and time, and provides the draft ID for future reference

Tools used: create_draft, schedule_draft

Example 3: Discover who engages with your content

User prompt:

"Who liked and commented on my most popular post this year?"

What Claude does:

  1. Calls get_posts_stats_summary for a year-to-date range to identify the top post by impressions
  2. Calls get_post_likers and get_post_commenters for that post
  3. Presents the list of people who engaged, highlighting anyone who both liked and commented

Tools used: get_posts_stats_summary, get_post_likers, get_post_commenters

Example 4: Search and repurpose past content

User prompt:

"Find my posts about AI and create a new draft that summarizes the key ideas."

What Claude does:

  1. Calls search_posts with the query "AI" to find all relevant published posts
  2. Reads through the results and identifies recurring themes and insights
  3. Calls create_draft with a new synthesized post that references the original ideas
  4. Returns the draft for the user to review and edit

Tools used: search_posts, create_draft

Connection Requirements

A free PerfectPost account is required. You can create one at perfectpost.social.

No premium account, admin access, or special configuration is needed to use the MCP server. Some analytics features with extended history may be limited on free plans.

The MCP server works with any Claude platform that supports remote MCP connections (Claude.ai, Claude Desktop, Claude Code, Claude Mobile).

Privacy Policy

PerfectPost's privacy policy is available at: perfectpost.social/politique-de-confidentialite

The MCP server accesses only data that belongs to the authenticated user. No data is shared with third parties. OAuth tokens are never logged or stored by the MCP layer. The server is GDPR compliant.

Support

Response time is typically within one business day (Monday to Friday, CET).

Updated on: 27/02/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!