protogrid

Search / com.doseedo/doseedo

Doseedo

R2· OAuth, once

Edit DAW sessions; convert Logic/Ableton/FL/PT/REAPER/Cubase/Dorico; stems, transcribe, generate

v0.14.0 · active · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality95strong
Trust82of 100
Uptime, 30 days93%
Latency p50162 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "doseedo": {
      "type": "http",
      "url": "https://api.doseedo.com/mcp"
    }
  }
}
claude mcp add --transport http doseedo https://api.doseedo.com/mcp
[mcp_servers.doseedo]
url = "https://api.doseedo.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "doseedo": {
      "type": "remote",
      "url": "https://api.doseedo.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "doseedo": {
      "type": "http",
      "url": "https://api.doseedo.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=doseedo&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLmRvc2VlZG8uY29tL21jcCJ9"
}
{
  "servers": {
    "doseedo": {
      "type": "http",
      "url": "https://api.doseedo.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "doseedo": {
      "httpUrl": "https://api.doseedo.com/mcp"
    }
  }
}
extensions:
  "doseedo":
    enabled: true
    name: "doseedo"
    type: streamable_http
    uri: "https://api.doseedo.com/mcp"
    timeout: 300

Quality 95 / 100strong

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization100 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • pass
    auth.cimdClient ID Metadata Documents supported
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations21 of 21 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 4,939 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history not recorded yet
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

21 tools, about 4,939 tokens to load them all · checked 2026-10-20 10:03 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness97
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-93% +updated-13d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.doseedo.com/mcp streamable-httpoauth2 AS: https://api.doseedo.comyes93%162 ms–2026-10-20

Tools (21)

doseedo_accountread-onlyCheck the connected doseedo account: plan tier and how many generation / DSP credits remain today. Read-only — consumes nothing. Use it before starting expensive work to confirm there is budget.
doseedo_add_audio_to_sessionAdd an audio file to a session — from a public URL (a doseedo-generated song, a separated stem, any https audio) OR from a LOCAL file you uploaded (doseedo_get_upload_url → PUT the bytes → pass the returned audio_key here). Ingested server-side and returned as a sha256 you then use: place it on a track with attach_audio, or load it into a Quick Sampler with load_quick_sampler_sample {track_id, sample_path: "<the sha>"} (bakes into the exported .logicx, no desktop needed — the drum-pack/sample-swap path). Give audio_url OR audio_key.
doseedo_audio_to_sessionTurn an uploaded full mix into a complete DAW session (separated stems as tracks, tempo map, optional per-stem MIDI and chord guide). The result is a downloadable session zip for Logic Pro or Ableton. Async: returns a task_id — poll with doseedo_wait_task kind="session" (~4 minutes).
doseedo_bounce_sessionBounce a session (or specific tracks) to audio through their REAL plugin chains, offline — Dø Desktop renders them in the background WITHOUT the user opening the DAW (live via Logic if it's open, headless if it isn't; this is the thing stock DAWs can't do). Async: returns a task_id — poll with doseedo_wait_task kind="bounce". The result is downloadable stem URLs. Needs Dø Desktop to run at some point to pick up the job; until then it stays queued.
doseedo_check_taskread-onlyCheck an async doseedo task once. Returns current status, and the result (file URLs / notes) when finished.
doseedo_convert_projectConvert a complete DAW project between Logic Pro (.logicx), Ableton Live (.als), FL Studio (.flp), Pro Tools (.ptx), REAPER (.rpp), Cubase (.cpr) and Dorico (.dorico/.musicxml) — any pair, both ways. The project is rebuilt natively in the target format: tracks, MIDI, audio clips, tempo, and markers arrive editable (for Logic↔Ableton also automation, buses/sends, and plugin state). ★ CUBASE AND DORICO ARE ASYMMETRIC, by necessity — neither native format is documented, so a file we cannot guarantee opens is never written. TO Cubase you get a .dawproject (the open format Cubase 14+ and Nuendo import as a real editable session; Studio One and Bitwig read it too), not a .cpr. TO Dorico you get MusicXML (.mxl) — Dorico's own full-notation import route, which MuseScore, Finale and Sibelius also open — not a .dorico. FROM Cubase reads the native .cpr: tracks, tempo, signature and MIDI parts carry; its audio pool does not, so audio tracks arrive named but empty. FROM Dorico: a .dorico carries its players and flows but NOT its notes (score.dtn exposes no note position or duration), so export MusicXML from Dorico and convert THAT for the music — this tool accepts .musicxml/.mxl under the same dorico2* directions. Every conversion reports what it could not carry; read the task result rather than assuming silence means lossless. First call doseedo_get_project_upload_url and PUT the project there (zip a project FOLDER so its audio travels; a bare .als/.flp/.rpp/.ptx/.cpr/.dorico/.mxl or zipped .logicx works too). Async: returns a task_id — poll with doseedo_wait_task kind="convert" (typically 15s–2min).
doseedo_cover_songRe-render an uploaded song as a cover: keep its structure/melody while changing timbre, instruments, or lyrics. Optionally swap specific stems to other instruments, or export a DAW session too. Async: returns a task_id — poll with doseedo_wait_task kind="cover" (several minutes for full songs).
doseedo_create_sessionCreate a new, empty DAW session in the account (a blank project you can then populate with doseedo_edit_session, or target with doseedo_audio_to_session). Returns its session_id.
doseedo_desktop_statusread-onlyIs Dø Desktop running on the user's Mac and connected to their DAW? Reports which sessions it currently holds, whether a live Logic hook is answering, and its per-session applied cursor. Use it to know whether an edit will reach the DAW live now (desktop online + logic connected) or wait for the next session open. Read-only.
doseedo_download_sessionread-onlySave a session to the device as a native Logic project (.logicx.zip), rebuilt server-side from the current session state — no desktop needed. Returns a SHORT-LIVED, NO-AUTH download URL: fetch it with a plain `curl -o ~/Downloads/…` (no API key or header) and unzip. Use this to put the project in the user's Downloads folder. The result also carries `replay` — what the build actually put in the file (per track: kind, the sample its Quick Sampler plays, MIDI note count, audio region count; media in the bundle; ops the offline build could not synthesize) — and `warnings`. Verify from those; do not unzip and inspect ProjectData. `place_local_files` (when present) MUST be run after unzipping.
doseedo_edit_ops_referenceread-onlyThe full catalog of session edit ops doseedo_edit_session accepts: every op with its arguments, units, and where it lands (live in the open project, at next open, or state-only) — plus the WORKFLOW, UNITS (ids, beats, 0.709 = 0 dB, Quick Sampler root C3 = 60) and RECIPES (drum kit from local samples, one-shots on an audio track, remote sample, submix bus, verify). Read it ONCE per session and copy a recipe. Read-only.
doseedo_edit_sessionEdit a DAW session by applying a list of ops (move/trim a region, set MIDI notes, add/remove a track, change a fader/pan/mute, insert or tweak a plugin, set tempo, add a marker, …). If Dø Desktop is running with the project open, the edits appear in Logic live within seconds; otherwise they persist and apply next time the session opens. Get ids and current values from doseedo_get_session first, and see doseedo_edit_ops_reference for every op and its arguments. Ops apply in order.
doseedo_generate_musicGenerate an original song or instrumental from a text prompt (optionally with lyrics). Async: returns a task_id — poll with doseedo_wait_task kind="generate" (typically 1–3 minutes). The finished result is a list of downloadable audio file URLs.
doseedo_get_project_upload_urlGet a presigned upload for a DAW PROJECT file (for doseedo_convert_project). Returns an upload_url (PUT the bytes there, e.g. `curl -X PUT -H "Content-Type: application/zip" --data-binary @project.zip "<upload_url>"`) and a project_key to pass to doseedo_convert_project. Zip a project folder so its audio travels with it.
doseedo_get_sessionread-onlyRead a DAW session as a compact arrangement summary an agent can edit against: every track with its wire ids (track_id t_…, its mixer strip channel_id ch_…), its regions in BOTH beats and seconds, mixer state (volume with dB, pan, mute), and plugin chain (third-party flagged); plus tempo, time signature, markers, length, and a "sync" block saying whether Dø Desktop is live on this session and how far it has applied. Read-only. Pass these ids straight to doseedo_edit_session.
doseedo_get_upload_urlGet a presigned upload for your own audio file. Returns an upload_url (PUT the raw file bytes there, e.g. `curl -X PUT -H "Content-Type: <content_type>" --data-binary @song.wav "<upload_url>"`) and an audio_key to pass to doseedo_separate_stems / doseedo_transcribe / doseedo_cover_song / doseedo_audio_to_session.
doseedo_list_pluginsread-onlyList the plugins you can insert on a strip with doseedo_edit_session's add_device op. Returns the stock Logic catalog (instruments + effects, always available) and — when Dø Desktop is connected — the actual plugins installed on the user's Mac (stock + third-party). Insert any of them BY NAME: add_device {channel_id, device: {name: "…"}}.
doseedo_list_sessionsread-onlyList the connected account's DAW sessions (most recently updated first) — their ids, names, DAW, and update time. Use a session id with doseedo_get_session and doseedo_edit_session.
doseedo_separate_stemsSplit an uploaded mix into stems (vocals, drums, bass, guitar, piano, other — or orchestral/auto-detected instruments), with optional per-stem MIDI transcription and DAW-session export. Async: returns a task_id — poll with doseedo_wait_task kind="separate" (~2 minutes).
doseedo_transcribeTranscribe audio to notes (pitch, onset/offset seconds, velocity, confidence as JSON — not a MIDI file). Works from an uploaded audio_key or a public audio_url. Async: returns a task_id — poll with doseedo_wait_task kind="transcribe" (usually ~15–60s).
doseedo_wait_taskread-onlyWait for an async doseedo task to finish (polls server-side for up to ~50s, then returns the latest status). If it returns while the task is still running, simply call this tool again — long jobs can take a few minutes total.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.doseedo/doseedo",
  "title": "Doseedo",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.doseedo.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.14.0",
  "websiteUrl": "https://doseedo.com/mcp",
  "description": "Edit DAW sessions; convert Logic/Ableton/FL/PT/REAPER/Cubase/Dorico; stems, transcribe, generate"
}