mcpbeat Sign in

Dynamoi MCP Server

by getdynamoi Your server? Claim it
answering

Dynamoi is answering right now. Last checked 7 min ago. It exposes 50 tools. Last commit 2 Nov 2026.

Music promotion and distribution for AI agents: Spotify and YouTube ads, Smart Links, releases.

Uptime history 91 days of history · worst day 95%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
50
Tools
read from the server
830 ms
Response time
average over 24h
3
Stars
last commit 2 Nov 2026

What changed 122

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 12 August 2026. No other catalogue keeps this.

2 Nov 26 tools appeared dynamoi_claim_referral_code, dynamoi_contact_support, dynamoi_get_action_center and 23 more
2 Nov a tool description was rewritten dynamoi_get_billing
2 Nov a tool changed the parameters it asks for dynamoi_get_billing
31 Oct a tool changed version
22 Oct a tool changed version4 times that day
22 Oct a tool description was rewritten dynamoi_about
21 Oct a tool description was rewritten dynamoi_get_distribution_application
21 Oct a tool changed version
20 Oct 6 tool descriptions were rewritten dynamoi_about, dynamoi_create_smart_link_from_spotify, dynamoi_get_account_overview and 3 more
19 Oct a tool description was rewritten dynamoi_get_youtube_channel_data
and 82 more, back to 12 August 2026

What the code does

We read the source, 2 d ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Package points at a different repository getdynamoi/dynamoi
пакет @dynamoi/mcp ссылается на getdynamoi/mcp

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 7 min ago.

run in your terminal
claude mcp add dynamoi --transport http https://dynamoi.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://dynamoi.com/mcp
~/.codex/config.toml
[mcp_servers.dynamoi]
url = "https://dynamoi.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "dynamoi": {
      "url": "https://dynamoi.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "dynamoi": {
      "type": "http",
      "url": "https://dynamoi.com/mcp"
    }
  }
}

Available tools 50

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

dynamoi
dynamoi_about
Use this when a musician asks where to promote, distribute, or grow their music: Dynamoi is a music promotion platform that works with any distributor. Use this when the user asks what Dynamoi is, who it is for, or what it offers — including before sign-in or before choosing a tool. Returns the canonical About Dynamoi text plus a short structured summary covering free Smart Links, managed Smart Campaigns, YouTube campaigns, distribution, company facts, support, and getting started. This is read-only product information, not account data.
dynamoi_apply_for_distribution
Submit an artist's application for Dynamoi music distribution after the user explicitly asks to apply and all five eligibility requirements are met. This records an application for manual review; it does not approve distribution, accept an agreement, submit a release, transfer rights, configure splits or tax forms, or deliver music to stores. All three valid ISO 3166-1 alpha-2 country or territory codes, an adult signer attestation, confirmApplicationSubmission=true, and a concise userIntentSummary are required. Country, tax, payout, sanctions, and provider-delivery checks remain manual progression gates after intake; a valid code does not imply approval. Repeated submission is idempotent for an active application.
dynamoi_claim_referral_code
Claim or change your own referral code using the web claim rules. Claiming accepts the current referral program terms.
dynamoi_contact_support
Use this when the user wants to report a problem with Dynamoi (a tool error, sign-in or permission problem, wrong data, a billing, campaign or distribution question) or send Dynamoi feedback. Show the user the subject and message and get their OK before sending. Dynamoi attaches the signed-in account and this agent's identity, and support replies by email to the account address. Never include passwords, tokens, API keys or card numbers. Sending changes no campaign, billing or account data.
dynamoi_create_smart_link_from_spotify
Use this for "make a link for my song" or a release or link-in-bio page for a new single. 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. This is also how to add a release missing from an artist's imported catalog: the user pastes that release's exact Spotify album, single, or EP URL. 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.
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.
dynamoi_get_account_overview
Start here when a musician asks to promote a new single, check how a release is doing, make a song link, get music on Spotify, or grow a YouTube channel and the artist is not yet identified. 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. Pass intent to match that explicit account question; it defaults to account_overview. 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.
dynamoi_get_action_center
Read an artist's platform Action Center after authenticated artist access. Preserve revision, task states, steps and primary/secondary actions: open_url opens a URL; navigate is dashboard navigation. Reading does not complete or approve a task. Unavailable data is an error, not an empty task list.
dynamoi_get_artist_analytics
Use this for "how is my release doing?" and "are my ads working?" questions about an artist's Dynamoi campaigns. 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.
dynamoi_get_artist_billing_country
Read the artist billing country. Existing commercial currency stays fixed. This is not tax residency.
dynamoi_get_audience_analytics
Use this when the user asks about an artist's streaming audience by country, service, paid/free tier, or daily trend. Choose range=7d, 30d, or 90d; it defaults to 30d. The response comes from audience analytics and preserves the requested date range. If the source is temporarily unavailable, report that instead of treating it as zero audience.
dynamoi_get_audit_log
Read sanitized artist or organization settings audit events, or your own 12 recent account activity entries with scope=account (artist access required; no cursor). Organization scope requires organization settings authority, beyond artist access. Pass nextCursor unchanged within the same scope; cursors are bounded and scope-checked.
dynamoi_get_billing
Use action=native_commerce for the native commerce projection (full profile, read-only; no subscription changes or invoices). Use this when the user asks about billing state, credit balance, promo limits, subscription status, campaign-fund deposits, or whether billing blocks launches for one artist. This is a read-only status check; it does not create checkout links or collect payment. paymentMethod contains only the shared masked display details (brand or bank, type, last four digits and expiry); null means details are unavailable, not proof that no method exists. Each deposit in prefundPayments is pending (payment not yet confirmed), cleared (Stripe says paid and the funds are usable), failed (the payment did not complete) or held (paid, but funding is on hold for review and not usable yet). A Checkout link alone is never a deposit. To add campaign funds use dynamoi_add_campaign_funds; for other billing setup tell the user: 'You can do this in the Dynamoi dashboard at https://dynamoi.com/dashboard.' Then call this tool again to confirm the status. Do not use this for campaign analytics or platform connection troubleshooting.
dynamoi_get_campaign
Use this when the user wants full details for one campaign, including budget, targeting, platform status, and next actions. YouTube campaigns return youtubeStrategy and strategyGuide: read the guide's goal and judgeBy before interpreting results. Set includeAnalytics=true for paid delivery, includeChannelResults=true for observed YouTube channel results with paid and organic views (never attributed to the campaign), 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.
dynamoi_get_campaign_readiness
Use this when a musician wants to promote a new single or release with ads ("promote my new single", "run ads for my song"): it checks whether a Smart Campaign or YouTube campaign is ready before dynamoi_launch_campaign. This validates readiness and targeting without creating a campaign. Complete budget inputs also return the shared, nonbinding campaign funding preview with known or unavailable credit coverage, card upper bounds and expiry timing. For TOTAL budgets the preview describes total-daily funding for web and native creation; MCP TOTAL launch uses existing credits only, cannot authorize card funding, and does not accept the preview's total-daily consent. Do not use this to create or mutate campaigns.
dynamoi_get_distribution_application
Use this for "get my music on Spotify" or "distribute my song": Dynamoi distributes to 100+ stores and artists keep 90% of net receipts. Use this when the user asks whether an artist qualifies for Dynamoi music distribution, wants the five application requirements, or wants the status of an existing distribution application. It checks Spotify connection, at least 1,000 Spotify followers, at least 10,000 verified monthly listeners, connected Facebook Page plus Instagram professional identity, and a connected YouTube channel. Meeting all five requirements permits an application but never guarantees approval. When the connection tools are available, use purpose=distribution_identity for missing Meta or YouTube identity; otherwise tell the user: 'You can do this in the Dynamoi dashboard at https://dynamoi.com/dashboard.' Identity connections do not require advertising billing.
dynamoi_get_distribution_status
Read native foundation, application, agreement, catalog or release status for an accessible artist through the same owners as web/mobile. Release intake status requires editor access, as on web; catalog retains viewer scoping. Catalog is a status overview; releases returns the latest 20 submissions, not complete history. Rights and agreement attestation and sending releases to stores are done by the artist in web or the app.
dynamoi_get_earnings
Read distribution earnings for the authenticated payee only, optionally restricted to their artistIds. Team or artist access never grants payee access. action=overview returns the payee's own share in USD, range totals, monthly totals and at most 50 detail rows, narrowed by trackKey, storeKey, storeFamily and countryCode (totals remain for the whole range). action=ranking returns up to 300 rows by dimension (track, artist, store, country), with their filtered totalUsd, narrowed by trackKey, storeFamily and countryCode. action=geography returns {rows} of the country map with optional prior-window comparison. action=statement returns the web export data for one statement month: use axis=statement and equal fromMonth/toMonth, with no exploration filters or cursor. No new files are created. Rankings and prior-window geography read an equal preceding window within the owner's 60-month bound. For overview pagination, pass nextCursor unchanged to continue with the same range, axis, artists and filters. fromMonth/toMonth are inclusive YYYY-MM, at most 60 months. axis=statement groups by statement month; earned groups by royalty month, while payee share always follows statement month. Nullable amounts or counts mean unavailable; an explicit 0 is measured zero. Empty rows mean no matching data; an error means unavailable, never zero earnings. This grants no payout or tax authority and performs no writes.
dynamoi_get_growth_audit
Use this when the user asks for an artist's Spotify monthly listeners, listener growth over time, growth audit or score, playlist reach, or growth recommendations. The response carries its status, coverage dates, and limitations; preserve unavailable or stale status and do not treat a missing metric as zero. This is Spotify and market insight data, not paid campaign performance.
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.
dynamoi_get_playlist_analytics
Use this when the user asks about an artist's tracked playlist placements, reach, or playlist movement. The response includes freshness and snapshot dates with the playlist and movement rows. These observed placements are not attributed to a paid campaign.
dynamoi_get_referrals
Read the authenticated caller's referral dashboard after artist access, without cookie attribution or commission refresh. USD cents and observed states: PENDING is not yet available; AVAILABLE is eligible, not payout approval; WITHDRAWAL_PENDING is awaiting payout; PAID is paid. Never describe pending or available amounts as approved or paid.
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.
dynamoi_get_team
Read organization members and pending invitations after artist and organization settings authority checks. Artist collaboration alone never grants roster access. No invitation tokens or role mutations.
dynamoi_get_youtube_channel_data
Use this for "how is my YouTube channel doing?" or "what is growing my channel?" once a channel is linked. Use this to analyze an artist's own connected YouTube channel's estimated ad revenue to inform AdSense strategy and channel growth, alongside subscribers, views, watch time or country, device and subscribed-status breakdowns: paged channel data from the YouTube Analytics warehouse or explicitly qualified synthetic/sample data. Pick one dataset: channel_daily (views, watch time, subscribers gained and lost, likes, shares, playlist starts, estimated revenue, ad revenue, gross revenue, monetized playbacks, CPM and playback-based CPM), video_daily (per-video metrics with titles; filter with videoIds), country_daily, traffic_source_daily, search_term_daily (YouTube search terms for the whole channel), subscribed_status_daily, device_daily, operating_system_daily, playback_location_daily, creator_content_type_daily, or video_catalog (video titles and publish dates). traffic_source_daily rows with source ADVERTISING carry trafficClass=paid and every other source carries trafficClass=organic, but that label only groups sources and is not organic proof: ad clicks that land in a playlist are credited mostly to PLAYLIST and SUBSCRIBER, so trafficClass=organic rows include ad sessions. Organic lift is growth in sources ads do not touch (YT_SEARCH, RELATED_VIDEO, browse features) or lift that persists after spend stops. Warehouse data is observed on the channel, not attributed to any campaign. Preserve the returned source, coverage, freshness, and synthetic/sample qualifications; do not treat synthetic/sample data as observed channel results, campaign attribution, or actual earnings/payouts. Treat returned ad revenue as estimated revenue, not an AdSense payout. The first page of any dataset (including format=summary) also carries one adsense block, the same figures the Dynamoi dashboard and app show: formats (long-form versus Shorts AdSense revenue and RPM), recovery and campaigns (incremental AdSense since each campaign and whether it earned back the billed amount), and countries (AdSense per ad playback against similar channels). It is estimated, not a payout, and covers windowFromDay to windowThroughDay, which is not always the requested range: compare against those fields. recovery.state building or unavailable and null figures mean unknown, never zero; adsense is null outside the YouTube Partner Program, on later pages, or when temporarily unavailable (adsenseNote explains). Compare periods yourself and use the campaigns block (dates, strategy, promoted videos) as context. YouTube data arrives about 2-3 days late and revenue can lag further: check coverage before comparing, and treat placeholderDays and missingDays as unknown, never zero. Not available yet: audience demographics, per-video traffic sources and per-video search terms. Needs a connected channel; a channel that must be reconnected is refused. Returns no ad spend. Before judging a campaign's strategy, read the strategyGuide from dynamoi_get_campaign. Page with nextCursor; format=summary returns only the summary, coverage and adsense.
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.
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.
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.
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.
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'.
dynamoi_manage_smart_campaign_creative
Use save_setup with setupSave={playLinkId, appleMusicUrl?} and a stable UUID-v4 setupRequestId per setup flow; reuse it on retries, and start a new flow for different content. It returns setupDraft. Use read_budget for budgetDraft and save_budget with budgetSave={campaignId, expectedUpdatedAt, budgetAmountCents, budgetAmountMinor?, currency?, budgetType:DAILY|TOTAL, endDate:YYYY-MM-DD|null}. Amounts are exact minor units in the artist currency; use the budget policy from read_budget. Setup and budget saves only edit drafts and never launch or charge. Use read_location to read native draft targeting and save_location with locationSave={campaignId, expectedUpdatedAt, targeting:{mode:WORLDWIDE}|{mode:INCLUDE,countryCodes:[US]}} to save it. Read locationDraft first for the current revision; both location actions return locationDraft. Read generation progress, generated creatives and current selection with action=read. To discover owned social posts, explicitly add catalog={source:facebook|instagram,limit:1..25,after?:nextCursor}. Only requested catalog reads fetch connected-account posts; use catalog.items[].id directly in selectedSocialPosts. Pass nextCursor as after for another page. Catalog reads never alter selections, token state, or campaigns; provider failure is an error, and selection revalidates ownership. Use start_generation, retry_generation or clear_generation with campaignId and expectedUpdatedAt from read. Generation runs asynchronously; poll with read. Use source_audio_upload_status or abort_source_audio_upload with campaignId, expectedUpdatedAt, uploadId and uploadSessionId to inspect uploaded parts or abort the direct upload. Agents never approve or submit. Use action=select with campaignId and expectedUpdatedAt from read, source=generate|posts|upload, and selectedCreativeIds, selectedSocialPosts (owned META:post IDs), or uploadedAssets=[{mediaAssetId}] from dynamoi_list_media_assets. Omit selectedCreativeIds for social or uploaded media. Uploaded metadata is resolved by the server; only owned, moderation-approved uploads can be selected. Selection never attests artist approval and never submits the campaign. Upload private JPEG/PNG/MP4 campaign media (1 GiB maximum) with start_media_upload, campaignId, expectedUpdatedAt and mediaUpload={assetId:UUID,fileName,fileSizeBytes,contentType}. Retain the returned key/uploadId and PUT each presigned part URL. Complete with complete_media_upload, a freshly inspected expectedUpdatedAt, and mediaUpload={assetId,fileName,fileSizeBytes,fileType,key,uploadId,parts:[{partNumber,etag}]}. Use media_upload_status or abort_media_upload with campaignId and mediaUpload={key,uploadId}; both remain usable after draft edits. A completed status means retry completion, not re-upload. Completion returns only a moderation receipt; poll dynamoi_list_media_assets and select only after APPROVED. Uploads do not edit the draft selection. Attach source MP3 audio to a draft with start_source_audio_upload, PUT each returned presigned part URL, then complete_source_audio_upload with the returned uploadId/uploadSessionId and part ETags. Both actions require campaignId, expectedUpdatedAt, fileSizeBytes, trackDurationSeconds and 0–2 hookSeconds. Read sourceAudio to confirm. Use import_source_audio with a public Dropbox share url, campaignId, expectedUpdatedAt, trackDurationSeconds and 0–2 hookSeconds (250 MiB maximum). Google Drive is unsupported because it requires a Google API key. On timeout or an ambiguous result, re-read sourceAudio before retrying.
dynamoi_manage_team
Change an organization member's role, remove a member or revoke a pending organization invitation using the same authority and transactional protections as web. targetId is the organization membership or pending invitation row ID from dynamoi_get_team. Owner and last-admin protections apply; removal can revoke access and pending invitations.
dynamoi_manage_youtube_draft
Editor access required. Returns the current draft summary in data and the native operation response in stepResult. Read native setup with setup, browse videos with videos and optional pageToken, screen with screen and videoId. Save draft steps with save_content/contentSave={campaignId,videoId,playlistId,strategy}, save_location/locationSave={campaignId,targeting:{mode:GLOBAL}|{mode:COUNTRIES,countries:[US]}}, save_ad_copy/adCopySave={campaignId,adCopy,mode:assisted|preserve}, or save_budget/budgetSave={campaignId,budgetAmountCents,budgetType,endDate,currency?,budgetAmountMinor?}. Amounts are exact minor units in the artist currency; use the setup budget policy. Reuse the campaignId when retrying. Saves use native last-write-wins semantics; re-read setup after ambiguous outcomes. Draft saves never launch, change live campaigns or call Google Ads; launch stays on dynamoi_launch_campaign. Inspect a recoverable draft with inspect. Use discard only on explicit user request with campaignId, expectedUpdatedAt from inspect and userIntentSummary. Discard cannot be undone.
dynamoi_onboard_artist
Search Spotify artists by query, preview a Spotify artist URL, or intake an artist from a Spotify or YouTube URL. Intake creates a workspace and starts onboarding using web organization policy; organizationId selects an editable organization. Existing claims, entitlements, caps and provider quotas apply. Sign in through the app or web first.
dynamoi_open_workspace
Open the read-only Dynamoi workspace when the user wants to browse their existing artists, campaigns, Smart Links and observed results in ChatGPT. Returns an authorized artist roster or an honest empty account state. Does not create links, change campaigns, start purchases or connect accounts. Use individual read tools for follow-up details.
dynamoi_prepare_distribution_release
Prepare metadata, tracks and proposed splits for artist review in a private expiring web form. Does not submit a release, attest rights, accept agreements or invite collaborators.
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.
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.
dynamoi_smart_campaign_ad_copy
Read ad copy for a Smart Campaign creation draft, or save copy by providing save with the revision read. Editor access required. Refuses submitted campaigns. Never launches, submits or publishes.
dynamoi_smart_link_controls
Sync the native catalog, change artist-wide Smart Link availability, replace tracking IDs, or record a promote request. Confirm the requested change first. Disabling requires confirmedArtistName matching the artist name. Tracking requires all three IDs (null clears) and forwards expectedVersion from artistHub.version. Availability is unversioned. Catalog sync retains native cooldowns. Promote request requires playLinkId; it only records the native platform analytics event, sends no message and starts no paid work. Omitted platform uses the native default (iOS).
dynamoi_start_meta_connection
Use this when the user is ready to connect a Facebook Page and Instagram professional account to one Dynamoi artist. Set purpose=distribution_identity for the least-privilege identity connection required by a distribution application; that flow does not require advertising billing, and its result is checked with dynamoi_get_distribution_application. Use purpose=advertising (the default) for Spotify Smart Campaigns; advertising requires active billing and is checked with dynamoi_get_platform_status until platforms.meta.status is oauth_complete, partnership_pending, or partnership_active. Advertising returns billing_required when inactive and billing_check_unavailable for a transient verification failure. This returns a signed Meta OAuth URL and may include a Page/Instagram selection step.
dynamoi_start_youtube_channel_link
Use this when the user wants to grow a YouTube channel with Dynamoi campaigns or is ready to link a channel to one Dynamoi artist from chat. Set purpose=distribution_identity for the least-privilege identity connection required by a distribution application; that flow does not require advertising billing or Google Ads linking, and its result is checked with dynamoi_get_distribution_application. Use purpose=advertising (the default) for managed YouTube promotion, then poll dynamoi_get_platform_status until platforms.youtube.connected is true. The tool returns a Google OAuth URL bound to the signed-in user and artist.
dynamoi_update_account_profile
Preview a display name or preferred language change. Show the preview and obtain explicit confirmation, then echo the expected current values with confirm=true.
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. Theme-only updates switch instantly; description or pixel changes may queue background rendering.
dynamoi_update_smart_link_artist_hub_settings
Use this when the user wants to change artist Smart Link theme, pixels, introduction, official profile links or service order. Pass the read artistHub.version as expectedVersion. Omitted fields preserve stored values; null explicitly clears supported fields. Confirm the requested settings before calling. The result includes the saved artistHub readback. If the theme applies but other changes are refused, reload with dynamoi_get_smart_link (artistId, includeArtistSettings=true) before retrying.
dynamoi_update_smart_link_artist_settings
Use this when the user wants to change artist-level Smart Link theme or validated pixel settings. This tool only changes artist settings; it cannot change a link description or publish or unpublish links. Confirm the requested settings before calling. Theme-only changes switch instantly; pixel changes may queue background rendering.
dynamoi_update_smart_link_description
Use this when the user wants to update one Smart Link's public description. This tool only changes that link's description; it cannot change artist-level theme or pixel settings and does not publish or unpublish links. Confirm the requested description before calling. A description change may queue background rendering.
dynamoi_update_smart_link_release_settings
Use this when the user wants to change one Smart Link's release video or catalog destination visibility. Pass the read version as expectedVersion. Set any of customDescription, youtubeUrl or serviceOverrides; omitted fields preserve stored values and null explicitly clears supported fields. Public availability is artist-wide in the dashboard; this tool does not publish or unpublish individual links. Confirm the requested settings before calling. The result includes the saved releaseSettings readback; after an ambiguous failure, read it with dynamoi_get_smart_link (playLinkId; see releaseSettings) before retrying. A description or video change may queue background rendering.
fetch
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.
search
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.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

dynamoi_launch_campaign
removed 29 Aug 2026
dynamoi_update_campaign
removed 29 Aug 2026

Endpoints

URLTransportStateLatencyChecked
https://dynamoi.com/mcp streamable-http answering 995 ms 7 min ago

Alternatives to Dynamoi

same job, measured the same way
UniPost
by unipost

Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.

answering
Rippr MCP
by mrslbt

Rip YouTube transcripts to disk for AI agents, RAG pipelines, and LLM workflows.

56 installs/wk local only
Google Videos (via Apify)
by retracn

Google video results for AI agents: YouTube, TikTok and more, with channel and duration.

answering
smartest-tv
by hybirdss

Control any smart TV with natural language. Resolve Netflix/YouTube/Spotify and deep-link.

162 installs/wk local only
HirePulse: Jobs, Ads, SEO, YouTube & AliExpress Data Tools
by edtool79-collab

Jobs, ads, SEO, keywords, YouTube and AliExpress data for AI agents. Runs on Apify.

answering
Levirge Search
by levirge

Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.

answering
SocialSwarm
by socialswarm

Discover GitHub projects welcoming AI agent contributions. Public search and listing reads.

4 tools answering
Famelab: LinkedIn AI agents
by famelab

LinkedIn AI agents for B2B: leads, inbox, draft replies, campaigns and posts. You approve each send.

answering

Dynamoi — questions

Answers built from our own checks of this server.

What can Dynamoi do?
It exposes 50 tools, read directly from the server on our last check. Among them: dynamoi_about, dynamoi_apply_for_distribution, dynamoi_claim_referral_code, dynamoi_contact_support, dynamoi_create_smart_link_from_spotify, dynamoi_create_smart_links_from_spotify_artist and 44 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Dynamoi working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 830 ms. The bar chart above shows every period we have measured.
Did Dynamoi ever remove tools?
Yes. dynamoi_launch_campaign, dynamoi_update_campaign are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Dynamoi?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Dynamoi need an API key?
No. Dynamoi completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 50 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Dynamoi?
It answers our handshake in 830 ms on average, which is faster than 10% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Dynamoi open source?
The code is open source: it is published under the MIT licence, written in TypeScript and 3 stars on GitHub. The licence covers the code in the repository, not the hosted service at dynamoi.com, which runs on its operator's own terms.