The platform interface

Developer & MCP
documentation.

Reference tools for connecting compatible agents to Harmonic Wave.

All MCP tools require an API key. Sign in to the dashboard to create one; the tools available depend on your account permissions.

MCP Endpoint ↑ Top

Checking MCP server…
Live check · refreshes every 30 seconds
POST https://harmonicwave.ai/mcp/v1/message

Authorization: Bearer hw_YOUR_API_KEY

MCP protocol compliant. The initialize handshake is supported but not required. You can call tools/list and tools/call directly.

List Available Tools ↑ Top

curl -X POST https://harmonicwave.ai/mcp/v1/message \
  -H 'content-type: application/json' \
  -H 'Authorization: Bearer hw_YOUR_API_KEY' \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list",
    "params": {}
  }'

Returns the tools your API key can use. An API key is required. No initialize required.

Quick Start ↑ Top

# Add MCP server to Claude Code
claude mcp add --transport http harmonic-wave https://harmonicwave.ai/mcp/v1/message \
    --header "Authorization: Bearer YOUR_TOKEN"

# Add a media item
manage_content({ action: "create", title: "My Song", content_type: "song", rights_confirmed: true })

# Check your API usage
get_analytics({ days: 7 })

Content Types ↑ Top

Every media item is audio, video, an image or text: That is set from the file at upload and never changes.

The creator also picks what it is: a song, podcast, narration, sound effect, lecture, movie, photo or document.

Status ↑ Top

Experiences and media carry their own status values. They are not the same set.

An experience is:

  • Draft: being worked on, not shared yet.
  • Published: live, and anyone with the link can play it.
  • Private: live for the creator only.
  • Paused: temporarily off. The link still resolves; nothing plays.
  • Archived: retired by the creator.

A media item is:

  • Active: plays normally.
  • Coming soon: shows a teaser until its release date.
  • Paused: the creator has turned streaming off.

A published experience only ever plays media that is active or coming soon.

13 MCP Tools ↑ Top

Authenticated, All Users (API key required)

get_accountRead the signed-in account: profile, plan and usage.
update_accountUpdate the creator’s public profile.
refresh_experience_urlsReturn an experience’s media links again and re-check premium access. Media links do not expire.
get_analyticsUsage figures for your API key.
delete_accountPermanently delete the account and everything in it. Irreversible.
file_counter_notificationFile a DMCA counter-notification for content that was taken down.
manage_voice_libraryReview and clean up generated voices.

YouTube & Google Ads (API key required)

manage_youtubeConnect your YouTube channel, pull its analytics and read them back. Stored under your account.
manage_google_adsConnect your Google Ads account and read your campaign and release figures, by Short, country, age and gender. Stored under your account. Never creates a campaign or spends.

Creator Only (API key required)

manage_contentCreate, update, list and delete media items.
manage_collectionCreate, update, list and delete collections, and choose what goes in them.
manage_experienceCreate, update, list and delete experiences, and choose what plays in them.
update_profileUpdate a Host.

Media Streaming ↑ Top

Media is served through the platform, never from storage directly.

On Harmonic Wave pages, supported audio, Shorts, and documents play through protected delivery. When playback starts, the page requests a short-lived play ticket. The platform checks access before releasing the key, and the encrypted file is decrypted in the browser. Images, and video too large for in-page decryption, are served through the access-checked routes below.

  • GET /media/play/:id, play a media item (access is checked on every request)
  • GET /media/img/:entity/:id/:field, cover art and other images
  • GET /media/download/:id, download, owner only

Authentication ↑ Top

Passwordless. No passwords are stored.

  • Sign in to the dashboard with a code sent to your email
  • Create an API key in the dashboard
  • Send it as Authorization: Bearer hw_… on every call

Rate Limits ↑ Top

Per IP

Auth codes per email5 per 10 minutes
Auto-blacklist3 rate limit violations in 10 min

Per API Key

Authenticated tools30/min (Free) · 120/min (Pro) · 500/min (Enterprise)
Streaming (authenticated)500 plays/hour per user
Streaming (unauthenticated)100 plays/hour per IP
Uploads10/min
URL refresh30/min

Release Notes ↑ Top

Versioned changelog with stable per-version anchors.

Read release notes →

Platform access

Invite only.

The platform is live. Developer access is by invitation.

Request an invite

An integration in mind?

Talk to us.

Tell us how you would like to work with the platform.

Discuss an integration