vibo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VIBO_EMAIL | No | Email address for Vibo account (used with password method) | |
| VIBO_PASSWORD | No | Password for Vibo account (used with email method) | |
| VIBO_ACCESS_TOKEN | No | Access token from a signed-in Vibo session (used with token method) | |
| VIBO_REFRESH_TOKEN | No | Refresh token from a signed-in Vibo session (optional, used with token method) |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vibo_get_meA | Get the signed-in Vibo user's profile (id, name, email, phone, locale, and whether Spotify/Apple Music are connected). Use the returned _id to recognize your own songs/contacts. |
| vibo_healthcheckA | Verify connectivity and authentication to the Vibo API by fetching the current user. Returns ok:true with your account id when credentials work. |
| vibo_list_eventsA | List the events you're part of (as host or guest). Defaults to upcoming events; pass past:true for events that have already happened. Optionally filter by a search query. |
| vibo_get_eventA | Get full details for one event: title, date/timezone, location, your role, lock status, playlist size, and section/question progress. Use vibo_list_sections for the timeline. |
| vibo_join_eventA | Join an event you were invited to, via its share link or hash (e.g. a vibodj.app.link/... URL someone sent you). Returns the joined event's id. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_leave_eventA | Leave an event you previously joined. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_create_event_contactA | Add a contact (host or guest) to an event with their name/email/phone. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_list_sectionsA | List an event's timeline sections (e.g. Ceremony, First Dance, Dinner, Dancing) with each section's id, name, scheduled time, note, song count and progress. Use a section _id with vibo_get_section_songs / vibo_add_song_to_section. |
| vibo_get_section_songsA | List the songs requested in a section, with who added each, like counts, must-play / do-not-play flags, comments, and streaming links. Sort by likesCount, createdAt, or title. |
| vibo_search_songsA | Search for songs to add to a section. ALWAYS query as " - " with a space-hyphen-space separator (e.g. "Ed Sheeran - Thinking Out Loud"). Vibo's default 'searchField' index is a loose text match over a catalog full of YouTube covers, karaoke tracks and re-uploads: the hyphenated form resolves to the official recording, while the same words unhyphenated rank covers and re-uploads above it (measured live — "Chris Stapleton - Tennessee Whiskey" returned only the official master; without the hyphen, none of the nine results was the original). Each result carries a |
| vibo_add_song_to_sectionA | Add a song to a section. Pass a song from vibo_search_songs (songUrl is required; include viboSongId/title/artist when known). Before adding, check that result's |
| vibo_toggle_song_likeA | Like or unlike a song in a section. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_get_playlistsA | List your playlists from a connected streaming service (Spotify or Apple Music) so you can import songs from them. Requires that source to be connected (see vibo_get_me). |
| vibo_get_playlist_songsA | List the tracks in one of your connected-service playlists. |
| vibo_export_event_to_spotifyA | Export an event's song selections to a new Spotify playlist (Spotify must be connected). Returns the playlist URL plus how many tracks exported / failed. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_export_event_to_apple_musicA | Export an event's song selections to a new Apple Music playlist (Apple Music must be connected). Returns the playlist URL plus how many tracks exported / failed. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_list_notificationsA | List your Vibo notifications (song additions, comments, DJ updates, etc.) with read state and linked event/section ids. |
| vibo_get_notifications_countA | Get the count of unread Vibo notifications. |
| vibo_mark_notifications_readA | Mark notifications as read — pass specific notificationIds, or readAll:true to clear everything. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_list_section_questionsA | List the DJ's planning questions for a section, with each question's type (text/radio/checkbox/select/link/header), available options, whether it's answered, the current answer, and overall progress. Use the question _id (and option _ids) with vibo_answer_question. |
| vibo_answer_questionA | Answer a section planning question. Provide the field matching the question's type: |
| vibo_remove_song_from_sectionA | Remove one or more songs from a section. Every id is checked against the section first; if any is not there, nothing is sent and the missing ids are listed. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_update_songA | Update songs in a section: mark must-play, flag as do-not-play, and/or set a comment. Provide at least one field. A comment can be at most 90 characters (Vibo's limit; emoji count double; checked before anything is sent). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_move_songA | Move songs from one section to another. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_reorder_songsA | Reorder songs within a section: move sourceSongIds (in the given order) to directly after targetSongId, or to the top when it is omitted. Checks the ids against the section and, for a host, that the DJ allows hosts to order this section's songs. That setting is OFF for every section a host creates and only the DJ can turn it on, so a host usually cannot reorder songs in sections they added. Sends one reorderSongsBatch call per song that actually moves. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_comment_on_songA | Leave a comment / note for the DJ on a specific song. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_delete_song_commentA | Delete a comment on a song. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_comment_on_sectionA | Leave a comment on a timeline section. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_delete_section_commentA | Delete a comment on a timeline section. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_list_section_song_ideasA | List the DJ's suggested song-idea collections for a section (each with a title, songsCount and _id). Use a song-ideas _id with vibo_list_song_ideas_songs to see the suggested songs, then add the ones you like with vibo_add_song_to_section. |
| vibo_list_song_ideas_songsA | List the suggested songs inside a song-idea collection (returns songUrl/viboSongId/title/artist to pass to vibo_add_song_to_section). |
| vibo_import_playlist_to_sectionA | Import selected tracks from a connected Spotify/Apple Music playlist into a section. Returns counts of added/existing/ignored. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_list_event_usersA | List the hosts and guests on an event. With no usersType, returns both groups merged ({hosts, guests, hostsCount, guestsCount}) and |
| vibo_invite_usersA | Invite people to an event by email (as host or guest). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_change_user_roleA | Change an event member's role between host and guest. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_remove_userA | Remove a member from an event. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_update_sectionA | Edit a timeline section's name, time, note, or description. Subject to the section's host-edit permissions. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_create_sectionA | Create a new timeline section. Name is required, max 45 characters (Vibo's limit, checked before anything is sent). Place it with afterSectionId (directly after that section) or position (0-based index; 0 = first); with neither it goes at the end of the timeline, like the web app. visibility "host" (default) = "Me and DJ", "public" = visible to guests too. Vibo gives a section a host creates "hosts can order songs" = off, which only the DJ can turn on. Returns the new section _id. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_delete_sectionA | Delete a timeline section, with every song, answer and comment in it — this cannot be undone. The preview names the section and how many songs and answered questions it holds. Sections of type "dontPlay" (the DJ's do-not-play list) and "headline" (timeline dividers) are refused unless force:true. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_reorder_sectionsA | Move one or more timeline sections to directly after targetSectionId (omit it to move them to the start), keeping the given order. Mirrors vibo_reorder_songs. Sends one reorderSections call per section that actually moves. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| vibo_set_profile_photoA | Set your Vibo profile photo from an image. Pass a local file |
| vibo_capture_sessionA | Capture your Vibo login from a signed-in web.vibodj.com browser tab via ContextMint Bridge — for accounts that sign in with Apple/Google/Facebook (no password). Requires the ContextMint Bridge browser extension installed and you signed into https://web.vibodj.com; approve the pair code shown on first use. The token is saved locally and reused on future calls. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 42 tools
Most tools target a distinct resource+action (song vs section vs event vs user), and the parallel export/comment/reorder tools are clearly scoped by their noun. Minor overlap exists between vibo_get_me and vibo_healthcheck (both fetch the current user) and between vibo_comment_on_song and vibo_update_song's comment field, but these are distinguishable from descriptions.
Names consistently use the vibo_ prefix with snake_case verb_noun patterns (get_event, list_sections, add_song_to_section, delete_song_comment). Slight deviations like vibo_healthcheck (noun) and vibo_get_me (verb+pronoun) are minor and don't impede readability.
At 42 tools the surface is heavy, well above the 16-25 borderline band, and covers many parallel resources (songs, sections, questions, users, notifications, playlists, exports) in one flat list. The scope is broad but the count feels inflated and increases selection cost for an agent.
Coverage spans the full domain lifecycle: events (list/get/join/leave/create contact/invite/role change/remove), sections (CRUD, reorder), songs (add/remove/update/reorder/move/like/comment), planning questions, notifications, playlists and profile. Only minor gaps remain (e.g. no explicit event create/update), which agents can mostly work around.