io.github.chrischall/vibo-mcp
NPM · VIBO-MCP · SCANNED SEP 20
Vibo (vibodj.com) MCP — plan & manage event music: timeline, songs, ideas, questions, guests
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 0 of 9 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to chrischall/vibo-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5012 tokens (~128/item across 39 items; 39 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 92% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "vibo_remove_song_from_section" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 39 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.chrischall/vibo-mcp server?
io.github.chrischall/vibo-mcp runs locally as an npm package, launched with npx -y vibo-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · vibo-mcp
claude mcp add chrischall-vibo-mcp -- npx -y vibo-mcp
{
"mcpServers": {
"chrischall-vibo-mcp": {
"command": "npx",
"args": [
"-y",
"vibo-mcp"
]
}
}
} {
"servers": {
"chrischall-vibo-mcp": {
"command": "npx",
"args": [
"-y",
"vibo-mcp"
]
}
}
} codex mcp add chrischall-vibo-mcp -- npx -y vibo-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrischall-vibo-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"vibo-mcp"
],
"enabled": true
}
}
} openclaw mcp add chrischall-vibo-mcp --command npx --arg -y --arg vibo-mcp
mcp_servers:
chrischall-vibo-mcp:
command: "npx"
args: ["-y", "vibo-mcp"] {
"McpServers": {
"chrischall-vibo-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"vibo-mcp"
]
}
}
} assistant mcp add chrischall-vibo-mcp -t stdio -c npx -a -y vibo-mcp
{
"mcpServers": {
"chrischall-vibo-mcp": {
"command": "npx",
"args": [
"-y",
"vibo-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- Package version: 2.0.0 → 2.1.0 functional
- 19 Sept 26 +1
- Stability: 0.83 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: 0.87 → 1.00 ▲ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 1.8.2 → 2.0.0 functional
- 17 Sept 26 −2
- Stability: pass → 0.80 functional
- 16 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 15 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 1.8.1 → 1.8.2 functional
- 12 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 10 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 1.8.0 → 1.8.1 functional
- 9 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.77 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/vibo-mcp@2.1.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | chrischall/vibo-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/chrischall/vibo-mcp/.github/workflows/release-please.yml@refs/heads/main |
| Rekor log index | 2893923429 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:f99d15d96857e757b7f25ec7c6fad504389ad3cbacc3609ead27460614e21d186b067a1e5b1d478edce00afde53cb8e38285db64f45522b3b7418e39f |
Background: How many MCP packages publish verified provenance →
Dependencies 9 packages
| Packages resolved | 9 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
vibo_add_song_to_section ~206
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 `quality.confidence`: adding a `likely-not-original` result puts a cover, karaoke track or junk-metadata re-upload in front of a live DJ. If nothing looks original, report the closest matches back rather than adding a best guess. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| artist | string | – | – |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| sectionId | string | yes | Section id to add the song to. |
| songUrl | string | yes | The song URL from vibo_search_songs (required). |
| title | string | – | – |
| viboSongId | string | – | The song's viboSongId from search, when available. |
No output schema declared.
No examples provided.
vibo_answer_question ~357
Answer a section planning question. Provide the field matching the question's type: `text` for a text question, `selectedOptions` (array of option _ids from vibo_list_section_questions) for radio/checkbox/select, or `link` (array of URLs) for a link question. Use `otherOptionTitle` with the question's "other" option. For photo/file questions, pass local paths (`imagePaths`/`filePaths`) when the server can read your disk, or inline base64 bytes (`images`/`files`) otherwise. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| filePaths | array | – | Absolute local file paths, for a file-attachment question (local/stdio server only). |
| files | array | – | Inline base64 files, for a file-attachment question — use these when the server cannot read your filesystem. |
| imagePaths | array | – | Absolute local image file paths, for a photo question (local/stdio server only). |
| images | array | – | Inline base64 images, for a photo question — use these when the server cannot read your filesystem. |
| link | array | – | URL(s), for a link question. |
| otherOptionTitle | string | – | Free-text value when selecting the question's "other" option. |
| questionId | string | yes | Question _id (from vibo_list_section_questions). |
| sectionId | string | yes | Section id. |
| selectedOptions | array | – | Option _ids to select, for radio/checkbox/select questions. |
| text | string | – | Answer for a text question. |
No output schema declared.
No examples provided.
vibo_capture_session ~88
Capture your Vibo login from a signed-in web.vibodj.com browser tab via the fetchproxy bridge — for accounts that sign in with Apple/Google/Facebook (no password). Requires the fetchproxy 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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vibo_change_user_role ~83
Change an event member's role between host and guest. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| type | string | yes | New role for the member. |
| userId | string | yes | Id of the member to update. |
No output schema declared.
No examples provided.
vibo_comment_on_section ~80
Leave a comment on a timeline section. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| message | string | yes | The comment text. |
| sectionId | string | yes | Section id (from vibo_list_sections). |
No output schema declared.
No examples provided.
vibo_comment_on_song ~98
Leave a comment / note for the DJ on a specific song. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| message | string | yes | The comment text. |
| sectionId | string | yes | Section id. |
| songId | string | yes | Song _id (from vibo_get_section_songs). |
No output schema declared.
No examples provided.
vibo_create_event_contact ~133
Add a contact (host or guest) to an event with their name/email/phone. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| string | yes | Contact email (required by Vibo). | |
| eventId | string | yes | Event id. |
| firstName | string | – | – |
| lastName | string | – | – |
| phoneCode | string | – | Country calling code, e.g. "1". |
| phoneNumber | string | – | – |
| role | string | yes | The contact's role in the event. |
No output schema declared.
No examples provided.
vibo_delete_section_comment ~83
Delete a comment on a timeline section. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | string | yes | Comment _id to delete. |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| sectionId | string | yes | Section id (from vibo_list_sections). |
No output schema declared.
No examples provided.
vibo_delete_song_comment ~95
Delete a comment on a song. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | string | yes | Comment _id to delete. |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| sectionId | string | yes | Section id. |
| songId | string | yes | Song _id (from vibo_get_section_songs). |
No output schema declared.
No examples provided.
vibo_export_event_to_apple_music ~133
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. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| onlyFlagged | boolean | – | Export only flagged/do-not-play songs (rarely needed). |
| sectionIds | array | yes | Section ids to include (from vibo_list_sections). |
| title | string | – | Playlist title (defaults to the event title). |
No output schema declared.
No examples provided.
vibo_export_event_to_spotify ~130
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. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| onlyFlagged | boolean | – | Export only flagged/do-not-play songs (rarely needed). |
| sectionIds | array | yes | Section ids to include (from vibo_list_sections). |
| title | string | – | Playlist title (defaults to the event title). |
No output schema declared.
No examples provided.
vibo_get_event ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id (the _id from vibo_list_events). |
No output schema declared.
No examples provided.
vibo_get_me ~133
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.
| Name | Type | Req | Description |
|---|---|---|---|
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
vibo_get_notifications_count ~20
Get the count of unread Vibo notifications.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vibo_get_playlist_songs ~91
List the tracks in one of your connected-service playlists.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max items to return (default 20). |
| playlistId | string | yes | Playlist id from vibo_get_playlists. |
| skip | integer | – | Number of items to skip, for paging (default 0). |
| source | string | yes | Streaming source — must be connected to your Vibo account. |
No output schema declared.
No examples provided.
vibo_get_playlists ~109
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).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max items to return (default 20). |
| q | string | – | Filter playlists by name. |
| skip | integer | – | Number of items to skip, for paging (default 0). |
| source | string | yes | Streaming source — must be connected to your Vibo account. |
No output schema declared.
No examples provided.
vibo_get_section_songs ~248
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id. |
| isFlagged | boolean | – | Filter to do-not-play / flagged songs. |
| isMustPlay | boolean | – | – |
| limit | integer | – | Max items to return (default 20). |
| q | string | – | Filter songs by text. |
| sectionId | string | yes | Section id (from vibo_list_sections). |
| skip | integer | – | Number of items to skip, for paging (default 0). |
| sortDirection | string | – | – |
| sortField | string | – | – |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
vibo_healthcheck ~36
Verify connectivity and authentication to the Vibo API by fetching the current user. Returns ok:true with your account id when credentials work.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vibo_import_playlist_to_section ~156
Import selected tracks from a connected Spotify/Apple Music playlist into a section. Returns counts of added/existing/ignored. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| playlistId | string | – | Playlist id from vibo_get_playlists. |
| sectionId | string | yes | Section id (from vibo_list_sections). |
| source | string | yes | Streaming source — must be connected to your Vibo account. |
| tracksToAdd | array | yes | Track ids (from vibo_get_playlist_songs) to import. |
| tracksToIgnore | array | – | Track ids to skip. |
No output schema declared.
No examples provided.
vibo_invite_users ~95
Invite people to an event by email (as host or guest). Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| emails | array | yes | Email addresses to invite. |
| eventId | string | yes | Event id. |
| text | string | yes | Personal message included in the invite. |
| type | string | yes | Invite as host or guest. |
No output schema declared.
No examples provided.
vibo_join_event ~106
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. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| link | string | yes | The full event share URL (vibodj.app.link/... or web.vibodj.com/...) or the bare join hash. |
No output schema declared.
No examples provided.
vibo_leave_event ~54
Leave an event you previously joined. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id to leave. |
No output schema declared.
No examples provided.
vibo_list_event_users ~212
List the hosts and guests on an event. With no usersType, returns both groups merged ({hosts, guests, hostsCount, guestsCount}) and `limit`/`skip` apply per group; with usersType, returns that one group's page.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id. |
| limit | integer | – | Max items to return (default 20). Applies per group when usersType is omitted. |
| skip | integer | – | Number of items to skip, for paging (default 0). |
| usersType | string | – | Filter to only hosts or only guests. |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
vibo_list_events ~106
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max items to return (default 20). |
| past | boolean | – | Return past events instead of upcoming (default false). |
| q | string | – | Search events by title. |
| skip | integer | – | Number of items to skip, for paging (default 0). |
No output schema declared.
No examples provided.
vibo_list_notifications ~152
List your Vibo notifications (song additions, comments, DJ updates, etc.) with read state and linked event/section ids.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max items to return (default 20). |
| skip | integer | – | Number of items to skip, for paging (default 0). |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
vibo_list_section_questions ~94
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id. |
| sectionId | string | yes | Section id (from vibo_list_sections). |
No output schema declared.
No examples provided.
vibo_list_section_song_ideas ~133
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id. |
| limit | integer | – | Max items to return (default 20). |
| sectionId | string | yes | Section id (from vibo_list_sections). |
| skip | integer | – | Number of items to skip, for paging (default 0). |
No output schema declared.
No examples provided.
vibo_list_sections ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id (from vibo_list_events). |
No output schema declared.
No examples provided.
vibo_list_song_ideas_songs ~207
List the suggested songs inside a song-idea collection (returns songUrl/viboSongId/title/artist to pass to vibo_add_song_to_section).
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id. |
| limit | integer | – | Max items to return (default 20). |
| sectionId | string | yes | Section id (from vibo_list_sections). |
| skip | integer | – | Number of items to skip, for paging (default 0). |
| songIdeasId | string | yes | The _id from vibo_list_section_song_ideas. |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
vibo_mark_notifications_read ~81
Mark notifications as read — pass specific notificationIds, or readAll:true to clear everything. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| notificationIds | array | – | Specific notification ids to mark read. |
| readAll | boolean | – | Mark every notification as read. |
No output schema declared.
No examples provided.
vibo_move_song ~103
Move songs from one section to another. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| songIds | array | yes | Song _ids from vibo_get_section_songs. |
| sourceSectionId | string | yes | Section id the songs are currently in. |
| targetSectionId | string | yes | Section id to move the songs to. |
No output schema declared.
No examples provided.
vibo_remove_song_from_section ~84
Remove one or more songs from a section. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| sectionId | string | yes | Section id. |
| songIds | array | yes | Song _ids from vibo_get_section_songs. |
No output schema declared.
No examples provided.
vibo_remove_user ~66
Remove a member from an event. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| userId | string | yes | Id of the member to remove. |
No output schema declared.
No examples provided.
vibo_reorder_songs ~105
Reorder songs within a section. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| sectionId | string | yes | Section id. |
| sourceSongIds | array | yes | Song _ids from vibo_get_section_songs. |
| targetSongId | string | – | place the moved songs after this song _id; omit for start |
No output schema declared.
No examples provided.
vibo_search_songs ~481
Search for songs to add to a section. ALWAYS query as "<Artist> - <Title>" 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 `quality` verdict (likely-original / uncertain / likely-not-original) plus warnings — check it before adding, and never add a `likely-not-original` result without saying so. source 'spotify' searches your connected Spotify (a structured catalog, so the hyphen matters less). Returns songUrl/viboSongId/title/artist for vibo_add_song_to_section.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | Event id (search is scoped to an event/section). |
| limit | integer | – | Max results (default 20). |
| query | string | yes | Song to search for, as "<Artist> - <Title>" (space-hyphen-space). Use the artist's own stylization — the index does not fold variants together, and "Dan + Shay - Speechless" returns the official mast… |
| sectionId | string | yes | Section id the search is for. |
| source | string | – | Search source (default 'searchField'). |
| view | string | – | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"… |
No output schema declared.
No examples provided.
vibo_set_profile_photo ~154
Set your Vibo profile photo from an image. Pass a local file `path` if the server shares your filesystem; otherwise pass the image bytes as base64 `fileData`. Returns the uploaded image URL. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| fileData | string | – | Base64-encoded image bytes (a `data:` URL prefix is allowed). Use this when the server cannot read your filesystem. |
| filename | string | – | Filename for the image when using fileData (default "photo.jpg"). |
| path | string | – | Absolute path to a local image file (jpg/png). Local/stdio server only. |
No output schema declared.
No examples provided.
vibo_toggle_song_like ~98
Like or unlike a song in a section. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| liked | boolean | yes | true to like, false to unlike. |
| sectionId | string | yes | Section id. |
| songId | string | yes | Song _id (from vibo_get_section_songs). |
No output schema declared.
No examples provided.
vibo_update_section ~120
Edit a timeline section's name, time, note, or description. Subject to the section's host-edit permissions. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| description | string | – | – |
| eventId | string | yes | – |
| name | string | – | – |
| note | string | – | note to the DJ for this section |
| sectionId | string | yes | – |
| time | string | – | scheduled time, e.g. "05:00 pm" |
No output schema declared.
No examples provided.
vibo_update_song ~132
Update songs in a section: mark must-play, flag as do-not-play, and/or set a comment. Provide at least one field. Confirm-gated.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | – | – |
| confirm | boolean | – | Must be true to proceed. Without this, the tool returns a preview. |
| eventId | string | yes | Event id. |
| isFlagged | boolean | – | mark do-not-play / flagged |
| isMustPlay | boolean | – | – |
| sectionId | string | yes | Section id. |
| songIds | array | yes | Song _ids from vibo_get_section_songs. |
No output schema declared.
No examples provided.
What is the io.github.chrischall/vibo-mcp server?
io.github.chrischall/vibo-mcp is listed in the public MCP registry as io.github.chrischall/vibo-mcp. Vibo (vibodj.com) MCP, plan & manage event music: timeline, songs, ideas, questions, guests. This page covers its npm package (vibo-mcp).
Is the io.github.chrischall/vibo-mcp server safe to use?
io.github.chrischall/vibo-mcp scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.chrischall/vibo-mcp server expose?
io.github.chrischall/vibo-mcp exposes 39 tools: vibo_get_me, vibo_healthcheck, vibo_list_events, vibo_get_event, vibo_join_event, and 34 more. Their descriptions and schemas cost roughly 5,012 tokens of context every time the server is loaded.
Is the io.github.chrischall/vibo-mcp server still maintained?
io.github.chrischall/vibo-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.chrischall/vibo-mcp server under?
io.github.chrischall/vibo-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.