Skip to main content
Glama
muscled-clients

vibemarketing-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Verify the Vibe Marketing MCP server is reachable. Returns the configured base URL and the MCP package version. No auth required. Use this if you suspect connectivity issues before assuming a deeper failure.

connectA

Explicitly start the Vibe Marketing sign-in flow. This opens the user's browser to the consent screen. Use this when the user says something like 'connect to vibe marketing' or after disconnect. Most other tools will trigger this automatically if not already connected, so you usually don't need to call it directly.

disconnectA

Forget the locally stored Vibe Marketing tokens. The user will be prompted to consent again on the next API-using tool call. This does NOT revoke the grant server-side — to fully revoke, the user must use Settings → Connected Apps on vibemarketing.to. Use this when the user says 'log out', 'disconnect', or 'forget my credentials'.

whoamiA

Return info about the active Vibe Marketing connection: workspace, granted scopes, when the connection was made, when it was last used. Triggers the consent flow if not connected. Useful when the user asks "am I connected" or "which workspace am I using".

create_draftA

Create a new draft post in the user's Vibe Marketing workspace. The draft lands in 'pending' status awaiting owner approval — it does NOT publish automatically. Use this whenever the user wants to draft a social post. Required: contentType ('reel'|'photo'|'carousel'), caption (string), platforms (array of 'instagram'|'tiktok'|'youtube'|'linkedin'|'bluesky'|'threads'), and mediaItems (array of {url, mimeType, sizeBytes}). For now mediaItems must reference URLs that are already publicly accessible — uploading new files from a chat is not yet supported. After creation, the draft appears in the user's Review queue on vibemarketing.to and they (or you, via approve_and_publish_now / approve_and_schedule) can move it forward.

approve_and_publish_nowA

Approve a pending draft AND publish it immediately to its target platforms. Owner-only — if the connected user is not the workspace owner this returns a 403. Use this when the user says 'publish this now', 'send it out', or 'go ahead and post'. The draft must currently be in 'pending' status. Returns the updated draft including the per-platform publish results. For scheduled publishing instead, use approve_and_schedule.

approve_and_scheduleA

Approve a pending draft AND schedule it to publish at a future time. Owner-only. Use this when the user wants to queue a post — 'schedule for Friday 9am', 'post next Monday morning', etc. The cron checks scheduled drafts every minute and publishes them at the scheduled time (catching up if the server was down). The scheduledFor value must be an ISO 8601 datetime; use the user's stated timezone if they give one, otherwise the workspace timezone. The draft must currently be in 'pending' status. For immediate publishing, use approve_and_publish_now instead.

reject_draftA

Reject a pending draft so the submitter knows it won't publish. Owner-only. Use when the user says 'reject this', 'this one's no good', or describes a problem with a draft. Optional reason (one of: thumbnail_weak, caption_rewrite, wrong_platform, off_brand, duplicate) and optional free-text comment that explains the rejection — both surface in the employee's view of the draft. Leave reason null and explain via comment if none of the five categories fit. The draft must currently be in 'pending' status. Rejection is undoable via the existing undo journal in the web UI for ~10 seconds after the action.

list_draftsA

List drafts in the user's workspace. Use this whenever the user asks 'what's in my drafts', 'show me pending posts', 'what's scheduled', etc. All filters are optional and AND together. Returns { drafts: Draft[], nextCursor, total } — total is the count BEFORE pagination, drafts is the current page (default 50, max 200). Pass cursor from a previous response to get the next page. Hidden by default: status='deleted' (pass status:['deleted'] explicitly to see soft-deleted rows). Employees see only their own drafts; owners and reviewers see all in the workspace.

get_draftA

Fetch a single draft by id. Returns the full Draft including mediaItems, platformOverrides, publish results (if published), and rejection info (if rejected). Use this when the user references a specific draft and you need its full state. Returns 404 if not in the user's workspace or soft-deleted (deleted drafts can be fetched if needed by inspecting the list with status:['deleted']).

get_draft_auditA

Fetch the audit trail for a single draft: who submitted it, when, who approved/rejected/scheduled/published it, with timestamps and actor names. Use this when the user asks 'what happened to this draft', 'who approved this', or wants to debug a publish that didn't fire. Returns an ordered list of audit events.

get_calendar_dayA

Fetch all drafts for a single calendar day (in the workspace's timezone). Use this when the user asks 'what's going out tomorrow', 'show me Friday's posts', or wants to inspect a specific date in the calendar. Returns the full Draft[] for that day, sorted by their effective time (scheduledFor if scheduled, publishedAt if published, submittedAt otherwise). Empty array if no drafts that day (never 404). Optional filters mirror list_drafts.

get_calendar_weekA

Fetch the calendar aggregate for one week (Monday → Sunday). Returns { weekStart, days: DayAggregate[] } where days.length is exactly 7. Each DayAggregate has per-day counts by status and a sample of drafts, NOT the full list — use get_calendar_day to drill into a specific day. The weekStart MUST be a Monday in YYYY-MM-DD format or the server returns 400. Use this for 'what's my week look like' type queries.

list_notificationsA

List the current user's notifications (notifications are per-user, scoped to the user's workspace). Use this for 'do I have any notifications', 'what got rejected recently', 'show me the bell' type queries. Returns a Notification[] sorted by creation time (newest first), capped at 200 rows. Pass unsurfacedOnly:true to return only ones the user hasn't seen yet (the equivalent of the unread bell badge).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/muscled-clients/vibemarketing-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server