Koskamo

Daydream MCP

An official MCP server for Daydream's AI music generator that allows agents to create instrumental songs and sound effects from text descriptions, retrieve audio mixes and stems, and manage song history and usage credits.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Daydream MCP logo, by DaydreamVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Daydream
You need:Sign in on your Daydream dashboard , press Create, and copy the keyAgents with a wallet need no accountAuth: a Daydream API key as a Bearer token, or OAuth
MCP endpoint (Streamable HTTP)
https://gen.daydream.live/mcp
Vendor documentation

What you can do with it

  • Generate instrumental music or sound effects from text prompts
  • Retrieve MP3, WAV, and FLAC stem files for created songs
  • Redo or undo specific musical stems in a song version
  • List user songs and check remaining monthly credit usage

Source and maintenance

Vendor evidenceRegistry 0.1.0

Protocol and capabilities

Server
daydream-music 0.1.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {},
  "resources": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Makes original instrumental music from words. Call create_song once per song the person asks for, redo_stem to change one part of a finished song, and undo_stem to put it back; the player in the chat follows either until it's done, so don't poll get_song yourself. list_songs finds an earlier song; get_songs_left says how many are left this month.

Tools

6 advertised

create_song — Make a song
Advertised by the server during the last successful anonymous check.

Make an original instrumental song from a description: genre, mood, instruments, tempo, what it's for. Returns it queued; the player in the chat shows it rendering and plays it when it's done (about a minute), with MP3 and WAV downloads and its five stems (drums, bass, guitar, keys, other) as FLAC. Where there's no player, get_song gives those links once it's done. Artist names are not allowed and are removed from prompts before generation: describe the sound instead. Royalty-free, for commercial games and videos. It makes sound effects too, with nothing to switch: a description with no music in it ("heavy rain on a tin roof", "a sword clashing against a metal shield") comes back as a sound effect, one take up to 30 seconds with MP3 and WAV and no stems, and its kind is "sfx".

create_song input schema
{
  "type": "object",
  "required": [
    "prompt"
  ],
  "properties": {
    "bpm": {
      "type": "integer",
      "maximum": 200,
      "minimum": 60,
      "description": "Tempo; left out, it's chosen from the prompt."
    },
    "key": {
      "type": "string",
      "description": "A note with sharps and major or minor, like \"C major\" or \"F# minor\"."
    },
    "loop": {
      "type": "boolean",
      "description": "A seamless loop, for a game level or a background."
    },
    "seed": {
      "type": "integer",
      "maximum": 2147483647,
      "minimum": 0,
      "description": "Makes the same song again from the same words and settings; left out, a new one each time."
    },
    "prompt": {
      "type": "string",
      "maxLength": 400,
      "description": "The music in words, e.g. \"a calm village theme with flute and harp\", or a sound with no music in it for a sound effect, e.g. \"footsteps on gravel\"."
    },
    "duration": {
      "type": "number",
      "maximum": 120,
      "minimum": 10,
      "description": "Length in seconds (default 120)."
    },
    "variations": {
      "enum": [
        1,
        2
      ],
      "type": "integer",
      "description": "How many versions of it to make (default 1). Two count as one song."
    }
  },
  "additionalProperties": false
}
create_song annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": false
}
get_song — Check a song
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where a song made with create_song stands: its place in line, or, once done, each version's MP3 and WAV links and its five stems' FLAC links (a few seconds after the mix), and any part being made again with redo_stem. A sound effect (kind "sfx") has no stems.

get_song input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^sng_[0-9A-Za-z]{22}$",
      "description": "The song's id from create_song."
    }
  },
  "additionalProperties": false
}
get_song annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
redo_stem — Redo one part
Advertised by the server during the last successful anonymous check.
Advertised destructive

Make one stem of a finished song again (new drums, say), with the other four exactly as they are; the mix becomes the new part with the rest. Counts as one song. Takes about a minute; the player shows it. undo_stem puts the old part back.

redo_stem input schema
{
  "type": "object",
  "required": [
    "id",
    "stem"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^sng_[0-9A-Za-z]{22}$",
      "description": "The song's id."
    },
    "stem": {
      "enum": [
        "drums",
        "bass",
        "guitar",
        "keys",
        "other"
      ],
      "type": "string",
      "description": "The part to make again."
    },
    "version": {
      "enum": [
        1,
        2
      ],
      "type": "integer",
      "description": "Which version of the song (default 1)."
    }
  },
  "additionalProperties": false
}
redo_stem annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
undo_stem — Undo the last redo
Advertised by the server during the last successful anonymous check.
Advertised destructive

Put a song's version back to how it was before its last redo_stem: the old part plays again, and the mix with it. Costs nothing. Only the last redo can be undone.

undo_stem input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^sng_[0-9A-Za-z]{22}$",
      "description": "The song's id."
    },
    "version": {
      "enum": [
        1,
        2
      ],
      "type": "integer",
      "description": "Which version of the song (default 1)."
    }
  },
  "additionalProperties": false
}
undo_stem annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "destructiveHint": true
}
list_songs — Your songs
Advertised by the server during the last successful anonymous check.
Advertised read-only

The songs on the person's Daydream account, newest first: each one's id, words, length, tempo and how many versions. Use get_song with an id to play one.

list_songs input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "How many (default 10)."
    }
  },
  "additionalProperties": false
}
list_songs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_songs_left — Songs left
Advertised by the server during the last successful anonymous check.
Advertised read-only

How many songs the person has made this month and how many they can make (no limit on some accounts), and when the count starts again.

get_songs_left input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_songs_left annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

Song player

Advertised by the server during the last successful anonymous check.

Song player URI
ui://daydream/song-player.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
666 ms
95th percentile latency
666 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 666 ms · metadata changed · 6 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http daydream-mcp https://gen.daydream.live/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add daydream-mcp --url https://gen.daydream.live/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable daydream-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "daydream-mcp": {
      "url": "https://gen.daydream.live/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "daydream-mcp": {
      "type": "streamableHttp",
      "url": "https://gen.daydream.live/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start daydream-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "daydream-mcp": {
      "type": "http",
      "url": "https://gen.daydream.live/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http daydream-mcp https://gen.daydream.live/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "daydream-mcp": {
      "url": "https://gen.daydream.live/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "daydream-mcp": {
      "serverUrl": "https://gen.daydream.live/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Daydream MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Daydream MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing