An unofficial MCP server for the Ayrshare social media API.
Ayrshare Unofficial MCP Server
An unofficial MCP (Model Context Protocol) server for the Ayrshare social media API. Enables AI agents to publish posts, manage profiles, upload media, handle comments, send messages, view analytics, and configure auto-scheduling — all through real API calls.
Note: This is an unofficial, community-built project. It is not affiliated with or endorsed by Ayrshare. The official Ayrshare MCP server provides documentation access only — this server actually executes API calls on your behalf.
Prerequisites
- Node.js >= 18.0.0
- An Ayrshare account with an API key (get one here)
- At least a Premium plan for most features (Business plan for profiles and messaging)
Installation
Option 1: npx (Recommended)
Add to your MCP client configuration (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"ayrshare": {
"command": "npx",
"args": ["-y", "ayrshare-unofficial-mcp"],
"env": {
"AYRSHARE_API_KEY": "your-api-key-here"
}
}
}
}
Option 2: Claude Code
claude mcp add ayrshare -e AYRSHARE_API_KEY=your-api-key-here -- npx -y ayrshare-unofficial-mcp
Option 3: Build from Source
git clone https://github.com/yardz/ayrshare-unofficial-mcp.git
cd ayrshare-unofficial-mcp
npm install
npm run build
Then configure your MCP client:
{
"mcpServers": {
"ayrshare": {
"command": "node",
"args": ["/absolute/path/to/ayrshare-unofficial-mcp/build/index.js"],
"env": {
"AYRSHARE_API_KEY": "your-api-key-here"
}
}
}
}
Configuration
| Environment Variable |
Required |
Description |
AYRSHARE_API_KEY |
Yes |
Your Ayrshare Primary Profile API key |
AYRSHARE_PROFILE_KEY |
No |
Default Profile Key for user profile operations (Business plan) |
All tools also accept an optional profileKey parameter to override the default on a per-call basis.
Available Tools (18)
Posts (4 tools)
| Tool |
Description |
Min Plan |
create_post |
Publish or schedule a post to one or more social platforms |
Basic |
get_post |
Get details of a specific post by ID |
Basic |
get_post_history |
List post history with optional filters |
Basic |
delete_post |
Delete a post or scheduled posts |
Basic |
Profiles (3 tools)
| Tool |
Description |
Min Plan |
create_profile |
Create a new user profile |
Business |
list_profiles |
List all user profiles |
Business |
update_profile |
Update a profile's settings |
Business |
Media (1 tool)
| Tool |
Description |
Min Plan |
upload_media |
Upload an image or video to the media library |
Premium |
Comments (3 tools)
| Tool |
Description |
Min Plan |
post_comment |
Post a comment on a social media post |
Premium |
get_comments |
Get comments on a post |
Premium |
delete_comment |
Delete a comment |
Premium |
Messages (2 tools)
| Tool |
Description |
Min Plan |
send_message |
Send a direct message (Facebook, Instagram, X) |
Business |
get_messages |
Get messages and conversations |
Business |
Analytics (2 tools)
| Tool |
Description |
Min Plan |
get_post_analytics |
Get engagement metrics for a post |
Premium |
get_social_analytics |
Get account-level analytics |
Premium |
Auto-Schedule (3 tools)
| Tool |
Description |
Min Plan |
set_auto_schedule |
Create or update an auto-posting schedule |
Premium |
list_auto_schedules |
List all configured schedules |
Premium |
delete_auto_schedule |
Delete a schedule |
Premium |
Tool Details
Posts
`create_post`
Publish or schedule a social media post to one or more platforms. Supports text, images, videos, scheduling, and auto-scheduling.
| Parameter |
Type |
Required |
Description |
post |
string |
Yes |
Text content of the post (can be empty if mediaUrls provided) |
platforms |
string[] |
Yes |
Target platforms: bluesky, facebook, gmb, instagram, linkedin, pinterest, reddit, snapchat, telegram, threads, tiktok, twitter, youtube |
mediaUrls |
string[] |
No |
HTTPS URLs of images or videos to attach |
scheduleDate |
string |
No |
ISO 8601 UTC datetime (e.g. 2026-03-01T10:00:00Z) |
shortenLinks |
boolean |
No |
Enable link shortening (requires Max Pack) |
requiresApproval |
boolean |
No |
Put post in approval workflow |
notes |
string |
No |
Internal reference notes |
autoSchedule |
object |
No |
{ schedule: true, title?: "schedule-name" } — queue to next slot |
profileKey |
st |
|
|
Tools (18)
create_postPublish or schedule a post to one or more social platforms
get_postGet details of a specific post by ID
get_post_historyList post history with optional filters
delete_postDelete a post or scheduled posts
create_profileCreate a new user profile
list_profilesList all user profiles
update_profileUpdate a profile's settings
upload_mediaUpload an image or video to the media library
post_commentPost a comment on a social media post
get_commentsGet comments on a post
delete_commentDelete a comment
send_messageSend a direct message (Facebook, Instagram, X)
get_messagesGet messages and conversations
get_post_analyticsGet engagement metrics for a post
get_social_analyticsGet account-level analytics
set_auto_scheduleCreate or update an auto-posting schedule
list_auto_schedulesList all configured schedules
delete_auto_scheduleDelete a schedule
Environment Variables
AYRSHARE_API_KEYrequiredYour Ayrshare Primary Profile API key
AYRSHARE_PROFILE_KEYDefault Profile Key for user profile operations
Configuration
{"mcpServers": {"ayrshare": {"command": "npx", "args": ["-y", "ayrshare-unofficial-mcp"], "env": {"AYRSHARE_API_KEY": "your-api-key-here"}}}}Try it
→Schedule a post for next Monday at 10 AM on LinkedIn and Twitter with the text 'Hello world!'
→Get the engagement analytics for my most recent post.
→List all my current social media profiles.
→Check for any new direct messages on my Instagram account.
→Upload this image URL to my media library and then create a post with it.