vibemarketing-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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 } — |
| 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 |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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