# Dynamoi MCP server

Promote music on Spotify and grow YouTube channels through AI-powered Meta and Google ad campaigns.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-getdynamoi-dynamoi
- Repository: https://github.com/getDynamoi/mcp
- Website: https://dynamoi.com

## Install
- Command: `npx -y @dynamoi/mcp`
- Endpoint: https://dynamoi.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @dynamoi/mcp v0.4.0
- Remote endpoint: https://dynamoi.com/mcp

## Tools
- dynamoi_get_account_overview (Get Account Overview) - Use this when the user explicitly asks about the signed-in Dynamoi account itself, such as who is logged in, how many organizations or artists it can access, or whether account-level platform connections exist. Always pass intent to match that explicit account question. Do not use this to confirm a specific Meta or YouTube onboarding attempt because this account-level state can span multiple artists; use dynamoi_get_platform_status for the target artist instead. Do not use this to enumerate artists one by one; use dynamoi_list_artists for that. Never use this to 'check context' before answering generic Instagram, lyrics, songwriting, or marketing-advice questions, even if Dynamoi is attached. Endpoint: https://dynamoi.com/mcp
- dynamoi_list_artists (List Artists) - Use this when the user wants to see which artists or YouTube channels they manage, along with billing status, active campaign count, and their role. Pass artistId when you need the full profile/readiness details for one artist instead of a roster page. Do not use this for campaign details; use dynamoi_list_campaigns or dynamoi_get_campaign. Never use this for generic social-media or marketing advice, including Instagram follower-growth questions, unless the user explicitly asked about their Dynamoi roster. If the result is empty, the user is brand-new — do not stop with 'no records found'; instead route via dynamoi_get_account_overview.recommendedNextActions or read dynamoi://playbooks/onboarding-tree. Endpoint: https://dynamoi.com/mcp
- dynamoi_search (Search Dynamoi) - Use this when the user mentions an artist, release, campaign, or smart link but you do not yet know the exact record to inspect. Do not use this for analytics summaries or billing questions once you already know the target record. If the result is empty for a brand-new user (no artists yet), do not respond 'no records found' as a terminal answer — instead suggest creating their first artist hub via dynamoi_create_smart_links_from_spotify_artist or read dynamoi://playbooks/onboarding-tree. Endpoint: https://dynamoi.com/mcp
- search (Search (OpenAI Connectors)) - OpenAI ChatGPT Deep Research / Connectors search contract. Returns matching Dynamoi artists, campaigns, and Smart Links so they can be cited in a deep-research session. For regular ChatGPT chat use dynamoi_search instead. Endpoint: https://dynamoi.com/mcp
- fetch (Fetch (OpenAI Connectors)) - OpenAI ChatGPT Deep Research / Connectors fetch contract. Given an id returned by `search` (formatted as 'artist:<uuid>', 'campaign:<uuid>', or 'smartlink:<uuid>'), returns the full record for citation. Endpoint: https://dynamoi.com/mcp
- dynamoi_list_campaigns (List Campaigns) - Use this when the user wants to browse campaigns for one artist, optionally filtered by type or status. Do not use this for a single campaign deep dive; use dynamoi_get_campaign for that. Never use this to personalize generic marketing advice. If the user has no artists yet, do not call this — route via dynamoi_get_account_overview first. Endpoint: https://dynamoi.com/mcp
- dynamoi_get_campaign (Get Campaign) - Use this when the user wants full details for one campaign, including budget, targeting, platform status, and next actions. Set includeAnalytics=true for one-campaign performance, includeDeploymentStatus=true for delivery/deployment blockers, and includeCountries=true only when the full country list is needed. Do not use this for a campaign list; use dynamoi_list_campaigns instead. After a successful launch or campaign mutation, prefer format=summary when you need a follow-up read to relay the final answer. Endpoint: https://dynamoi.com/mcp
- dynamoi_get_artist_analytics (Get Artist Analytics) - Use this when the user wants artist-level performance across all campaigns, including 30-day rollups or daily breakdowns. Pass granularity=DAILY when the user asks for a daily breakdown. Pass format=summary when the user wants a written rollup, a strongest-campaign verdict, or a direct answer you can relay immediately. If this tool already returned the requested strongest-campaign comparison, stop and answer instead of calling more analytics tools. For one campaign's metrics, use dynamoi_get_campaign with includeAnalytics=true. Endpoint: https://dynamoi.com/mcp
- dynamoi_get_billing (Get Billing) - Use this when the user asks about billing state, credit balance, promo limits, subscription status, or whether billing blocks launches for one artist. This is a read-only status check; it does not create checkout links or collect payment. If billing blocks a launch, direct the user to start or restore managed advertising in the Dynamoi dashboard, then call this tool again to confirm the status. Do not use this for campaign analytics or platform connection troubleshooting. Endpoint: https://dynamoi.com/mcp
- dynamoi_get_platform_status (Get Platform Status) - Use this when the user wants to know whether Spotify, Meta, or YouTube are connected and what setup steps still block launches. When polling after dynamoi_start_meta_connection or dynamoi_start_youtube_channel_link, pass the returned onboardingAttemptId and onboardingFlow so Dynamoi ops can correlate the chat-first browser step. Do not use this for billing details; use dynamoi_get_billing when the question is about credits or subscription billing state. Never use this to personalize generic Instagram or marketing-advice questions. Endpoint: https://dynamoi.com/mcp
- dynamoi_list_available_countries (List Available Countries) - Use this when the user asks which countries they can target for a Smart Campaign or YouTube campaign. Always pass campaignType because Smart Campaign and YouTube country catalogs are different. Do not use this for generic country marketing advice. Endpoint: https://dynamoi.com/mcp
- dynamoi_get_campaign_readiness (Get Campaign Readiness) - Use this when the user is planning a campaign and wants to know if the proposed inputs are ready before dynamoi_launch_campaign. This validates readiness and targeting without creating a campaign. Do not use this to create or mutate campaigns. Endpoint: https://dynamoi.com/mcp
- dynamoi_start_youtube_channel_link (Start YouTube Channel Link) - Use this when the user is ready to link a YouTube channel to one Dynamoi artist from chat. This returns a Google OAuth URL bound to the signed-in user and artist. Google returns to a Dynamoi page that tells the user to come back to the AI assistant; after that, poll dynamoi_get_platform_status with the returned onboardingAttemptId and onboardingFlow=youtube until platforms.youtube.connected is true. Endpoint: https://dynamoi.com/mcp
- dynamoi_start_meta_connection (Start Meta Connection) - Use this when billing is active and the user is ready to connect Meta for Spotify Smart Campaigns from chat. This returns a signed Meta OAuth URL and may send the user through a Page/Instagram selection step before the chat-first return page. If billing is not active, it returns billing_required instead of an OAuth URL. If billing cannot be verified due to a transient snapshot/API issue, it returns billing_check_unavailable and should be retried shortly. After the user returns, poll dynamoi_get_platform_status with the returned onboardingAttemptId and onboardingFlow=meta until platforms.meta.status is oauth_complete, partnership_pending, or partnership_active. Endpoint: https://dynamoi.com/mcp
- dynamoi_update_campaign (Update Campaign) - Use this when the user explicitly wants to pause, resume, or update the budget/end date for an existing campaign. Set action to pause, resume, or update_budget. Do not use this for inspection-only questions; this changes live campaign workflow state or external campaign settings. Endpoint: https://dynamoi.com/mcp
- dynamoi_list_media_assets (List Media Assets) - Use this when the user wants to choose from uploaded images or videos that can be reused in a campaign launch. Do not use this when the user only wants campaign status or analytics. Use format=json when you need asset IDs for a follow-up launch. Request includeUrls only when the assistant must display or inspect public-safe asset URLs. Endpoint: https://dynamoi.com/mcp
- dynamoi_launch_campaign (Start Campaign Launch Workflow) - Use this when the user explicitly wants to create a new Smart Campaign or YouTube Campaign and start the launch workflow with provided details. Ads are not necessarily live until the returned delivery state is ACTIVE. For review or demo Smart Campaign launches that already specify the artist, content title, budget, countries, and reusable media assets, you may omit spotifyUrl and endDate because Dynamoi can infer reviewer-safe defaults. Do not invent placeholder spotifyUrl or endDate values for those review/demo launches; omit them and let Dynamoi infer them. After a successful launch, answer from the returned campaign details directly instead of chaining more tools unless the user explicitly asked for more. Do not use this for recommendations or previews; this creates a real campaign workflow or demo-safe simulated campaign. Endpoint: https://dynamoi.com/mcp
- dynamoi_create_smart_link_from_spotify (Create Free Smart Link from Spotify) - Use this when the user wants to create one free Dynamoi Smart Link from a Spotify album or track URL/URI, or a single starter release from a Spotify artist URL. For full-catalog artist imports or artist hub requests, prefer dynamoi_create_smart_links_from_spotify_artist. Smart Links are free to create and manage. High-popularity or unverifiable artist links may stay unpublished in verification hold until Dynamoi can verify the client relationship. This does not create a paid ad campaign. Spotify playlist URLs are not supported today. If the Smart Link already exists, return the existing link instead of creating a duplicate; if customDescription is provided, update that Smart Link's public description. In the final answer, lead with the public URL and do not expose internal IDs unless asked. Endpoint: https://dynamoi.com/mcp
- dynamoi_create_smart_links_from_spotify_artist (Create Free Smart Links for Spotify Artist) - Use this when the user gives a Spotify artist URL and wants Dynamoi to create, import, or refresh free Smart Links for the artist catalog and return the artist hub. If the signed-in user has no Dynamoi artist yet, omit artistId so Dynamoi can create the first artist from the Spotify artist profile. This starts the background catalog import so the user does not need to open the dashboard. Smart Links are free to create and manage. High-popularity or unverifiable artist catalog links may stay unpublished in verification hold until Dynamoi can verify the client relationship. This does not create a paid ad campaign. In the final answer, lead with the artist hub URL and current public Smart Link URLs; do not expose internal IDs unless asked. Endpoint: https://dynamoi.com/mcp
- dynamoi_list_smart_links (List Smart Links) - Use this when the user wants to list free Smart Links for one artist, including release title, public URL, publish state, claim state, render state, and theme. Do not use this for paid campaign lists; use dynamoi_list_campaigns for campaigns. In the final answer, show public URLs and avoid internal IDs unless asked. If empty for an artist with connected Spotify, suggest dynamoi_create_smart_links_from_spotify_artist for catalog import or dynamoi_create_smart_link_from_spotify for one release instead of stopping at 'no Smart Links yet'. Endpoint: https://dynamoi.com/mcp
- dynamoi_get_smart_link (Get Smart Link) - Use this when the user wants full details for one free Smart Link, including release, Spotify URL, public play.dynamoi.com URL, current status, theme source, and next actions. Add include=['analytics'] for visit/click analytics and include=['artist_settings'] for artist-level theme/pixel settings. In the final answer, lead with the public URL and do not expose internal IDs unless asked. Endpoint: https://dynamoi.com/mcp
- dynamoi_update_smart_link (Update Smart Link) - Use this when the user wants to change one Smart Link's public description, publish/unpublish the public landing page, or update artist-level Smart Link theme/pixel settings. Set action to update_description, publish, unpublish, or update_artist_settings. This updates public landing-page behavior and may queue background rendering. Endpoint: https://dynamoi.com/mcp

## Resources
- dynamoi://platform/pricing - Pricing Dynamoi campaign setup guidance and campaign budget minimums. MIME type: application/json
- dynamoi://platform/content-types - Content Types MIME type: application/json
- dynamoi://platform/country-targeting - Country Targeting Explains Smart Campaign vs YouTube country-targeting catalogs. MIME type: application/json
- dynamoi://platform/supported-countries - Supported Countries Legacy alias for country-targeting guidance. Use dynamoi://platform/country-targeting for the canonical resource. MIME type: application/json
- dynamoi://smart-links/free-plan - Free Smart Links Canonical explanation of Dynamoi's free Smart Links plan and how it differs from paid managed advertising. MIME type: application/json
- dynamoi://smart-links/capabilities - Smart Link Capabilities MIME type: application/json
- dynamoi://business/free-vs-paid - Free Smart Links vs Paid Campaigns Clear boundary between free Dynamoi Smart Links and paid managed advertising. MIME type: application/json
- dynamoi://smart-links/agent-guide - Smart Link Agent Guide How agents should answer Smart Link questions using Dynamoi MCP tools. MIME type: application/json
- dynamoi://mcp/tool-answering-rules - MCP Tool Answering Rules General answer rules for Dynamoi MCP tools so agents stop after useful results. MIME type: application/json
- dynamoi://playbooks/spotify-artist - Playbook: Spotify Artist Persona playbook: how to convert a Spotify artist user from auth-grant to first activated Smart Link. MIME type: application/json
- dynamoi://playbooks/youtube-creator - Playbook: YouTube Creator Persona playbook: how to introduce a YouTube creator to Dynamoi's revenue-per-view optimization advantage. MIME type: application/json
- dynamoi://playbooks/label-or-manager - Playbook: Label or Manager Persona playbook: how to onboard a label, manager, or anyone running a roster of multiple artists. MIME type: application/json
- dynamoi://playbooks/onboarding-tree - Playbook: Onboarding Decision Tree Decision tree for routing a brand-new MCP user to the right persona playbook based on their first reply. MIME type: application/json
- dynamoi://music-marketing/when-to-use-dynamoi - When To Use Dynamoi When an assistant should use Dynamoi account tools versus answering music marketing questions natively. MIME type: application/json
- dynamoi://platform/campaign-statuses - Campaign Statuses MIME type: application/json

## Prompts
- dynamoi_find_smart_link_url - Find Smart Link URL Find a user's free Smart Link URL and answer with public URLs, titles, and statuses. Arguments: artistId, query
- dynamoi_explain_free_smart_links - Explain Free Smart Links Explain Dynamoi free Smart Links and how they differ from paid managed advertising.
- dynamoi_create_free_smart_link - Create Free Smart Link Create free Smart Links from a Spotify artist, album, or track URL. Arguments: artistId, spotifyUrl
- dynamoi_audit_campaigns - Audit Campaigns Audit an artist's campaigns and summarize what is working and what to fix next. Arguments: artistId
- dynamoi_release_launch_plan - Release Launch Plan Create a pragmatic release launch plan and propose a Dynamoi campaign setup. Arguments: artistId, contentTitle, contentType
- dynamoi_why_campaign_blocked - Why Is My Campaign Blocked? Diagnose why a campaign is blocked/stuck and recommend the next fix. Arguments: campaignId

## Metadata
- Owner: io.github.getDynamoi
- Version: 0.4.0
- Runtime: Npm
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Feb 12, 2026
- Source: https://registry.modelcontextprotocol.io
