Taplio LinkedIn MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Taplio LinkedIn MCP ServerDraft a LinkedIn post about remote work and schedule it for Friday."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Taplio LinkedIn MCP Server
The Taplio LinkedIn MCP Server is a Model Context Protocol (MCP) server that connects AI tools directly to your Taplio account and, through it, to your LinkedIn presence. It gives AI agents, assistants, and chat clients the ability to draft, schedule, and publish LinkedIn posts, browse what you have already posted, research inspiration from other creators, and read your analytics, all through natural language.
Point your MCP host at the Taplio server and you can ask things like:
"Draft a LinkedIn post about our new MCP launch and schedule it for Tuesday 9am."
"Show me my last 10 posts and which one got the most impressions."
"Find 20 high-performing posts about
linkedin ghostwritingfrom creators under 50k followers.""How are my followers and engagement trending over the last 30 days?"
Use cases
Turning raw ideas into publish-ready LinkedIn posts, on your own voice and topics.
Automating draft creation, scheduling, and publishing from any MCP-capable client.
Building AI-assisted content workflows and reporting on top of your real LinkedIn data.
Extracting insights and analytics from your posting history without leaving your assistant.
Related MCP server: LinkedIn MCP Server
Contents
Remote Taplio MCP Server
Taplio is offered as a hosted, remote MCP server. There is nothing to install or run locally: your MCP host connects to the Taplio endpoint over HTTP and authenticates with OAuth.
Property | Value |
Transport | Streamable HTTP (remote) |
Endpoint |
|
Authentication | OAuth 2.0 (authorize in the browser, no API key to paste) |
Scope | The authenticated user's own Taplio + LinkedIn account |
Server hint | Call |
Because the server is remote and OAuth-based, you never copy a secret into a config file. Access is tied to the Taplio account you approve in the browser, and can be revoked from Taplio at any time.
Prerequisites
An active Taplio account with LinkedIn connected.
An MCP-capable host (Claude Code, Claude Desktop, VS Code with Copilot, Cursor, Windsurf, or any client that speaks MCP over HTTP).
A browser available on first connect, to complete the OAuth authorization.
Installation
Claude Code
claude mcp add --transport http taplio https://mcp.taplio.comThen run /mcp inside Claude Code and authorize taplio in the browser when prompted.
Claude Desktop / claude.ai connectors
In Claude Desktop or on claude.ai, open Settings -> Connectors -> Add custom connector, then enter:
Name:
TaplioURL:
https://mcp.taplio.com
Approve the OAuth screen. The Taplio tools then appear in the tool picker.
VS Code
Add to your user or workspace MCP configuration (.vscode/mcp.json):
{
"servers": {
"taplio": {
"type": "http",
"url": "https://mcp.taplio.com"
}
}
}Cursor
In ~/.cursor/mcp.json (or Settings -> MCP -> Add):
{
"mcpServers": {
"taplio": {
"url": "https://mcp.taplio.com"
}
}
}Windsurf
In ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"taplio": {
"serverUrl": "https://mcp.taplio.com"
}
}
}Generic MCP config
Any client that supports remote MCP servers over HTTP can use:
{
"mcpServers": {
"taplio": {
"type": "http",
"url": "https://mcp.taplio.com"
}
}
}Authentication
The Taplio MCP Server uses OAuth 2.0. On first use your client opens a browser window where you log in to Taplio and approve access. The server then acts on behalf of that single account. No API keys, tokens, or LinkedIn credentials are stored in your client config. Revoke access at any time from your Taplio account settings.
Toolsets
The tools are grouped into functional toolsets. All of them operate on the authenticated user's own account.
Toolset | Description |
Profile | Identity, content preferences, and current LinkedIn stats. |
Drafts | Create, read, list, edit, and delete unpublished post drafts. |
Publishing | Publish a draft now, schedule it, or unschedule it back to drafts. |
Posts | Browse scheduled, sending, and sent posts. |
Analytics | Account-level overview and per-post performance metrics. |
Inspiration | Search other creators' LinkedIn posts to model content on what works. |
Tools
Profile
get_me
Read this first to orient. Returns the user's identity and content preferences so you can tailor output to them
and recognize their own posts: display name and LinkedIn @handle (a user may go by several aliases, so check
both), plus ai_settings (industry, role, language, target audience, topics, keywords, description) and today's
LinkedIn stats (followers, connections, profile views).
No parameters.
Drafts
create_draft
Create a new LinkedIn post draft (unpublished). Publish it later with schedule_draft or publish_draft.
Parameter | Type | Required | Description |
| string | yes | The text body of the draft. 1 to 3000 characters. |
get_draft
Fetch a single LinkedIn post draft by id.
Parameter | Type | Required | Description |
| string | yes | The id of the draft (from |
list_drafts
List the user's unpublished LinkedIn post drafts.
Parameter | Type | Required | Description |
| integer | no | Max drafts to return. Defaults to 25, capped at 100. |
| string | no | Pagination token from a previous response. |
update_draft
Update the content of an existing draft. Only drafts can be edited: published or scheduled posts cannot.
Parameter | Type | Required | Description |
| string | yes | The id of the draft to update (from |
| string | yes | The new full text body (replaces existing). 1 to 3000 chars. |
delete_draft
Permanently delete a LinkedIn post draft.
Parameter | Type | Required | Description |
| string | yes | The id of the draft to permanently delete. |
Publishing
publish_draft
Publish a draft to LinkedIn immediately. This goes live now and cannot be undone.
Parameter | Type | Required | Description |
| string | yes | The id of the draft to publish immediately. |
schedule_draft
Schedule a draft to be published automatically at a future time.
Parameter | Type | Required | Description |
| string | yes | The id of the draft to schedule (from |
| string | yes | ISO 8601 datetime (e.g. |
unschedule
Unschedule a scheduled post, returning it to drafts so you can edit, reschedule, or delete it.
Parameter | Type | Required | Description |
| string | yes | The id of the scheduled post (from |
Posts
list_posts
List the user's LinkedIn posts (status scheduled, sending, or sent), most recent first. A draft becomes a
post once it is scheduled or published.
Parameter | Type | Required | Description |
| enum | no | Filter by |
| string | no | Only posts on or after this date (YYYY-MM-DD or ISO 8601, UTC). |
| string | no | Only posts on or before this date (YYYY-MM-DD or ISO 8601, UTC). |
| integer | no | Max posts to return. Defaults to 25, capped at 100. |
| string | no | Pagination token from a previous response. |
get_post
Fetch a single LinkedIn post by id. A post has status scheduled, sending, or sent; drafts are separate
(use get_draft).
Parameter | Type | Required | Description |
| string | yes | The id of the post (from |
Analytics
get_analytics_overview
Get the user's LinkedIn analytics overview (followers, impressions, engagement). Defaults to today when no date range is given.
Parameter | Type | Required | Description |
| string | no | Start date (YYYY-MM-DD, UTC). Defaults to today; range capped at 90 days. |
| string | no | End date (YYYY-MM-DD, UTC). Defaults to today; range capped at 90 days. |
| string | no | Comma-separated subset: |
| enum | no | Time-bucket size; only |
get_post_analytics
List the user's per-post analytics (impressions, likes, comments, shares), defaulting to the last 7 days.
Parameter | Type | Required | Description |
| string | no | Start date (YYYY-MM-DD, UTC). Defaults to 7 days ago; range capped at 90 days. |
| string | no | End date (YYYY-MM-DD, UTC). Defaults to today; range capped at 90 days. |
| integer | no | Max posts to return. Defaults to 25, capped at 100. |
| string | no | Pagination token from a previous response. |
Inspiration
search_inspiration
Search LinkedIn posts from other creators to use as inspiration.
Parameter | Type | Required | Description |
| string | no | Free-text search over post content. Omit to browse top posts. |
| string | no | Filter by ISO 639-1 language code (e.g. |
| integer | no | Only posts with at least this many likes. 0-1000; defaults to 50. |
| integer | no | Only posts with at least this many comments. 0-1000; defaults to 0. |
| integer | no | Only posts with at least this many characters. 0-10000; defaults to 500. |
| integer | no | Only posts whose author has at most this many followers. Defaults to 100000. |
| integer | no | Only posts at least N days old (0-365); defaults to 1. Overrides |
| integer | no | Only posts from the last N days (0-365). Overrides |
| string | no | Only posts on or after this date. Ignored if |
| string | no | Only posts on or before this date. Ignored if |
| integer | no | Max posts to return. Minimum 1; defaults to 30. |
Recommended workflow
Call
get_meonce at the start of a session to load the user's voice, topics, language, and stats.Use
search_inspirationto ground new content in what is currently working in the niche.Draft with
create_draft, iterate withupdate_draft.Ship with
schedule_draft(preferred) orpublish_draft(immediate).Report with
get_analytics_overviewandget_post_analytics, and cross-reference withlist_posts.
Library and lifecycle model
A draft and a post are the same item at different stages of its life:
create_draft ─┐
├─> [ DRAFT ] ──schedule_draft──> [ scheduled ] ──(auto)──> [ sending ] ──> [ sent ]
update_draft ─┘ │ │
└──────publish_draft───────────┴──(immediate)──> [ sending ] ──> [ sent ]
[ scheduled ] ──unschedule──> [ DRAFT ]Drafts live in the drafts list (
list_drafts) and are the only editable stage.Scheduling or publishing a draft turns it into a post and moves it to the posts list (
list_posts).unschedulemoves a scheduled post back to drafts; asentpost cannot be un-sent.
Limits and safety
Post length: 1 to 3000 characters (
create_draft,update_draft).Scheduling:
scheduled_formust be at least 2 minutes in the future, ISO 8601, UTC recommended.Analytics range: capped at 90 days per query; paginate with
cursorfor large result sets.Irreversible actions:
publish_draftgoes live immediately anddelete_draftis permanent. Confirm intent before calling either.Scope: every tool acts only on the authenticated user's own Taplio and LinkedIn account.
Troubleshooting
Tools do not appear: confirm the server URL is
https://mcp.taplio.comand that you completed the OAuth browser step. Re-run/mcp(Claude Code) or reconnect the connector.401/ auth errors: your session may have expired or been revoked. Reconnect and re-authorize in the browser.Cannot edit a post: only drafts are editable. If it is already scheduled, call
unschedulefirst; if it issent, it can no longer be changed.Empty analytics: newly published posts take time to accumulate metrics; also check your date range against the 90-day cap.
Contributing
This repository documents the Taplio LinkedIn MCP Server. See CONTRIBUTING.md for how to report issues with the documentation or suggest improvements. For product support, contact Taplio.
License
This project is licensed under the terms of the MIT License. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to manage professional networking on LinkedIn by providing tools for posting updates, searching for jobs, and analyzing profiles. It facilitates secure interaction with the LinkedIn platform through OAuth 2.0 authentication and the Model Context Protocol.Last updated1711MIT
- Alicense-qualityCmaintenanceEnables AI agents to interact with LinkedIn for posting, commenting, liking, and managing connections via OAuth2 authentication.Last updated34MIT
- AlicenseBqualityCmaintenanceEnables AI agents to manage LinkedIn profiles, posts, connections, skills, education, and certifications through the LinkedIn API.Last updated1816955MIT
- AlicenseBqualityAmaintenanceEnables AI agents with read/write access to LinkedIn API, including profile, posts, media, organizations, comments, reactions, and analytics.Last updated2034MIT
Related MCP Connectors
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Let AI tools securely access your LinkedIn network and DMs
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/TaplioOfficial/taplio-linkedin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server