Categories › Communication › Social media
AI marketing agent for social: post, schedule and answer comments and DMs across 15 channels.
Remote server: your requests and data go to app.hermoso.ai. Claude Code: claude mcp add --transport http hermoso-social-media-manager https://app.hermoso.ai/mcp?tools=app-social&src=registry · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
enable_tools — LIST a group of tools that is not in this session's roster. IT IS NOT HOW YOU REACH A TOOL — call_tool runs any Hermoso tool whether or not get_instructions — Return the FULL instructions for a Hermoso tool whose description ends "Full rules: get_instructions(…)", or for any tool by name, or topic find_tools — Search EVERY Hermoso tool — your starting list is deliberately short, and everything else in the product is here — by name, task or group. Ecall_tool — Run ANY Hermoso tool by name — including the paid-campaign, analytics and channel-admin tools that are not in this session's starting list —post_to_bluesky — Use this when the user wants to post to Bluesky. Publishing costs no credits. Publish a post to Bluesky as the connected account. Text up todelete_bluesky_post — PERMANENTLY delete one of the connected Bluesky account's OWN posts. IRREVERSIBLE — the AT Protocol removes the record from the account's repost_to_telegram — Use this when the user wants to post to a Telegram channel or group. Publishing costs no credits. Publish to a Telegram channel, group or chlist_telegram_chats — Find the chat ids this Telegram bot can be addressed by. STATE THE LIMIT WHENEVER YOU USE IT: this is NOT the list of chats the bot belongs list_telegram_dms — Read what people have SENT to the connected Telegram bot — the newest message from each chat, newest chat first, so you can see who is waitidelete_telegram_message — PERMANENTLY delete one message the bot posted to a Telegram chat. Call it WITHOUT confirm first: nothing is deleted and you get a sentence tpost_to_wordpress — Use this when the user wants to publish, draft or schedule a BLOG POST on their WordPress site. Publishing costs no credits. A title is REQUupdate_wordpress_post — Change a WordPress post that already exists: title, body, excerpt, slug, status (publish a draft, unpublish to draft, make private, or scheddelete_wordpress_post — Delete a WordPress post. Call it WITHOUT confirm first: nothing is deleted and you get a sentence naming the post to show the user. By defaulist_wordpress_posts — List the posts on the brand's WordPress site, newest first — published, scheduled, drafts, pending and private — each with its id, status, tget_wordpress_post — Read one WordPress post back — WordPress's own title, status, live URL, excerpt and body. Use it to confirm a post really published. Free.list_wordpress_terms — List the WordPress site's categories or tags (kind), most-used first, each with its id. Free.create_wordpress_term — Create a category or tag on the WordPress site. (post_to_wordpress also creates any category or tag NAME it is given that the site lacks.) Fpost_to_discord — Post to the user's Discord server. Free. With the Hermoso bot added it posts as the bot to channel (or the brand's default channel) with attedit_discord_message — Change the text of a Discord message Hermoso posted (≤2000 characters) — the bot's or the announcement webhook's. Pass messageId exactly as delete_discord_message — PERMANENTLY delete a Discord message Hermoso posted (the bot's or the announcement webhook's). Call it WITHOUT confirm first: nothing is delget_discord_message — Read back a Discord message Hermoso posted: its text, link and REACTIONS — the only engagement Discord exposes (there is no view count). Frepost_to_slack — Post to the user's Slack. Free. With the Hermoso app installed it posts as the app to channel (or the brand's default channel), uploads imaglist_slack_channels — The Slack workspaces this brand added the Hermoso app to, and the channels in one of them (public, plus private ones the app was invited to set_slack_channel — Choose the DEFAULT Slack channel the Hermoso app posts to: post_to_slack, scheduled Slack posts and Autopilot use it whenever a post names nread_slack_channel — Read a Slack channel's recent messages, newest first, for context — what the team is discussing before you write. A public channel is joinedlist_discord_channels — The Discord servers this brand added the Hermoso app to, and the channels in one of them (text, announcement and forum channels), with the dset_discord_channel — Choose the DEFAULT Discord channel the Hermoso app posts to: post_to_discord, scheduled Discord posts and Autopilot use it whenever a post nread_discord_channel — Read a Discord channel's recent messages, newest first, for context — what members are saying before you write. Other people’s text needs Diedit_slack_message — Change the text of a Slack message the Hermoso app posted (≤4,000 characters, Slack's edit limit). messageId is what post_to_slack returned delete_slack_message — PERMANENTLY delete a Slack message the Hermoso app posted. Call it WITHOUT confirm first: nothing is deleted and you get a sentence quoting get_slack_message — Read back a Slack message the Hermoso app posted: text, link, REACTIONS and thread REPLIES — the engagement Slack exposes (there is no view list_slack_scheduled — Messages the Hermoso app scheduled IN SLACK (post_to_slack with postAt) that have not posted yet. Posts queued with schedule_post are in liscancel_slack_scheduled — Cancel a message scheduled in Slack (from list_slack_scheduled). Slack refuses once it is within 60 seconds of posting. Free.list_inbox — Use this when the user asks for their unanswered comments, messages or reviews. EVERYTHING PEOPLE SAID TO THIS BRAND, across every connectedreply_to_inbox_item — Answer an inbox item BY ITS COMPOSITE ID — the `id` list_inbox returned, e.g. 'facebook:123_456' or 'google_business:accounts/1/locations/2/hermoso_capabilities — Probe what this Hermoso account can do RIGHT NOW: available image/video model ids + their credit costs (estimates: a render is charged its ahermoso_credits — Return the credit balance, recent priced calls with their credits, and costModel (the one-sentence rule of what costs credits). THE RULE: onbuy_credits — Out of credits? Top up with a credit PACK. Call with no argument to list the available packs (id · credits · price). If the account has a sareport_bug — Report a bug in Hermoso to the team. Use this when something in Hermoso genuinely misbehaves — a tool errors unexpectedly, returns a wrong orequest_feature — Ask the Hermoso team for a capability that doesn't exist yet. Use this when you need something Hermoso genuinely can't do — an unsupported pNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.