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.
Parameters (2)
formatstring
intentstringrequired
dynamoi_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'; route through dynamoi_get_account_overview.recommendedNextActions.
Parameters (4)
artistIdstring
cursorstring
formatstring
limitinteger
dynamoi_search
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.
Parameters (7)
artistIdstring
cursorstring
formatstring
includeArchivedboolean
limitinteger
querystring
typestring
search
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.
Parameters (1)
querystringrequired
fetch
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.
Parameters (1)
idstringrequired
dynamoi_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.
Parameters (6)
artistIdstringrequired
campaignTypestring
cursorstring
formatstring
limitinteger
statusstring
dynamoi_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.
Parameters (7)
analyticsDateRangeobject
analyticsGranularitystring
campaignIdstringrequired
formatstring
includeAnalyticsboolean
includeCountriesboolean
includeDeploymentStatusboolean
dynamoi_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.
Parameters (4)
artistIdstringrequired
dateRangeobject
formatstring
granularitystring
dynamoi_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.
Parameters (3)
artistIdstringrequired
formatstring
onboardingAttemptIdstring
dynamoi_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 a connection-start flow, pass the returned onboardingAttemptId and onboardingFlow so Dynamoi ops can correlate the browser step. Do not use this for detailed billing questions. Never use this to personalize generic Instagram or marketing-advice questions.
Parameters (4)
artistIdstringrequired
formatstring
onboardingAttemptIdstring
onboardingFlowstring
dynamoi_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.
Parameters (5)
campaignTypestringrequired
cursorstring
formatstring
limitinteger
querystring
dynamoi_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.
Parameters (11)
artistIdstringrequired
budgetAmountnumber
budgetTypestring
campaignTypestringrequired
contentTypestring
endDatestring
formatstring
locationTargetsarray
mediaAssetIdsarray
spotifyUrlstring
youtubeVideoIdstring
dynamoi_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.
Parameters (3)
artistIdstringrequired
formatstring
userIntentSummarystring
dynamoi_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.
Parameters (3)
artistIdstringrequired
formatstring
userIntentSummarystring
dynamoi_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.
Parameters (9)
actionstringrequired
budgetAmountnumber
campaignIdstringrequired
clientRequestIdstring
endDatestring
expectedCurrentBudgetAmountnumber
expectedCurrentEndDatestring
expectedCurrentStatusstring
userIntentSummarystring
dynamoi_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.
Parameters (5)
artistIdstringrequired
cursorstring
formatstring
includeUrlsboolean
limitinteger
dynamoi_launch_campaign
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.
Parameters (17)
adCopystring
appleMusicUrlstring
artistIdstringrequired
budgetAmountnumberrequired
budgetSplitsobjectrequired
budgetTypestringrequired
campaignTypestringrequired
clientRequestIdstringrequired
contentTitlestringrequired
contentTypestringrequired
endDatestring
locationTargetsarray
mediaAssetIdsarray
spotifyUrlstring
useAiGeneratedCopyboolean
userIntentSummarystring
youtubeVideoIdstring
dynamoi_preview_smart_link_themes
Use this when the user asks what Dynamoi Smart Link pages can look like, wants to compare Smart Link themes, or asks to preview the available themes before creating or updating a free Smart Link. This is a read-only visual preview and does not create, publish, update, or promote a Smart Link.
Parameters (2)
artistNamestring
releaseTitlestring
dynamoi_create_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.
Parameters (6)
artistIdstringrequired
clientRequestIdstring
customDescriptionstring
formatstring
spotifyUrlstringrequired
userIntentSummarystring
dynamoi_create_smart_links_from_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.
Parameters (5)
artistIdstring
clientRequestIdstring
formatstring
spotifyArtistUrlstringrequired
userIntentSummarystring
dynamoi_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'.
Parameters (8)
artistIdstringrequired
cursorstring
formatstring
limitinteger
querystring
claimStatusstring
publishStatestring
renderStatestring
dynamoi_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. Set includeAnalytics=true for visit/click analytics and includeArtistSettings=true for artist-level theme/pixel settings. In the final answer, lead with the public URL and do not expose internal IDs unless asked.
Parameters (9)
artistIdstring
dateRangeobject
formatstring
granularitystring
includeAnalyticsboolean
includeArtistSettingsboolean
includeBreakdownsboolean
playLinkIdstring
spotifyUrlstring
dynamoi_update_smart_link
Use this when the user wants to change one Smart Link's public description or update artist-level Smart Link theme/pixel settings. Set action to update_description or update_artist_settings. Public availability is artist-wide in the dashboard; this tool does not publish or unpublish individual links. Updates may queue background rendering.
Let any MCP-capable AI agent help artists and labels get releases ready to promote.
Musicians, managers, and labels already have enough to chase down: Spotify
links, artist pages, campaign setup, ad account connections, billing checks,
analytics, and launch notes.
Dynamoi MCP lets an AI agent help with that work directly. A connected agent
can create a free Smart Link, pull artist and campaign context, check what is
blocking a launch, start YouTube or Meta connection flows, and keep the next
promotion step clear.
It works with any MCP host that supports remote Streamable HTTP and OAuth:
ChatGPT, Claude, Gemini, local agent runtimes, internal label tools, or custom
automation.
txt
https://dynamoi.com/mcp
✨ The Short Version
When someone asks...
The agent can help with...
🎧 "Make a link for this release."
Create a free Smart Link from Spotify and return the public URL.
🚦 "Why is this campaign not ready?"
Check the missing setup: billing, platform connections, countries, assets, and launch state.
📈 "What do we have live right now?"
Search artists, Smart Links, campaigns, analytics, and account status.
📺 "Connect our YouTube channel."
Start the correct connection flow from the conversation.
🚀 "Can we promote this?"
Keep the free-link workflow separate from managed advertising, then point to the next safe step.
🎤 Who It Is For
Artists and managers use Dynamoi MCP to make links, check campaign setup,
and see what needs attention before a release gets promoted.
Record labels and teams can wire Dynamoi into internal agent workflows for
campaign checks, artist lookup, reporting, and release operations.
Developers can install this package when they need the public MCP contract,
schemas, OAuth metadata, transport helpers, or TypeScript types behind the hosted
Dynamoi server.
🔗 Smart Links First
Free Smart Links are the easiest place for an agent to help:
Turn a Spotify release into a public landing page.
Import an artist catalog into an artist hub.
Return the shareable URL immediately.
Check link status, analytics, theme/settings, and publish state.
Update or publish a link when the user clearly asks.
That gives artists something useful right away, and it gives promotion teams a
clean next step when the release is ready to push.
🚦 Promotion Readiness
Before a campaign can move, a lot of small things have to be true. Dynamoi MCP
helps agents answer the practical questions:
Question
What Dynamoi can check
"Is this artist ready?"
Account access, artist records, platform status, and missing setup.
"Can this campaign launch?"
Readiness, billing state, supported countries, media assets, and deployment status.
"What needs attention?"
Active campaigns, Smart Links, analytics, and next actions.
"Are we connected?"
YouTube and Meta connection state, plus connection-start flows where available.
🧠 Built For Any MCP Agent
This is a general MCP server, not a single-chat-product integration. Use the
hosted endpoint from any MCP-capable client that supports remote Streamable HTTP:
Authentication runs through Dynamoi OAuth. Users sign in with their Dynamoi
account, and the connected agent receives only the scopes needed for the tools it
calls.
🧰 Package Usage
Most artists and labels do not need to install anything. They should connect
the hosted MCP server.
Install @dynamoi/mcp when you are building against the public Dynamoi MCP
contract: