zernio-mcp
A Model Context Protocol (MCP) server that gives Claude full access to the Zernio social media management API — 273 tools covering posts, analytics, inbox, ads, contacts, WhatsApp Business, and more across 14+ platforms.
README
zernio-mcp
A Model Context Protocol (MCP) server that gives Claude full access to the Zernio social media management API — 273 tools covering posts, analytics, inbox, ads, contacts, WhatsApp Business, and more across 14+ platforms.
Quick Start
Option 1: npx (recommended)
No installation needed. Add this to your claude_desktop_config.json:
{
"mcpServers": {
"zernio": {
"command": "npx",
"args": ["zernio-mcp"],
"env": {
"ZERNIO_API_KEY": "your_zernio_api_key_here"
}
}
}
}
Also available as
@eyalm321/zernio-mcpon GitHub Packages.
Option 2: Local install
git clone https://github.com/Eyalm321/zernio-mcp.git
cd zernio-mcp
npm install
npm run build
Then configure Claude Desktop:
{
"mcpServers": {
"zernio": {
"command": "node",
"args": ["/absolute/path/to/zernio-mcp/dist/index.js"],
"env": {
"ZERNIO_API_KEY": "your_zernio_api_key_here"
}
}
}
}
Getting your API key
- Log in to zernio.com
- Go to Settings > API Keys
- Create a new key and copy it
Tools (273 total)
Accounts (42 tools)
| Tool | Description |
|---|---|
zernio_list_accounts |
List all connected social media accounts |
zernio_get_follower_stats |
Get follower count and stats for an account |
zernio_get_account_health |
Check connection health for all accounts |
zernio_get_single_account_health |
Check connection health for a specific account |
zernio_update_account |
Update account display name or username |
zernio_disconnect_account |
Disconnect a social media account |
zernio_get_linkedin_mentions |
Get LinkedIn mentions and tags |
zernio_get_linkedin_organizations |
List LinkedIn organization pages |
zernio_switch_linkedin_organization |
Switch LinkedIn account type |
zernio_get_facebook_page |
Get Facebook Page details |
zernio_update_facebook_page |
Update Facebook Page settings |
zernio_get_pinterest_boards |
List Pinterest boards |
zernio_set_default_pinterest_board |
Set default Pinterest board |
zernio_get_youtube_playlists |
List YouTube playlists |
zernio_set_default_youtube_playlist |
Set default YouTube playlist |
zernio_get_reddit_flairs |
List subreddit flairs |
zernio_get_reddit_subreddits |
List user's subreddits |
zernio_set_default_reddit_subreddit |
Set default subreddit |
zernio_get_tiktok_creator_info |
Get TikTok creator info and limits |
zernio_get_messenger_menu |
Get Facebook Messenger persistent menu |
zernio_set_messenger_menu |
Set Messenger persistent menu |
zernio_delete_messenger_menu |
Remove Messenger persistent menu |
zernio_get_telegram_commands |
Get Telegram bot commands |
zernio_set_telegram_commands |
Set Telegram bot commands |
zernio_delete_telegram_commands |
Remove Telegram bot commands |
zernio_get_instagram_ice_breakers |
Get Instagram DM ice breaker questions |
zernio_set_instagram_ice_breakers |
Set Instagram DM ice breakers |
zernio_delete_instagram_ice_breakers |
Remove Instagram DM ice breakers |
zernio_get_gmb_locations |
List Google Business Profile locations |
zernio_get_gmb_reviews |
Get Google Business reviews |
zernio_get_gmb_location_details |
Get GMB location details (hours, address, etc.) |
zernio_update_gmb_location_details |
Update GMB location details |
zernio_get_gmb_food_menus |
Get GMB restaurant food menus |
zernio_update_gmb_food_menus |
Update GMB food menus |
zernio_get_gmb_media |
List GMB location photos/videos |
zernio_upload_gmb_media |
Upload photo to GMB location |
zernio_delete_gmb_media |
Delete GMB media |
zernio_get_gmb_attributes |
Get GMB business attributes |
zernio_update_gmb_attributes |
Update GMB business attributes |
zernio_get_gmb_place_actions |
Get GMB action links |
zernio_create_gmb_place_action |
Create GMB action link |
zernio_delete_gmb_place_action |
Delete GMB action link |
Posts & Media (25 tools)
| Tool | Description |
|---|---|
zernio_list_posts |
List scheduled/published posts |
zernio_get_post |
Get post details and performance |
zernio_create_post |
Create a new post (draft or scheduled) |
zernio_update_post |
Update a draft or scheduled post |
zernio_delete_post |
Delete a post |
zernio_publish_post_now |
Publish a draft immediately |
zernio_duplicate_post |
Duplicate a post as a new draft |
zernio_retry_post |
Retry a failed post |
zernio_edit_published_post |
Edit an already-published post |
zernio_unpublish_post |
Remove a published post |
zernio_update_post_metadata |
Update post tags and labels |
zernio_bulk_upload_posts |
Bulk create posts from a list |
zernio_list_post_queue |
Get the scheduled post queue |
zernio_list_post_labels |
List all post labels/tags |
zernio_get_post_approval_status |
Get post approval status |
zernio_approve_post |
Approve a pending post |
zernio_reject_post |
Reject a pending post |
zernio_validate_post_content |
Validate content against platform rules |
zernio_get_post_logs |
Get activity logs for a post |
zernio_get_publishing_logs |
Get publishing logs across all posts |
zernio_upload_media |
Upload media by URL |
zernio_upload_media_direct |
Upload media file directly |
zernio_get_media_presigned_url |
Get presigned URL for large uploads |
zernio_list_media |
List uploaded media files |
zernio_delete_media |
Delete a media file |
Analytics (16 tools)
| Tool | Description |
|---|---|
zernio_get_post_analytics |
Post metrics: impressions, reach, likes, shares, clicks |
zernio_get_follower_analytics |
Follower growth over time |
zernio_get_best_times_to_post |
Optimal posting times based on engagement |
zernio_get_daily_metrics |
Day-by-day impressions, reach, engagement |
zernio_get_content_decay |
Post performance decay over time |
zernio_get_post_timeline |
Post performance timeline (hour by hour) |
zernio_get_posting_frequency |
Posting frequency vs engagement correlation |
zernio_get_instagram_insights |
Instagram account-level insights |
zernio_get_instagram_demographics |
Instagram audience demographics |
zernio_get_youtube_analytics |
YouTube daily views and watch time |
zernio_get_youtube_demographics |
YouTube audience demographics |
zernio_get_linkedin_analytics |
LinkedIn account-level analytics |
zernio_get_linkedin_post_analytics |
LinkedIn per-post analytics |
zernio_get_linkedin_post_reactions |
LinkedIn reactions breakdown |
zernio_get_google_business_performance |
GMB views, calls, direction requests |
zernio_get_google_business_keywords |
GMB search keywords |
Ads (19 tools)
| Tool | Description |
|---|---|
zernio_list_ad_accounts |
List connected ad accounts |
zernio_get_ads_tree |
Get full campaign/ad-set/ad hierarchy |
zernio_list_campaigns |
List ad campaigns |
zernio_create_campaign |
Create a new campaign |
zernio_update_campaign_status |
Pause or resume a campaign |
zernio_list_ads |
List ads across campaigns |
zernio_get_ad |
Get ad details |
zernio_get_ad_analytics |
Get ad performance metrics |
zernio_create_ad |
Create a standalone ad with custom creative |
zernio_update_ad |
Update ad (pause, budget, name) |
zernio_delete_ad |
Cancel an ad |
zernio_boost_post |
Boost an existing post as a paid ad |
zernio_sync_ads |
Sync ads from platform ad managers |
zernio_list_audiences |
List custom audiences |
zernio_create_audience |
Create a custom audience |
zernio_get_audience |
Get audience details |
zernio_delete_audience |
Delete a custom audience |
zernio_add_audience_users |
Add users to an audience |
zernio_get_ad_interests |
Browse targeting interests |
Messages / DMs (10 tools)
| Tool | Description |
|---|---|
zernio_list_conversations |
List DM conversations across platforms |
zernio_get_conversation |
Get conversation details |
zernio_list_messages |
Read messages in a conversation |
zernio_send_message |
Send a DM reply |
zernio_create_conversation |
Start a new DM conversation |
zernio_edit_message |
Edit a sent message |
zernio_delete_message |
Delete a message |
zernio_send_typing_indicator |
Show typing indicator |
zernio_react_to_message |
Add/remove emoji reactions |
zernio_update_conversation_status |
Mark as read/unread/archived |
Comments (8 tools)
| Tool | Description |
|---|---|
zernio_list_commented_posts |
List posts with comments |
zernio_get_post_comments |
Get all comments on a post |
zernio_reply_to_comment |
Reply publicly to a comment |
zernio_private_reply_to_comment |
Send a private reply to a commenter |
zernio_like_comment |
Like a comment |
zernio_hide_comment |
Hide a comment from public view |
zernio_unhide_comment |
Unhide a hidden comment |
zernio_delete_comment |
Delete a comment |
Reviews (3 tools)
| Tool | Description |
|---|---|
zernio_list_reviews |
List reviews across platforms |
zernio_reply_to_review |
Reply to a review |
zernio_delete_review_reply |
Delete a review reply |
Contacts & CRM (11 tools)
| Tool | Description |
|---|---|
zernio_list_contacts |
List all contacts |
zernio_get_contact |
Get contact details |
zernio_create_contact |
Create a contact |
zernio_update_contact |
Update contact details |
zernio_delete_contact |
Delete a contact |
zernio_bulk_create_contacts |
Bulk create contacts |
zernio_get_contact_channels |
Get contact's social channels |
zernio_update_contact_field |
Update a custom field value |
zernio_list_custom_fields |
List custom field definitions |
zernio_create_custom_field |
Create a custom field |
zernio_delete_custom_field |
Delete a custom field |
Broadcasts (7 tools)
| Tool | Description |
|---|---|
zernio_list_broadcasts |
List all broadcasts |
zernio_get_broadcast |
Get broadcast details |
zernio_create_broadcast |
Create a broadcast message |
zernio_schedule_broadcast |
Schedule a broadcast |
zernio_send_broadcast |
Send a broadcast immediately |
zernio_cancel_broadcast |
Cancel a scheduled broadcast |
zernio_get_broadcast_recipients |
Get broadcast recipient list |
Automations (6 tools)
| Tool | Description |
|---|---|
zernio_list_automations |
List comment-to-DM automations |
zernio_get_automation |
Get automation details |
zernio_create_automation |
Create a comment automation rule |
zernio_update_automation |
Update an automation |
zernio_delete_automation |
Delete an automation |
zernio_get_automation_logs |
Get automation execution logs |
Sequences / Drip Campaigns (8 tools)
| Tool | Description |
|---|---|
zernio_list_sequences |
List message sequences |
zernio_get_sequence |
Get sequence details and steps |
zernio_create_sequence |
Create a drip campaign sequence |
zernio_update_sequence |
Update sequence name or steps |
zernio_delete_sequence |
Delete a sequence |
zernio_activate_sequence |
Activate a paused sequence |
zernio_pause_sequence |
Pause an active sequence |
zernio_list_sequence_enrollments |
List enrolled contacts |
Contact Enrollment (2 tools)
| Tool | Description |
|---|---|
zernio_enroll_contact_in_sequence |
Enroll a contact in a sequence |
zernio_unenroll_contact_from_sequence |
Remove a contact from a sequence |
Tags (3 tools)
| Tool | Description |
|---|---|
zernio_list_contact_tags |
List all contact tags |
zernio_add_contact_tag |
Add a tag to a contact |
zernio_remove_contact_tag |
Remove a tag from a contact |
Twitter/X Actions (8 tools)
| Tool | Description |
|---|---|
zernio_twitter_retweet |
Retweet a tweet |
zernio_twitter_unretweet |
Undo a retweet |
zernio_twitter_like |
Like a tweet |
zernio_twitter_unlike |
Unlike a tweet |
zernio_twitter_bookmark |
Bookmark a tweet |
zernio_twitter_remove_bookmark |
Remove a bookmark |
zernio_twitter_follow |
Follow a user |
zernio_twitter_unfollow |
Unfollow a user |
Reddit (4 tools)
| Tool | Description |
|---|---|
zernio_reddit_upvote |
Upvote a post or comment |
zernio_reddit_submit_post |
Submit a post to a subreddit |
zernio_search_reddit |
Search Reddit posts |
zernio_get_reddit_feed |
Get subreddit feed |
Queue Scheduling (6 tools)
| Tool | Description |
|---|---|
zernio_list_queue_slots |
List scheduled time slots |
zernio_create_queue_slot |
Create a queue slot |
zernio_update_queue_slot |
Update a queue slot |
zernio_delete_queue_slot |
Delete a queue slot |
zernio_preview_queue |
Preview upcoming scheduled slots |
zernio_get_next_queue_slot |
Get next available slot |
Validation (4 tools)
| Tool | Description |
|---|---|
zernio_validate_post_length |
Check post character count limits |
zernio_validate_post |
Validate post content against platform rules |
zernio_validate_media |
Validate media files for a platform |
zernio_validate_subreddit |
Check if a subreddit exists |
Connect / OAuth (17 tools)
| Tool | Description |
|---|---|
zernio_get_connect_url |
Get OAuth authorization URL for any platform |
zernio_get_pending_connection_data |
Get pending OAuth connection data |
zernio_connect_bluesky |
Connect Bluesky via credentials |
zernio_connect_telegram_start |
Start Telegram bot connection |
zernio_connect_telegram_verify |
Verify Telegram connection code |
zernio_check_telegram_connection |
Check Telegram connection status |
zernio_connect_whatsapp |
Connect WhatsApp Business |
zernio_list_facebook_pages_for_connect |
List Facebook pages during OAuth |
zernio_select_facebook_page |
Select a Facebook page to connect |
zernio_list_snapchat_profiles_for_connect |
List Snapchat profiles during OAuth |
zernio_select_snapchat_profile |
Select a Snapchat profile |
zernio_list_google_business_locations_for_connect |
List GMB locations during OAuth |
zernio_select_google_business_location |
Select a GMB location |
zernio_list_linkedin_organizations_for_connect |
List LinkedIn orgs during OAuth |
zernio_select_linkedin_organization |
Select a LinkedIn organization |
zernio_list_pinterest_boards_for_connect |
List Pinterest boards during OAuth |
zernio_select_pinterest_board |
Select a Pinterest board |
Webhooks (5 tools)
| Tool | Description |
|---|---|
zernio_list_webhooks |
List configured webhooks |
zernio_create_webhook |
Create a webhook |
zernio_delete_webhook |
Delete a webhook |
zernio_update_webhook |
Update webhook settings |
zernio_test_webhook |
Send a test webhook event |
zernio_get_webhook_logs |
Get webhook delivery logs |
WhatsApp Business (44 tools)
| Tool | Description |
|---|---|
zernio_get_whatsapp_business_profile |
Get WhatsApp Business profile |
zernio_update_whatsapp_business_profile |
Update business profile |
zernio_get_whatsapp_display_name |
Get display name and review status |
zernio_set_whatsapp_display_name |
Request display name change |
zernio_set_whatsapp_profile_photo |
Upload profile picture |
zernio_list_whatsapp_templates |
List message templates |
zernio_create_whatsapp_template |
Create a message template |
zernio_get_whatsapp_template |
Get template by name |
zernio_update_whatsapp_template |
Update a template |
zernio_delete_whatsapp_template |
Delete a template |
zernio_list_whatsapp_phone_numbers |
List registered phone numbers |
zernio_get_whatsapp_phone_number |
Get phone number details |
zernio_purchase_whatsapp_phone_number |
Purchase a phone number |
zernio_release_whatsapp_phone_number |
Release a phone number |
zernio_request_whatsapp_verification_code |
Request verification code |
zernio_verify_whatsapp_phone_number |
Verify a phone number |
zernio_list_whatsapp_flows |
List interactive flows |
zernio_create_whatsapp_flow |
Create a flow |
zernio_get_whatsapp_flow |
Get flow details |
zernio_update_whatsapp_flow |
Update a flow |
zernio_delete_whatsapp_flow |
Delete a flow |
zernio_publish_whatsapp_flow |
Publish a flow |
zernio_deprecate_whatsapp_flow |
Deprecate a flow |
zernio_upload_whatsapp_flow_json |
Upload flow JSON definition |
zernio_get_whatsapp_flow_json |
Get flow JSON definition |
zernio_send_whatsapp_flow_message |
Send a flow to a contact |
zernio_trigger_whatsapp_flow |
Trigger a flow for a contact |
zernio_list_whatsapp_groups |
List WhatsApp groups |
zernio_create_whatsapp_group |
Create a group |
zernio_get_whatsapp_group |
Get group details |
zernio_update_whatsapp_group |
Update group settings |
zernio_delete_whatsapp_group |
Delete a group |
zernio_add_whatsapp_group_participants |
Add group members |
zernio_remove_whatsapp_group_participants |
Remove group members |
zernio_create_whatsapp_group_invite_link |
Generate invite link |
zernio_list_whatsapp_group_join_requests |
List join requests |
zernio_approve_whatsapp_group_join_requests |
Approve join requests |
zernio_reject_whatsapp_group_join_requests |
Reject join requests |
zernio_send_whatsapp_bulk |
Bulk send template messages |
zernio_list_whatsapp_contacts |
List WhatsApp contacts |
zernio_create_whatsapp_contact |
Create a contact |
zernio_get_whatsapp_contact |
Get contact details |
zernio_update_whatsapp_contact |
Update a contact |
zernio_delete_whatsapp_contact |
Delete a contact |
zernio_import_whatsapp_contacts |
Bulk import contacts |
zernio_bulk_update_whatsapp_contacts |
Bulk update contacts |
zernio_list_whatsapp_contact_groups |
List contact groups |
Profiles & Workspace (20 tools)
| Tool | Description |
|---|---|
zernio_get_profile |
Get current user profile |
zernio_update_profile |
Update user profile |
zernio_list_profiles |
List Zernio profiles (brands/projects) |
zernio_create_zernio_profile |
Create a new profile |
zernio_get_zernio_profile |
Get profile details |
zernio_update_zernio_profile |
Update a profile |
zernio_delete_zernio_profile |
Delete a profile |
zernio_list_account_groups |
List account groups |
zernio_create_account_group |
Create an account group |
zernio_update_account_group |
Update an account group |
zernio_delete_account_group |
Delete an account group |
zernio_list_users |
List workspace team members |
zernio_get_user |
Get user details |
zernio_invite_user |
Invite a team member |
zernio_remove_user |
Remove a team member |
zernio_create_invite_token |
Create an invite token |
zernio_get_usage_stats |
Get workspace usage statistics |
zernio_list_api_keys |
List API keys |
zernio_create_api_key |
Create an API key |
zernio_delete_api_key |
Revoke an API key |
Logs (2 tools)
| Tool | Description |
|---|---|
zernio_get_webhook_logs |
Get webhook delivery logs |
zernio_get_connection_logs |
Get connection attempt logs |
Supported Platforms
| Platform | Posts | Analytics | Inbox | Reviews | Ads |
|---|---|---|---|---|---|
| Twitter/X | Yes | Yes | Yes | - | - |
| Yes | Yes | Yes | - | Yes | |
| Yes | Yes | Yes | - | Yes | |
| Yes | Yes | Yes | - | - | |
| TikTok | Yes | - | - | - | - |
| YouTube | Yes | Yes | Yes | - | - |
| Yes | - | - | - | Yes | |
| Yes | - | - | - | - | |
| Bluesky | Yes | - | - | - | - |
| Threads | Yes | - | - | - | - |
| Google Business | Yes | Yes | - | Yes | Yes |
| Telegram | - | - | Yes | - | - |
| Snapchat | Yes | - | - | - | - |
| - | - | Yes | - | - |
Example Prompts
Once configured, you can ask Claude things like:
- "What comments came in today across all my social accounts?"
- "Reply to all unanswered DMs with a friendly acknowledgment"
- "Show me the engagement stats for my last 5 Instagram posts"
- "What's the best time to post on Instagram based on my audience?"
- "Summarize all new reviews and draft replies for the 1-star ones"
- "Create a post saying 'Hello World!' scheduled for tomorrow at 9am on Twitter and LinkedIn"
- "Boost my best-performing post from this week with a $50 budget"
- "Show me my follower growth over the past 30 days"
- "Send a WhatsApp template message to all my VIP contacts"
- "Set up an automation to auto-reply when someone comments 'price' on my posts"
- "What's my Google Business Profile performance this month?"
- "Create a drip campaign sequence with 3 follow-up messages"
Development
npm install
npm run build # compile TypeScript
npm start # run the server
npm test # run all tests (667 tests)
npm run test:watch # run tests in watch mode
Project Structure
src/
index.ts # MCP server entry point
client.ts # API request utility
tools/
accounts.ts # 42 tools - account management, GMB, platform settings
ads.ts # 19 tools - campaigns, ads, audiences, targeting
analytics.ts # 16 tools - metrics, demographics, insights
automations.ts # 6 tools - comment-to-DM automations
broadcasts.ts # 7 tools - mass messaging
comments.ts # 8 tools - comment management
connect.ts # 17 tools - OAuth and platform connections
contacts.ts # 11 tools - CRM contacts and custom fields
messages.ts # 10 tools - DM conversations
posts.ts # 25 tools - post CRUD, media, approval workflows
profiles.ts # 20 tools - workspace, users, API keys
queue.ts # 6 tools - scheduling queue slots
reddit.ts # 2 tools - Reddit search and feed
reviews.ts # 3 tools - review management
social.ts # 33 tools - Twitter, sequences, webhooks, tags
validation.ts # 4 tools - content and media validation
whatsapp-business.ts # 44 tools - WhatsApp Business full suite
__tests__/ # 667 tests across 19 test files
Built With
- @modelcontextprotocol/sdk - MCP server framework
- Zod - Schema validation
- Vitest - Testing framework
- TypeScript / Node.js
CI/CD
- CI: Runs on every push and PR to
main— builds and tests on Node 20 and 22 - Publish: Automatically publishes to both npm and GitHub Packages when a GitHub release is created (requires
NPM_TOKENsecret for npm; GitHub Packages usesGITHUB_TOKENautomatically)
License
MIT
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.