Skip to main content
Glama
@fopost/mcp

@fopost/mcp

Official
by fopost

@fopost/mcp

MCP server for FoPost: manage social media posts, accounts, AI usage, the inbox, contacts, broadcasts, and ads from any MCP-aware client (Claude Desktop, Cursor, ChatGPT desktop, Continue, etc.).

Runs via npx -y @fopost/mcp, no install step. Requires Node 18 or newer.

0.x release. Tool names and arguments may still change between minor versions. Pin an exact version if that matters to you.

Tools

Tool

What it does

list_posts

List posts in a workspace, filter by status

get_post

Fetch a post by id

schedule_post

Create a post for accounts or an account group

edit_post

Update an existing post

cancel_post

Cancel a scheduled post

delete_post

Permanently delete a post

list_post_deliveries

Per-account delivery status for a post

list_accounts

List connected social accounts, optionally by group

get_account_health

Check token freshness and rate-limit headroom

list_workspaces

List workspaces the user can access

rename_account

Set or clear an account's display name

list_account_groups

List account groups and their members

get_account_group

Fetch an account group

create_account_group

Create an account group

rename_account_group

Rename an account group

set_account_group_members

Replace the accounts in a group

delete_account_group

Delete a group (its accounts stay connected)

create_telegram_connect_code

Mint a one-time code to connect a Telegram chat

get_telegram_connect_status

Check whether a Telegram connect code was used

get_telegram_bot_commands

List the bot command menu in a Telegram chat

set_telegram_bot_commands

Replace the bot command menu in a Telegram chat

clear_telegram_bot_commands

Clear the bot command menu in a Telegram chat

list_slack_channels

List the channels a Slack account can post to

list_slack_members

List members of a Slack workspace, for DMs

get_slack_identity

Show the name and icon a Slack account posts under

set_slack_identity

Set the name and icon a Slack account posts under

list_reddit_subreddits

List the subreddits a Reddit account is in

list_reddit_subreddit_rules

List a subreddit's rules, to read before publishing

list_reddit_flairs

List a subreddit's post flairs

validate_subreddit

Check a subreddit exists and takes a post

set_reddit_default_subreddit

Set where posts go when a post names no subreddit

generate_caption

AI-generate or improve a caption (1 credit)

rewrite_for_platforms

Rewrite content per target platform (1 credit each)

repurpose_url

Turn a blog URL into N platform-optimized posts (6 credits)

get_ai_credits

Show current AI credit balance

list_inbox

List comments, mentions and DMs with filters

list_inbox_threads

List comment threads under your posts, or mentions

list_inbox_conversations

List DM conversations

get_inbox_unread_count

Count unread inbox items

mark_inbox_thread_read

Mark a comment thread or DM conversation read

resolve_inbox

Resolve every unanswered item of one type

reply_to_inbox_item

Reply on the platform, with media or quick replies on a DM

edit_inbox_comment

Edit your own comment on the platform

update_inbox_item

Set an item to unread, read, resolved or snoozed

hide_inbox_item

Hide a comment on the platform

unhide_inbox_item

Unhide a comment on the platform

delete_inbox_item

Delete a comment, or your own reply, on the platform

like_inbox_item

Like a comment or message on the platform

unlike_inbox_item

Remove your like

repost_inbox_item

Repost a post on X, where can_repost is true

unrepost_inbox_item

Undo your repost on X

bookmark_inbox_item

Bookmark a post on X, where can_bookmark is true

unbookmark_inbox_item

Remove your bookmark on X

vote_inbox_item

Vote up or down, or take the vote back

pin_inbox_item

Pin your own comment

unpin_inbox_item

Unpin your own comment

react_to_inbox_item

React to a DM, or remove your reaction

start_inbox_conversation

Send a new DM, or answer a comment privately

set_inbox_typing

Show or clear the typing indicator in a DM

list_inbox_approvals

List drafted replies waiting for approval

approve_inbox_reply

Approve and send a drafted reply

reject_inbox_reply

Reject a drafted reply

refresh_inbox

Poll every inbox-capable account now

list_ads

List boosts and ads created through FoPost

list_external_ads

List ads on connected ad accounts made elsewhere

list_boostable_posts

List published posts that can be boosted

list_ad_sources

List ad connections, ad accounts and pages

boost_post

Boost a published post (starts paused, needs publish)

create_ad

Create an ad (starts paused, needs publish)

set_ad_status

Pause or resume an ad (needs publish)

refresh_ad

Re-read delivery status and insights

delete_ad

End delivery and delete an ad (needs publish)

list_audiences

List saved audiences and pixels on an ad account

search_ad_targeting

Search locations, interests, behaviors and income brackets

list_lead_forms

List lead forms on connected pages

list_leads

List one page of leads from a lead form

get_ad_account_tree

Read campaigns, ad sets and ads on an ad account

create_ad_campaign

Create a campaign (starts paused, needs publish)

get_ad_campaign

Read one campaign

update_ad_campaign

Rename, pause or resume a campaign (needs publish)

delete_ad_campaign

Delete a campaign and its contents (needs publish)

duplicate_ad_campaign

Copy a campaign (starts paused, needs publish)

create_ad_set

Create an ad set (starts paused, needs publish)

get_ad_set

Read one ad set

update_ad_set

Change an ad set's status, budget or targeting (needs publish)

delete_ad_set

Delete an ad set and its ads (needs publish)

duplicate_ad_set

Copy an ad set (starts paused, needs publish)

create_network_ad

Create an ad inside an ad set (starts paused, needs publish)

get_network_ad

Read one ad inside an ad set

update_network_ad

Rename, pause, resume or swap an ad's creative (needs publish)

delete_network_ad

Delete an ad inside an ad set (needs publish)

duplicate_network_ad

Copy an ad (starts paused, needs publish)

bulk_set_ad_status

Pause or resume up to 50 objects (needs publish)

list_ad_creatives

List creatives on an ad account

create_ad_creative

Create an image, video or carousel creative

get_ad_creative

Read one creative

delete_ad_creative

Delete a creative

get_audience

Read one saved audience

update_audience

Rename or redescribe a saved audience

delete_audience

Delete a saved audience

add_audience_users

Add customer emails to a custom audience

estimate_ad_reach

Estimate the reach of a targeting

get_ad_object_insights

Insights for a campaign, ad set or ad

get_ad_insights

Insights for an ad created through FoPost

get_lead_form

Read one lead form

archive_lead_form

Archive a lead form

list_leads_feed

List stored leads from subscribed pages

list_lead_pages

List pages subscribed to new leads

subscribe_lead_page

Subscribe a page to new leads and backfill

unsubscribe_lead_page

Unsubscribe a page from new leads

get_whatsapp_profile

The profile on a WhatsApp number and how the platform rates it

update_whatsapp_profile

Update the profile fields the platform allows

list_whatsapp_templates

Message templates with the review status the platform assigned

get_whatsapp_template_library

The platform's pre-written templates, for adapting

create_whatsapp_template

File a template for review, from scratch or a library entry

list_whatsapp_flows

In-chat forms, with their status and validation errors

get_whatsapp_flow_responses

What people submitted through this account's flows

list_whatsapp_groups

Groups this WhatsApp number created, with their invite links

get_whatsapp_account_state

WhatsApp account review state and the number's standing

Tool

What it does

---------------------------------------

----------------------------------------------------------------

list_posts

List posts in a workspace, filter by status

get_post

Fetch a post by id

schedule_post

Create a post for accounts or an account group, with local files

edit_post

Update an existing post, optionally attaching local files

get_upload_limits

Largest file the account may upload, and the allowed types

cancel_post

Cancel a scheduled post

delete_post

Permanently delete a post

list_post_deliveries

Per-account delivery status for a post

list_accounts

List connected social accounts, optionally by group

get_account_health

Check token freshness and rate-limit headroom

get_account_platform_metrics

The numbers only an account's own network reports

list_workspaces

List workspaces the user can access

rename_account

Set or clear an account's display name

list_account_groups

List account groups and their members

get_account_group

Fetch an account group

create_account_group

Create an account group

rename_account_group

Rename an account group

set_account_group_members

Replace the accounts in a group

delete_account_group

Delete a group (its accounts stay connected)

create_telegram_connect_code

Mint a one-time code to connect a Telegram chat

get_telegram_connect_status

Check whether a Telegram connect code was used

get_telegram_bot_commands

List the bot command menu in a Telegram chat

set_telegram_bot_commands

Replace the bot command menu in a Telegram chat

clear_telegram_bot_commands

Clear the bot command menu in a Telegram chat

list_slack_channels

List the channels a Slack account can post to

list_slack_members

List members of a Slack workspace, for DMs

get_slack_identity

Show the name and icon a Slack account posts under

set_slack_identity

Set the name and icon a Slack account posts under

get_messaging_setting

Read a Meta ice breakers, persistent menu or greeting setting

set_ice_breakers

Replace the prompts shown before the first message

set_persistent_menu

Replace the always-visible Messenger menu

set_greeting

Replace the Messenger greeting

clear_messaging_setting

Clear one Meta messaging-profile setting

get_webhook_subscription

Check what the network delivers to the FoPost webhook

resubscribe_webhook

Re-subscribe an account whose webhook lapsed

list_discord_channels

List the channels a Discord bot account can post to

switch_discord_channel

Move a Discord account to another channel in the same server

get_discord_identity

Show the nickname and avatar the bot wears in the server

set_discord_identity

Set the nickname and avatar the bot wears in the server

list_discord_pins

List the pinned messages in the account's channel

manage_discord_message

Delete, pin, unpin, crosspost a message or start a thread on it

send_discord_dm

Send one direct message to a member of the server

list_discord_events

List the server's scheduled events

create_discord_event

Add a scheduled event to the server

update_discord_event

Change a scheduled event

delete_discord_event

Remove a scheduled event

list_discord_members

List or search the server's members

list_discord_roles

List the server's roles

create_discord_role

Add a role to the server

assign_discord_role

Give a member a role, or take one away

generate_caption

AI-generate or improve a caption (1 credit)

rewrite_for_platforms

Rewrite content per target platform (1 credit each)

repurpose_url

Turn a blog URL into N platform-optimized posts (6 credits)

get_ai_credits

Show current AI credit balance

list_inbox

List comments, mentions and DMs with filters

list_inbox_threads

List comment threads under your posts, or mentions

list_inbox_conversations

List DM conversations

get_inbox_unread_count

Count unread inbox items

mark_inbox_thread_read

Mark a comment thread or DM conversation read

resolve_inbox

Resolve every unanswered item of one type

reply_to_inbox_item

Reply on the platform, with media or quick replies on a DM

edit_inbox_comment

Edit your own comment on the platform

update_inbox_item

Set an item to unread, read, resolved or snoozed

hide_inbox_item

Hide a comment on the platform

unhide_inbox_item

Unhide a comment on the platform

delete_inbox_item

Delete a comment, or your own reply, on the platform

like_inbox_item

Like a comment or message on the platform

unlike_inbox_item

Remove your like

repost_inbox_item

Repost a post on X, where can_repost is true

unrepost_inbox_item

Undo your repost on X

bookmark_inbox_item

Bookmark a post on X, where can_bookmark is true

unbookmark_inbox_item

Remove your bookmark on X

pin_inbox_item

Pin your own comment

unpin_inbox_item

Unpin your own comment

react_to_inbox_item

React to a DM, or remove your reaction

start_inbox_conversation

Send a new DM, or answer a comment privately

set_inbox_typing

Show or clear the typing indicator in a DM

handover_conversation

Pass a Messenger thread to another Meta app, or take it back

list_inbox_approvals

List drafted replies waiting for approval

approve_inbox_reply

Approve and send a drafted reply

reject_inbox_reply

Reject a drafted reply

refresh_inbox

Poll every inbox-capable account now

list_contacts

List the people behind the inbox, most recently active first

get_contact

Read one contact

create_contact

File a person by hand; folds into whoever holds the handle

update_contact

Change a name, note, channels or custom fields

delete_contact

Remove a contact; the messages stay in the inbox

list_contact_conversations

The inbox threads one contact appears in

import_contacts

Import from CSV text

list_contact_fields

The columns this workspace keeps about a contact

create_contact_field

Add a column

update_contact_field

Rename a field, change its options, or move it

delete_contact_field

Remove a field and every answer to it

get_conversation_analytics

Inbox volume and reply time per thread (needs analytics)

list_broadcasts

List broadcasts, newest first

get_broadcast

Read one broadcast

create_broadcast

Write one without sending it

update_broadcast

Edit a draft or scheduled broadcast

send_broadcast

Send it; closed windows are skipped (needs publish)

cancel_broadcast

Stop it where it stands (needs publish)

list_broadcast_recipients

Who it reached, who it skipped, and why

delete_broadcast

Remove it; sent messages stay in their conversations

list_sequences

List drip sequences

get_sequence

Read one sequence and its steps

create_sequence

Write one; creating it enrolls nobody

update_sequence

Edit the steps, or pause and resume it

enroll_in_sequence

Put contacts on it, by id or audience (needs publish)

unenroll_from_sequence

Take contacts off it (needs publish)

list_sequence_enrollments

Who is on it and what step they are at

delete_sequence

Remove it and every enrollment on it

list_ads

List boosts and ads created through FoPost

list_external_ads

List ads on connected ad accounts made elsewhere

list_boostable_posts

List published posts that can be boosted

list_ad_sources

List ad connections, ad accounts and pages

list_ad_goals

List the goals this connection can run right now

list_ad_catalogs

List product catalogs the connection reaches

create_ad_catalog

Create a product catalog (needs publish)

list_catalog_products

List one page of a catalog's products

write_catalog_products

Upsert or delete up to 500 products (needs publish)

list_catalog_product_sets

List the product sets a catalog ad can run from

create_catalog_product_set

Create a product set (needs publish)

list_reach_frequency

List reach-and-frequency predictions on an ad account

search_ad_library

Search the public ad archive, read live and never stored

list_ad_account_activity

Read an ad account's change log

boost_post

Boost a published post (starts paused, needs publish)

create_ad

Create an ad (starts paused, needs publish)

set_ad_status

Pause or resume an ad (needs publish)

refresh_ad

Re-read delivery status and insights

delete_ad

End delivery and delete an ad (needs publish)

list_audiences

List saved audiences and pixels on an ad account

search_ad_targeting

Search locations, interests, behaviors and income brackets

list_lead_forms

List lead forms on connected pages

list_leads

List one page of leads from a lead form

get_ad_account_tree

Read campaigns, ad sets and ads on an ad account

create_ad_campaign

Create a campaign (starts paused, needs publish)

get_ad_campaign

Read one campaign

update_ad_campaign

Rename, pause or resume a campaign (needs publish)

delete_ad_campaign

Delete a campaign and its contents (needs publish)

duplicate_ad_campaign

Copy a campaign (starts paused, needs publish)

create_ad_set

Create an ad set (starts paused, needs publish)

get_ad_set

Read one ad set

update_ad_set

Change an ad set's status, budget or targeting (needs publish)

delete_ad_set

Delete an ad set and its ads (needs publish)

duplicate_ad_set

Copy an ad set (starts paused, needs publish)

create_network_ad

Create an ad inside an ad set (starts paused, needs publish)

get_network_ad

Read one ad inside an ad set

update_network_ad

Rename, pause, resume or swap an ad's creative (needs publish)

delete_network_ad

Delete an ad inside an ad set (needs publish)

duplicate_network_ad

Copy an ad (starts paused, needs publish)

bulk_set_ad_status

Pause or resume up to 50 objects (needs publish)

list_ad_creatives

List creatives on an ad account

create_ad_creative

Create an image, video or carousel creative

get_ad_creative

Read one creative

delete_ad_creative

Delete a creative

get_audience

Read one saved audience

update_audience

Rename or redescribe a saved audience

delete_audience

Delete a saved audience

add_audience_users

Add customer emails to a custom audience

estimate_ad_reach

Estimate the reach of a targeting

get_ad_object_insights

Insights for a campaign, ad set or ad

get_ad_insights

Insights for an ad created through FoPost

get_lead_form

Read one lead form

archive_lead_form

Archive a lead form

list_leads_feed

List stored leads from subscribed pages

list_lead_pages

List pages subscribed to new leads

subscribe_lead_page

Subscribe a page to new leads and backfill

unsubscribe_lead_page

Unsubscribe a page from new leads

search_knowledge

Find the saved passages that answer a question about the brand

list_knowledge_sources

List knowledge sources and their sync status

create_knowledge_source

Save an FAQ, a note, one of your pages, or a text file

update_knowledge_source

Edit a source; changing its text re-indexes it

sync_knowledge_source

Read a source again — a URL source is re-fetched

delete_knowledge_source

Delete a source and its indexed passages

list_activity

What happened in a workspace, newest first

list_audit_events

The security audit log: who changed access, and when

Tool

What it does

---------------------------------------

----------------------------------------------------------------

list_posts

List posts in a workspace, filter by status

get_post

Fetch a post by id

schedule_post

Create a post for accounts or an account group, with local files

edit_post

Update an existing post, optionally attaching local files

get_upload_limits

Largest file the account may upload, and the allowed types

cancel_post

Cancel a scheduled post

delete_post

Permanently delete a post

list_post_deliveries

Per-account delivery status for a post

list_accounts

List connected social accounts, optionally by group

get_account_health

Check token freshness and rate-limit headroom

list_workspaces

List workspaces the user can access

rename_account

Set or clear an account's display name

list_account_groups

List account groups and their members

get_account_group

Fetch an account group

create_account_group

Create an account group

rename_account_group

Rename an account group

set_account_group_members

Replace the accounts in a group

delete_account_group

Delete a group (its accounts stay connected)

create_telegram_connect_code

Mint a one-time code to connect a Telegram chat

get_telegram_connect_status

Check whether a Telegram connect code was used

get_telegram_bot_commands

List the bot command menu in a Telegram chat

set_telegram_bot_commands

Replace the bot command menu in a Telegram chat

clear_telegram_bot_commands

Clear the bot command menu in a Telegram chat

list_slack_channels

List the channels a Slack account can post to

list_slack_members

List members of a Slack workspace, for DMs

get_slack_identity

Show the name and icon a Slack account posts under

set_slack_identity

Set the name and icon a Slack account posts under

generate_caption

AI-generate or improve a caption (1 credit)

rewrite_for_platforms

Rewrite content per target platform (1 credit each)

repurpose_url

Turn a blog URL into N platform-optimized posts (6 credits)

get_ai_credits

Show current AI credit balance

list_inbox

List comments, mentions and DMs with filters

list_inbox_threads

List comment threads under your posts, or mentions

list_inbox_conversations

List DM conversations

get_inbox_unread_count

Count unread inbox items

mark_inbox_thread_read

Mark a comment thread or DM conversation read

resolve_inbox

Resolve every unanswered item of one type

reply_to_inbox_item

Reply on the platform, with media or quick replies on a DM

edit_inbox_comment

Edit your own comment on the platform

update_inbox_item

Set an item to unread, read, resolved or snoozed

hide_inbox_item

Hide a comment on the platform

unhide_inbox_item

Unhide a comment on the platform

delete_inbox_item

Delete a comment, or your own reply, on the platform

like_inbox_item

Like a comment or message on the platform

unlike_inbox_item

Remove your like

repost_inbox_item

Repost a post on X, where can_repost is true

unrepost_inbox_item

Undo your repost on X

bookmark_inbox_item

Bookmark a post on X, where can_bookmark is true

unbookmark_inbox_item

Remove your bookmark on X

pin_inbox_item

Pin your own comment

unpin_inbox_item

Unpin your own comment

react_to_inbox_item

React to a DM, or remove your reaction

start_inbox_conversation

Send a new DM, or answer a comment privately

set_inbox_typing

Show or clear the typing indicator in a DM

list_inbox_approvals

List drafted replies waiting for approval

approve_inbox_reply

Approve and send a drafted reply

reject_inbox_reply

Reject a drafted reply

refresh_inbox

Poll every inbox-capable account now

list_ads

List boosts and ads created through FoPost

list_external_ads

List ads on connected ad accounts made elsewhere

list_boostable_posts

List published posts that can be boosted

list_ad_sources

List ad connections, ad accounts and pages

boost_post

Boost a published post (starts paused, needs publish)

create_ad

Create an ad (starts paused, needs publish)

set_ad_status

Pause or resume an ad (needs publish)

refresh_ad

Re-read delivery status and insights

delete_ad

End delivery and delete an ad (needs publish)

list_audiences

List saved audiences and pixels on an ad account

search_ad_targeting

Search locations, interests, behaviors and income brackets

list_lead_forms

List lead forms on connected pages

list_leads

List one page of leads from a lead form

get_ad_account_tree

Read campaigns, ad sets and ads on an ad account

create_ad_campaign

Create a campaign (starts paused, needs publish)

get_ad_campaign

Read one campaign

update_ad_campaign

Rename, pause or resume a campaign (needs publish)

delete_ad_campaign

Delete a campaign and its contents (needs publish)

duplicate_ad_campaign

Copy a campaign (starts paused, needs publish)

create_ad_set

Create an ad set (starts paused, needs publish)

get_ad_set

Read one ad set

update_ad_set

Change an ad set's status, budget or targeting (needs publish)

delete_ad_set

Delete an ad set and its ads (needs publish)

duplicate_ad_set

Copy an ad set (starts paused, needs publish)

create_network_ad

Create an ad inside an ad set (starts paused, needs publish)

get_network_ad

Read one ad inside an ad set

update_network_ad

Rename, pause, resume or swap an ad's creative (needs publish)

delete_network_ad

Delete an ad inside an ad set (needs publish)

duplicate_network_ad

Copy an ad (starts paused, needs publish)

bulk_set_ad_status

Pause or resume up to 50 objects (needs publish)

list_ad_creatives

List creatives on an ad account

create_ad_creative

Create an image, video or carousel creative

get_ad_creative

Read one creative

delete_ad_creative

Delete a creative

get_audience

Read one saved audience

update_audience

Rename or redescribe a saved audience

delete_audience

Delete a saved audience

add_audience_users

Add customer emails to a custom audience

estimate_ad_reach

Estimate the reach of a targeting

get_ad_object_insights

Insights for a campaign, ad set or ad

get_ad_insights

Insights for an ad created through FoPost

get_lead_form

Read one lead form

archive_lead_form

Archive a lead form

list_leads_feed

List stored leads from subscribed pages

list_lead_pages

List pages subscribed to new leads

subscribe_lead_page

Subscribe a page to new leads and backfill

unsubscribe_lead_page

Unsubscribe a page from new leads

get_google_business_location

Read a Business Profile location

update_google_business_location

Change its name, description, website or phone

get_google_business_attributes

Read its attributes, or what Google offers

update_google_business_attributes

Set attributes on the location

get_google_business_menus

Read its food menus

replace_google_business_menus

Replace the whole menu set

get_google_business_services

Read its service list

replace_google_business_services

Replace the whole service list

list_google_business_media

List the location's photos

add_google_business_media

Add a photo from the media library

delete_google_business_media

Remove a photo

list_google_business_place_actions

List the Book, Order and Reserve buttons

create_google_business_place_action

Add an action link to the listing

update_google_business_place_action

Change an action link

delete_google_business_place_action

Remove an action link

get_google_business_verification

List the ways it can be verified

start_google_business_verification

Start verifying the location

complete_google_business_verification

Finish it with the PIN Google sent

get_google_business_performance

Daily impressions, calls, clicks and search terms

list_blogs

List the blogs on a connected WordPress site or Shopify store

list_articles

List the articles already on a blog, drafts included

get_article

Read one article on a connected site in full

create_article

Write a new article to a blog on a connected site

update_article

Change a live article in place, never as a duplicate

delete_article

Remove an article from a connected site

list_products

List a connected store's products

update_product

Change a product on a connected store

unpublish_post

Take a published post down on every network (needs publish)

create_connect_session

Mint a hosted connect link for one of your end users

get_connect_session

Poll a hosted connect link for the connected account

list_webhooks

List webhooks with their events, state and failure count

create_webhook

Register an endpoint for workspace events (secret returned once)

update_webhook

Change a webhook, rotate its secret, or re-enable it

delete_webhook

Delete a webhook

test_webhook

Send a test post.published payload to one webhook

list_webhook_deliveries

Every delivery attempt to a webhook, newest first

get_webhook_delivery

One delivery attempt, with the payload that was sent

redeliver_webhook_delivery

Send a delivery again with the identical body

list_queue_slots

List the weekly posting slots of a workspace

create_queue_slot

Add a weekly posting slot

update_queue_slot

Change a posting slot; moved posts come back in moved

delete_queue_slot

Remove a posting slot; moved posts come back in moved

get_queue_next

The time a post added to the queue now would get

preview_queue

The next free slot occurrences, in order

list_automations

List automations with trigger type, state and run count

get_automation

Read one automation with its graph and steps

list_automation_versions

Every saved version of an automation graph, newest first

get_automation_version

The graph as it was saved at one version

restore_automation_version

Save an old version's graph as a new version on top

Related MCP server: social0-mcp

Claude Code plugin

This repo is also a Claude Code plugin. Installing it wires up FoPost's hosted MCP server at https://api.fopost.com/mcp: no API key to copy, no local process. It also adds three skills for the flows people run every week.

claude plugin marketplace add fopost/fopost-mcp
claude plugin install fopost@fopost

Claude Code opens your browser to sign in the first time a tool runs. Pick the workspace the assistant works in; the connection stays locked to it.

Skill

Fires when you ask to

schedule-a-week

Fill next week's calendar, draft a batch of posts, top up the queue

triage-the-inbox

Triage or clear the inbox, draft replies, find what needs an answer

weekly-report

Summarise the week, recap performance, see what failed

The hosted server serves the same tools as the FoPost Agent, and anything that publishes, schedules or sends waits for your approval.

Prefer to run the server yourself? The stdio package below is the same product, driven by an API key.

Tool

What it does

list_posts

List posts in a workspace, filter by status

get_post

Fetch a post by id

schedule_post

Create a post for accounts or an account group

edit_post

Update an existing post

get_upload_limits

Largest file the account may upload, and the allowed types

cancel_post

Cancel a scheduled post

delete_post

Permanently delete a post

list_post_deliveries

Per-account delivery status for a post

list_accounts

List connected social accounts, optionally by group

get_account_health

Check token freshness and rate-limit headroom

list_workspaces

List workspaces the user can access

rename_account

Set or clear an account's display name

list_account_groups

List account groups and their members

get_account_group

Fetch an account group

create_account_group

Create an account group

rename_account_group

Rename an account group

set_account_group_members

Replace the accounts in a group

delete_account_group

Delete a group (its accounts stay connected)

create_telegram_connect_code

Mint a one-time code to connect a Telegram chat

get_telegram_connect_status

Check whether a Telegram connect code was used

get_telegram_bot_commands

List the bot command menu in a Telegram chat

set_telegram_bot_commands

Replace the bot command menu in a Telegram chat

clear_telegram_bot_commands

Clear the bot command menu in a Telegram chat

list_slack_channels

List the channels a Slack account can post to

list_slack_members

List members of a Slack workspace, for DMs

get_slack_identity

Show the name and icon a Slack account posts under

set_slack_identity

Set the name and icon a Slack account posts under

list_pinterest_boards

List the boards a Pinterest account can pin to

create_pinterest_board

Create a board on a Pinterest account

list_youtube_playlists

List a channel's playlists, with its default marked

create_youtube_playlist

Create a playlist on a YouTube channel

set_default_youtube_playlist

Set the playlist new videos join by default

list_youtube_captions

List the caption tracks on a published video

upload_youtube_captions

Upload an SRT or WebVTT track to a published video

read_youtube_transcript

Read one caption track back as text

get_bluesky_languages

Show a Bluesky connection's default post languages

set_bluesky_languages

Set a Bluesky connection's default post languages

get_tiktok_creator_info

Read the switches TikTok enforces at publish time

search_tiktok_music

Search TikTok's Commercial Music Library

search_tiktok_locations

Search the places a TikTok post can be tagged with

lookup_tiktok_video

Resolve a share link to one of the account's own videos

search_instagram_audio

Search the tracks a Reel can carry

get_instagram_publishing_limit

Posts left before Instagram refuses the next one

list_instagram_stories

List the stories still inside their 24 hours

get_instagram_story_insights

Read the insight set for one live story

search_linkedin_mentions

Find the organizations a LinkedIn post can mention

follow_x_user

Follow a user from a connected X account

unfollow_x_user

Unfollow a user from a connected X account

get_x_post

Look up one X post by id

search_x_posts

Search recent X posts, paged by next_token

generate_caption

AI-generate or improve a caption (1 credit)

rewrite_for_platforms

Rewrite content per target platform (1 credit each)

repurpose_url

Turn a blog URL into N platform-optimized posts (6 credits)

get_ai_credits

Show current AI credit balance

list_inbox

List comments, mentions and DMs with filters

list_inbox_threads

List comment threads under your posts, or mentions

list_inbox_conversations

List DM conversations

get_inbox_unread_count

Count unread inbox items

mark_inbox_thread_read

Mark a comment thread or DM conversation read

resolve_inbox

Resolve every unanswered item of one type

reply_to_inbox_item

Reply on the platform, with media or quick replies on a DM

edit_inbox_comment

Edit your own comment on the platform

update_inbox_item

Set an item to unread, read, resolved or snoozed

hide_inbox_item

Hide a comment on the platform

unhide_inbox_item

Unhide a comment on the platform

delete_inbox_item

Delete a comment, or your own reply, on the platform

like_inbox_item

Like a comment or message on the platform

unlike_inbox_item

Remove your like

repost_inbox_item

Repost a post on X, where can_repost is true

unrepost_inbox_item

Undo your repost on X

bookmark_inbox_item

Bookmark a post on X, where can_bookmark is true

unbookmark_inbox_item

Remove your bookmark on X

pin_inbox_item

Pin your own comment

unpin_inbox_item

Unpin your own comment

react_to_inbox_item

React to a DM, or remove your reaction

start_inbox_conversation

Send a new DM, or answer a comment privately

set_inbox_typing

Show or clear the typing indicator in a DM

list_inbox_approvals

List drafted replies waiting for approval

approve_inbox_reply

Approve and send a drafted reply

reject_inbox_reply

Reject a drafted reply

refresh_inbox

Poll every inbox-capable account now

list_ads

List boosts and ads created through FoPost

list_external_ads

List ads on connected ad accounts made elsewhere

list_boostable_posts

List published posts that can be boosted

list_ad_sources

List ad connections, ad accounts and pages

boost_post

Boost a published post (starts paused, needs publish)

create_ad

Create an ad (starts paused, needs publish)

set_ad_status

Pause or resume an ad (needs publish)

refresh_ad

Re-read delivery status and insights

delete_ad

End delivery and delete an ad (needs publish)

list_audiences

List saved audiences and pixels on an ad account

search_ad_targeting

Search locations, interests, behaviors and income brackets

list_lead_forms

List lead forms on connected pages

list_leads

List one page of leads from a lead form

get_ad_account_tree

Read campaigns, ad sets and ads on an ad account

create_ad_campaign

Create a campaign (starts paused, needs publish)

get_ad_campaign

Read one campaign

update_ad_campaign

Rename, pause or resume a campaign (needs publish)

delete_ad_campaign

Delete a campaign and its contents (needs publish)

duplicate_ad_campaign

Copy a campaign (starts paused, needs publish)

create_ad_set

Create an ad set (starts paused, needs publish)

get_ad_set

Read one ad set

update_ad_set

Change an ad set's status, budget or targeting (needs publish)

delete_ad_set

Delete an ad set and its ads (needs publish)

duplicate_ad_set

Copy an ad set (starts paused, needs publish)

create_network_ad

Create an ad inside an ad set (starts paused, needs publish)

get_network_ad

Read one ad inside an ad set

update_network_ad

Rename, pause, resume or swap an ad's creative (needs publish)

delete_network_ad

Delete an ad inside an ad set (needs publish)

duplicate_network_ad

Copy an ad (starts paused, needs publish)

bulk_set_ad_status

Pause or resume up to 50 objects (needs publish)

list_ad_creatives

List creatives on an ad account

create_ad_creative

Create an image, video or carousel creative

get_ad_creative

Read one creative

delete_ad_creative

Delete a creative

get_audience

Read one saved audience

update_audience

Rename or redescribe a saved audience

delete_audience

Delete a saved audience

add_audience_users

Add customer emails to a custom audience

estimate_ad_reach

Estimate the reach of a targeting

get_ad_object_insights

Insights for a campaign, ad set or ad

get_ad_insights

Insights for an ad created through FoPost

get_lead_form

Read one lead form

archive_lead_form

Archive a lead form

list_leads_feed

List stored leads from subscribed pages

list_lead_pages

List pages subscribed to new leads

subscribe_lead_page

Subscribe a page to new leads and backfill

unsubscribe_lead_page

Unsubscribe a page from new leads

list_ad_networks

List the ad networks and what each one supports

add_audience_companies

Add companies to a company-list audience

get_ad_bid_pricing

Quote what an audience costs at auction

get_ad_supply_forecast

Forecast what a budget would deliver

list_conversion_rules

List the conversion rules on an ad account

create_conversion_rule

Create a conversion rule

get_conversion_rule

Read one conversion rule

update_conversion_rule

Change a conversion rule

delete_conversion_rule

Turn a conversion rule off

set_conversion_rule_ad_set

Attach or detach a conversion rule and an ad set

get_conversion_metrics

Read what a conversion rule recorded

send_conversion_events

Send off-site conversions back to the network

upload_ad_conversions

Send offline conversions against a pixel

list_conversion_events

List the conversion batches sent to the network

list_pixels

List the pixels on an ad account

create_pixel

Create a pixel and get its install script

get_pixel

Read one pixel

update_pixel

Rename a pixel or change its data-use setting

get_pixel_stats

What a pixel fired over the last 28 days

get_event_match_quality

How well each pixel event matches people

list_custom_conversions

List the custom conversions on an ad account

create_custom_conversion

Create a custom conversion on a pixel

delete_custom_conversion

Delete a custom conversion

get_content_decay

How long a post keeps earning, by age band

get_posting_frequency

What each weekly posting cadence earned per post

get_post_timeline

Every metric reading held for one post, oldest first

get_analytics_changes

Readings since a cursor, for mirroring metrics elsewhere

collect_post_analytics

Refresh one post's metrics now

list_native_posts

Posts on an account that never went out through FoPost

Setup

1. Get an API key

Generate one at https://fopost.com/dashboard/api-keys with the scopes you need (posts, publish, accounts, workspaces are most common; publish is required to publish, retry or cancel a post). Inbox tools need inbox, and liking, pinning, reacting, editing, starting a conversation, the typing indicator, reply media and quick replies, and deleting your own reply also need publish; ads tools need ads, and boost_post, create_ad, set_ad_status, delete_ad, bulk_set_ad_status and every create, update, delete and duplicate tool for campaigns, ad sets and network ads also need publish. A boost, ad, campaign, ad set or copy starts paused unless paused is false. The analytics tools need analytics; collect_post_analytics needs posts too, and list_native_posts needs accounts. Blog tools read with posts, and create_article, update_article, delete_article and update_product also need publish, because a change there is visible to the site's own readers.

2. Add to your MCP client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "fopost": {
      "command": "npx",
      "args": ["-y", "@fopost/mcp"],
      "env": {
        "FOPOST_API_KEY": "your-api-key"
      }
    }
  }
}

Cursor / Continue / Other

Use the same npx -y @fopost/mcp command with FOPOST_API_KEY in the environment.

Configuration

Variable

Required

Default

FOPOST_API_KEY

yes

required

FOPOST_API_URL

no

https://api.fopost.com

Self-hosted? Point FOPOST_API_URL at your instance. It must be a bare https:// host; plain http:// is accepted for localhost and 127.0.0.1 only, so the key never crosses a network in clear text.

Security

  • Use the narrowest key you can. Create a key bound to one workspace with only the scopes your workflow needs; scopes are enforced by the API, and this server never widens them.

  • Destructive tools are annotated. Every tool carries MCP readOnlyHint / destructiveHint annotations. Leave your client's confirmation prompt on for destructive tools (deletes, publishing, replies, ad spend, webhooks): content the server reads back, such as inbox messages, can contain instructions written by someone else.

  • Bursts are capped. More than 30 destructive calls in a minute are refused until the window clears, so a looping agent stops and asks.

  • file_paths reads local files with the permissions of the MCP process. Only image and video extensions are accepted, judged after following symlinks.

The threat model is in docs/security/threat-model.md.

Example prompts

"List my failed posts from this week and tell me which accounts are unhealthy."

"Take this URL and turn it into a Twitter thread, a LinkedIn post, and a dev.to summary: https://example.com/blog/post"

"How many AI credits do I have left this period?"

"How long do my posts keep earning, and what cadence gets the most per post?"

"Show me the metric readings for this post over time: https://x.com/acme/status/1"

Contributing

Issues and pull requests are welcome at fopost/fopost-mcp.

npm install
npm run lint     # tsc --noEmit
npm run build    # tsup -> dist/

License

MIT

Google Ads

The shared ads tools work across networks. What only Google has is its own set: list_google_recommendations, get_google_optimization_score, apply_google_recommendations, dismiss_google_recommendations, list_google_keywords, create_google_keyword, set_google_keyword_status, delete_google_keyword, google_keyword_ideas, list_google_search_terms, list_google_negative_keywords, list_google_assets, create_google_asset, list_google_asset_groups, list_google_local_services_leads, list_google_conversion_actions, and run_google_ads_query for a raw read-only GAQL SELECT.

Each names connection_id and customer_id; the customer has to be an account the connection's grant reaches. Changes need the publish scope as well as ads. Applying a recommendation changes what the live account serves or bids straight away; dismissing one only hides it.

Available Tools

14 tools
cancel_postA

Cancel a scheduled post. The post stays in the system but will not be published.

Inputs: id (required).

delete_postA

Permanently delete a post. Cannot be undone.

Inputs: id (required).

edit_postA

Update an existing post. Only provided fields are changed.

Inputs: id (required), labels, content, schedule_at.

generate_captionA

Generate or improve a social media caption with AI. Optionally pass current draft text and target platforms for tone-aware output. Costs 1 AI credit.

Inputs: platforms, char_limit, workspace_id, current_caption.

get_account_healthA

Check token freshness and rate-limit headroom for a single account. Useful when posts are failing — tells you if the OAuth token has expired.

Inputs: account_id (required).

get_ai_creditsA

Show the current AI credit balance, usage this period, and reset date.

Inputs: no named parameters.

get_postA

Fetch a single post by id with full content, settings, and delivery records.

Inputs: id (required).

list_accountsA

List connected social accounts in a workspace. Returns platform, username, primary flag, and connection status.

Inputs: workspace_id (required).

list_post_deliveriesB

Show per-account delivery status (queued, publishing, published, failed) for a post.

Inputs: id (required).

list_postsA

List posts in a workspace. Filter by status (draft, scheduled, published, failed) and pagination. Returns content, scheduled time, target accounts, and delivery status.

Inputs: workspace_id (required), limit, offset, status.

list_workspacesA

List workspaces the authenticated user has access to.

Inputs: no named parameters.

repurpose_urlA

Fetch a blog/article URL and generate one optimized post per requested platform in a single call. The flagship "Developer Content Stack" feature — write once, get 16 versions. Costs 6 AI credits per call regardless of platform count.

Inputs: url (required), platforms (required), workspace_id.

rewrite_for_platformsB

Rewrite a piece of content for one or more target platforms, applying platform-specific tone and length constraints. Costs 1 AI credit per platform.

Inputs: content (required), platforms (required), tone, workspace_id.

schedule_postA

Create and schedule a post. Pass the body text, target account ids, and an ISO 8601 schedule_at. Omit schedule_at to save as draft. Use publish_now=true to publish immediately after creation.

Inputs: content (required), account_ids (required), workspace_id (required), labels, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 14 tools

    Disambiguation4/5

    Post lifecycle tools are clearly distinct: schedule_post creates, edit_post updates, cancel_post cancels, delete_post removes. The AI tools have some overlap, but generate_caption, rewrite_for_platforms, and repurpose_url are differentiated by input and output scope.

    Naming Consistency5/5

    Tool names consistently follow a snake_case verb_noun pattern: list_posts, get_post, schedule_post, edit_post, delete_post, list_accounts. Minor multi-word names like list_post_deliveries and rewrite_for_platforms still fit the overall convention.

    Tool Count5/5

    14 tools is well-scoped for a social media scheduling and AI content assistant. Each tool covers a distinct operation across posts, accounts, workspaces, and AI generation without feeling bloated.

    Completeness4/5

    Posts have full lifecycle coverage: create/schedule, read, update, cancel, delete, list, and delivery tracking. Minor gaps exist around account connection/disconnection and workspace management, but the core scheduling workflow is complete.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Schedule and manage social media posts across 10 platforms (Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram) from any MCP-compatible AI assistant. Supports batch posting, media uploads, analytics, and platform-specific features like Reels, Shorts, and carousels.
      11
      427 npm
      7
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server to manage social media accounts from AI assistants, enabling post creation, scheduling, publishing, and media uploads across multiple platforms.
      13
      11 npm
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Manages social media posts, accounts, and AI usage from MCP-aware clients. Supports scheduling, editing, canceling, AI caption generation, and repurposing URLs into platform-optimized content.
      14
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to post, schedule, thread, delete, and analyze social media posts across platforms like X, Bluesky, LinkedIn, and Instagram through a single MCP interface.
      107 npm
      MIT