Skip to the page

MCP tools

Buzzmark's MCP server gives a connected AI app tools to read your account, write and check posts in your Hive voice, add pictures, plan a week and schedule a Buzz.

Read-only tools change nothing; the others add drafts, pictures or a plan, or change when a Buzz goes out.

No tool posts right away, and every tool follows the same rules as the app.

How the tools work

Your app picks the tools from what you ask, so you never need their names. Most tools take a social_set_id, which the app reads from list_social_sets first, and every tool runs as the person who connected the app, in that person's account.

A tool answers in a sentence plus JSON. A refusal is a sentence Buzzmark wrote, with the reason and what to fix, such as a post over a platform's length or a time that has passed.

Read-only and write tools

Read-only tools only look: your social sets, Hive profiles, posts, best times and each post's numbers. A rewrite is read-only too, because it answers up to 3 versions and saves nothing.

Write tools either add something or change something. Posts Buzz writes, a picture, a planned week and a Hive check score are added to your account and change nothing that's there. Saving over a draft, deleting one and giving it a version per platform change a draft. The scheduling tools change when or whether a Buzz goes out, and apps that ask before a change ask you before those.

What counts against your plan

Reading costs nothing. A post Buzz writes counts as one Buzz written for you, and a planned week counts one for each planned post. A picture uses one picture credit, a Hive check counts as one, and a fresh read of the news for ideas counts as one Scout run. It's the same count as in the app. Plans and usage has each plan's amounts.

Tools in Claude

Claude's address leaves out create_image and add_media_from_chat: Claude's directory doesn't take tools that make images with AI, and Claude doesn't hand a chat attachment to a tool. Every other app gets all the tools below.

Every tool

List social sets

list_social_setsReads only

The user's social sets: each is a group of connected social accounts with its own Hive profile (brand voice), time zone and weekly posting slots. Start here: most other tools take a social_set_id and account ids from this answer.

No inputs.

List brand profiles

list_brand_profilesReads only

The user's brand profiles (Buzzmark calls them Hive profiles): what Buzzmark knows about each brand, its voice, tone, audience and products. Writing tools write in a brand profile's voice; pass its id as hive_profile_id, or leave it out to use the social set's own.

No inputs.

List posts

list_postsReads only

Buzzes in Buzzmark, newest first: drafts, scheduled, published or failed. Text is cut to 400 characters; get_post gives the whole Buzz.

statusOptional
one of "draft", "scheduled", "published", "failed", "all".
social_set_idOptional
number.
limitOptional
number, 1 to 50.

Get a post

get_postReads only

One Buzz in full: every part of a thread, its pictures, its first comment, the accounts it goes to, its status and time.

post_idRequired
number.

Write posts in the brand's voice

write_postsMakes changes

Buzz writes 1 to 5 new posts from an idea, in a Hive profile's voice, with Buzzmark's writing rules and its after-check. Every answer is kept in the user's Library in Buzzmark. Nothing is saved as a draft: pass the text you want to save_draft.

ideaRequired
text, up to 2,000 characters. What the posts are about, in the user's words.
hive_profile_idOptional
number.
social_set_idOptional
number. Social set whose Hive profile writes the posts, when hive_profile_id is left out. Optional when the account has one set.
platformOptional
text. Buzzmark platform id (x, linkedin, instagram, threads, facebook, tiktok, bluesky) to write for.
formatOptional
one of "post", "thread".
countOptional
number, 1 to 5.
with_picture_briefOptional
yes or no. Add a brief for a picture to each post, for create_image.

Save a draft

save_draftMakes changes

Creates a Buzz draft, or updates one (post_id). A draft stays a draft: nothing is posted or scheduled. Give text for one post, or thread for several. Says what a platform would refuse (length, a missing picture, a LinkedIn tag LinkedIn can't find) so it can be fixed before schedule_post. Tagging: on X, Threads, Instagram and TikTok write @handle. On LinkedIn write the profile or page link in brackets, @[https://www.linkedin.com/company/<slug>] or @[https://www.linkedin.com/in/<id>], and LinkedIn shows its own name for it; every other platform gets that name as plain text. On Facebook a mention stays plain text. A brand profile with accounts (list_brand_profiles shows them) needs none of that: write its name, and when the post is scheduled its first mention is tagged on each platform it has an account on. first_comment adds a comment posted under the post the moment it goes out, on LinkedIn, Instagram, Facebook and Threads: the place for a link or the hashtags, so the post itself stays clean.

post_idOptional
number. Update this draft instead of making a new one.
textOptional
text, up to 10,000 characters.
threadOptional
list of text, up to 25. A thread: one string per post. Replaces text.
social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.
hive_profile_idOptional
number.
account_idsOptional
list of number, up to 20. Accounts it goes to, first one leading. Default: the set's default accounts.
first_commentOptional
text, up to 5,000 characters. A comment posted under the post right after it goes out, on LinkedIn, Instagram (not a story), Facebook and Threads; other platforms leave it out. At most 500 characters on Threads, 1,250 on LinkedIn, 2,200 on Instagram, 5,000 on Facebook. An empty string removes it; leave it out to keep the draft's comment as it is.

Schedule a post

schedule_postMakes changes

Schedules a draft for a time, or for the social set's next free posting slot. Never posts right away. Times are on the set's clock unless they carry an offset. When the set has natural times on (list_social_sets says), the post goes out a few minutes either way of the time named; the answer says the real time. When the person's role in their organization needs an approval first, the draft is sent for approval instead (sent_for_approval in the answer) and goes out once a teammate approves it. For several drafts at once, use schedule_posts.

post_idRequired
number.
whenRequired
text. "next_slot", or a date and time: "2026-10-02T09:00" on the set's clock, or ISO 8601 with an offset.
account_idsOptional
list of number, up to 20. Default: the accounts saved on the draft, else the set's default accounts.

Schedule several posts

schedule_postsMakes changes

Schedules up to 25 drafts in one go, each at its own time or the next free slot, for example the drafts create_weekly_content_plan saved (each one's date and time is its slot). Never posts right away. Each draft is checked on its own: one that can't go out is reported and the others are still scheduled. When the person's role needs an approval first, the drafts are sent for approval instead.

postsRequired
list of object, up to 25. Each draft with its time (post_id, when, optional account_ids).

Move a scheduled post

reschedule_postMakes changes

Moves a scheduled post to a new date and time on the set's clock, kept exactly. Never posts right away. The words, pictures and accounts stay as they are.

post_idRequired
number.
whenRequired
text. A date and time: "2026-10-02T09:00" on the set's clock, or ISO 8601 with an offset.

Take a post off the schedule

unschedule_postMakes changes

Takes a scheduled post off the calendar and back to the drafts, with its text, pictures and accounts, so it can be edited or scheduled again. Nothing is deleted. Pictures the posting queue held are copied into Buzzmark first; if one can't be, the post stays scheduled.

post_idRequired
number.

Delete a draft

delete_draftMakes changes

Deletes a draft for good. A scheduled or published post can't be deleted here: take a scheduled one back to drafts with unschedule_post first.

post_idRequired
number.

Check a post against the brand voice

check_postMakes changes

Scores a post 0 to 100 on how much it sounds like the brand, with a short verdict, the one thing that works or drifts, and up to three edits that would raise the score, each as the whole post rewritten. Checks any text, including text written in this chat, or a draft (post_id), whose score is kept beside it in Buzzmark. Changes nothing in the post.

textOptional
text, up to 10,000 characters. The post to check. Leave out to check the draft named by post_id.
post_idOptional
number.
platformOptional
text. Buzzmark platform id the post is for. Default: the draft's first account.
hive_profile_idOptional
number. Brand profile id from list_brand_profiles. Default: the social set's own.
social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.

Rewrite a post

rewrite_postReads only

Buzz rewrites a post one way and answers up to three versions to pick from, in the brand's voice and with Buzzmark's writing rules. Nothing is saved: pass the version the user picks to save_draft. Actions: match_hive (sound like the brand), fix_grammar (spelling and grammar only), sharpen (clearer, tighter), sting (more punch), trim (about half the length), remix (fresh words), expand (one concrete detail more), structure (short lines, easy to scan), warmer, thread_hook (the opening post of a thread), emoji, emoji_bullets, announcement (framed as news), for_platform (rewritten the way the platform reads), custom (follow the user's instruction).

actionRequired
one of "match_hive", "fix_grammar", "sharpen", "sting", "trim", "remix", "expand", "structure", "warmer", "thread_hook", "emoji", "emoji_bullets", "announcement", "for_platform", "custom".
textOptional
text, up to 10,000 characters. The post to rewrite. Leave out to rewrite a draft's part (post_id, part).
post_idOptional
number.
partOptional
number, 0 to 24. Which post of a thread, from 0.
platformOptional
text. Buzzmark platform id. Needed for for_platform; otherwise it sets the length the rewrite keeps to.
instructionOptional
text, up to 600 characters. For custom: how to rewrite it, in the user's words.
hive_profile_idOptional
number. Brand profile id from list_brand_profiles. Default: the social set's own.
social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.

Give a draft a version per platform

adapt_for_platformsMakes changes

Rewrites a draft the way each platform it goes to reads it (or the platforms named), and saves those versions on the draft, as Spread does in the app: the draft's first account keeps the post itself, every other platform gets its own text, with the same pictures. A version saved before for one of those platforms is replaced. Works on a single post, not a thread. A LinkedIn version keeps LinkedIn tags as @[link]; the answer warns about any LinkedIn can't find.

post_idRequired
number.
platformsOptional
list of text, up to 8. Buzzmark platform ids among the draft's accounts. Default: every platform after the first account's.

Post ideas from the news and competitors

get_post_ideasMakes changes

Post ideas for a brand from Buzzmark's Scout: this week's news in its sector, each topic with why it matters now, its sources and two or three angles to post, plus angles from its competitors when Scout has read them. Answers Scout's latest read with its date. With refresh, or when Scout has never read the news for this brand, it reads the news again first (up to a minute, counted as one Scout run). Ideas only: write them up with write_posts.

social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.
hive_profile_idOptional
number. Brand profile id from list_brand_profiles. Default: the social set's own.
refreshOptional
yes or no.

What worked this month

get_insightsMakes changes

What a brand's posts from the last 30 days say, as a few findings and moves in plain sentences, each with the number it stands on (for example, posts that open with a question got twice the engagement) and an idea to act on. Read at most once a day: the same answer comes back until the numbers move. Needs enough posts with numbers, and says how many more when there aren't.

social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.
hive_profile_idOptional
number. Brand profile id from list_brand_profiles. Default: the social set's own.

Best times to post

get_best_timesReads only

When a social set's own posts have done best: average likes, comments, shares and saves per post in each weekday and hour, on the set's clock. Needs published posts to say anything.

social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.
daysOptional
number, 14 to 180.

How recent posts did

get_post_statsReads only

A social set's published posts from the last days with their numbers, best first. Only numbers a platform reports are shown.

social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.
daysOptional
number, 1 to 180.
limitOptional
number, 1 to 30.

Make a picture

create_imageMakes changes

Makes a picture with Buzzmark's image model and keeps it in the user's Library. With post_id it's also added to that draft. The picture takes the Hive profile's colours, and a named Hive product brings its real photo as the reference. Uses one of the month's picture credits; a failed or refused picture isn't counted. Takes about a minute.

promptRequired
text, up to 3,000 characters. What the picture shows. A photograph by default.
hive_profile_idOptional
number.
productOptional
text, up to 200 characters. A product name exactly as the Hive profile lists it, to use its photo.
platformsOptional
list of text, up to 8. Where it goes, for the shape (Instagram and Threads 4:5, TikTok 2:3, else square). Default: the draft's platforms.
post_idOptional
number. A draft to add the picture to.
partOptional
number, 0 to 24. Which post of a thread, from 0.

Add a picture or video from a link

add_media_from_urlMakes changes

Copies a picture or video from a public https link into the user's Library in Buzzmark, and with post_id adds it to that draft. Buzzmark keeps its own copy, so the post never depends on the link staying up. Takes JPG, PNG, WebP, GIF, MP4 or MOV: pictures up to 10 MB, videos up to 200 MB. Says what a platform would refuse, like create_image does.

urlRequired
text, up to 2,000 characters. A public https link straight to the file, not to a page that shows it.
post_idOptional
number. A draft to add it to. Without one it goes to the Library only.
partOptional
number, 0 to 24. Which post of a thread, from 0.

Add an uploaded picture or video

add_uploaded_mediaMakes changes

After the file was PUT to create_upload_link's upload_url: copies it into the user's Library in Buzzmark, and with post_id adds it to that draft. Says what a platform would refuse, like add_media_from_url does. An upload_id works for 55 minutes.

upload_idRequired
text, up to 2,000 characters. upload_id from create_upload_link.
post_idOptional
number. A draft to add it to. Without one it goes to the Library only.
partOptional
number, 0 to 24. Which post of a thread, from 0.

Add a picture or video from this chat

add_media_from_chatMakes changes

A picture or video the user attached in this chat: copies it into their Library in Buzzmark, and with post_id adds it to that draft. Says what a platform would refuse. Takes JPG, PNG, WebP, GIF, MP4 or MOV: pictures up to 10 MB, videos up to 200 MB.

fileRequired
object. The file the user attached in the chat.
post_idOptional
number. A draft to add it to. Without one it goes to the Library only.
partOptional
number, 0 to 24. Which post of a thread, from 0.

Plan the week

create_weekly_content_planMakes changes

A plan for a social set's next 7 days: what the week is for, 2 to 4 content pillars, and one ready-to-edit post per posting slot, each with its day, time, platform, a picture idea and why it's there. Built from the set's Hive profile, its posting slots, its best times and how recent posts did, and what's already scheduled. Needs a connected account; with fewer than 8 published posts with numbers it leans on the brand's voice and the platforms' norms, and says so. Kept in the Library. Ask the user first whether they want the posts as drafts: with save_as_drafts every post also becomes a draft, and schedule_posts then puts them all on their slots in one go. Each planned post counts as one Buzz written for you. Takes up to a minute.

social_set_idOptional
number. Social set id from list_social_sets. Optional when the account has one set.
goalOptional
text, up to 600 characters. What the week should do, in the user's words: a launch, an event, more bookings.
startOptional
text. First day, YYYY-MM-DD on the set's clock. Default: tomorrow.
save_as_draftsOptional
yes or no.

Where to next