Leið Pro · AI
Connect an AI client
Describe a loop in words and let your AI assistant build it from real transit lines. Leið speaks MCP, the open protocol AI clients use to call tools, so Claude or another client can read and write your saved songs.
What it is
Leið runs an MCP server, a small set of tools an AI client can call on your behalf. Once it is connected, you can ask for music in plain language, for example “a slow dub loop in Budapest with a kick-ducked bass”. The assistant looks up the city’s lines, writes a loop plan, has Leið check it, and saves it as a song in your library. You then open the song in Leið and press Play.
Your AI client does the thinking, so composing this way doesn’t use the in-app AI Composer’s monthly allowance.
What you need
- A Leið Pro account. Pro is checked on every request, so if the subscription ends, access stops straight away.
- An AI client that supports remote MCP servers with OAuth, such as Claude (web, desktop or Claude Code) with a custom connector, or any other standards-compliant MCP client.
Connect it
- Copy the server URL:
https://layth.space/mcp. It is also shown in Leið under the menu (top right) → Connect an AI client. - In Claude, open Settings → Connectors → Add custom connector, name it “Leið”, and paste the URL. In other clients, add a remote (HTTP) MCP server with the same URL.
- Choose Connect. A Leið window opens. Sign in with your Leið account.
- Review what the client is asking for and approve it. The client is now connected.
- Optional: install the Leið composer skill. It teaches Claude the workflow and gives it genre recipes, which makes the results noticeably better.
What it can do
| Tool | What it does | Access |
|---|---|---|
list_cities | Lists the cities you can compose in. | Read |
list_songs / get_song | Lists your saved songs and reads one of them, with a summary of what its lanes play. | Read |
get_composer_guide | Returns the musical and sound-design guidance, sound recipes, instruments, effects, scales and ranges a plan may use, your lane limit, and the genre recipes. Pass a genre to get that recipe and its beat blueprint. | Read |
list_routes | Finds a city’s lines by type or name. Each line becomes a track. | Read |
preview_song_plan | Checks a plan, reports anything invalid, and flags settings that will not sound as planned. Saves nothing. | Read |
create_song_from_plan | Saves a plan as a new song in your library. Every lane starts from clean defaults. | Write |
apply_plan_to_song | Applies a plan to one of your saved songs. | Write |
set_song_tempo | Changes a saved song’s BPM. | Write |
Write tools only change your own saved songs. An edit sends along the version it read, so if you changed the same song in the browser in the meantime, the edit is refused instead of overwriting your work.
Try asking
Make a 76 BPM dub loop in Budapest. Use a metro line for a deep bass that ducks under the kick, and a tram for a delayed skank.
Compose something ambient from Helsinki’s buses: sparse bells, two slow pads, lots of reverb, no drums.
Open my song “Night Tram” and make it sparser. Drop the hats, slow the lead down, and set it to 90 BPM.
The assistant replies with a link that opens the song in Leið. If that song is already open in a tab, reload it to hear the changes.
What it cannot do
- It can’t play, record or export audio. Listening happens in Leið.
- It can’t control a Leið tab you already have open. It changes saved songs, and you open them.
- It doesn’t cover the manual editing work: per-stop notes, the 8-band EQ, automation lanes and duplicate or chord lanes stay in the DAW.
- A song belongs to one city, and a plan can use up to your plan’s active-lane limit.
Privacy & disconnecting
A connected client can read, create and change your saved songs through the tools above. It can’t see your password, billing details or other account data. Your conversation never reaches Leið. Only the loop plans the client writes do, and your prompts stay with your AI client under its own terms.
To disconnect, open menu → Connect an AI client in Leið and choose Disconnect next to the client. Its access is revoked at once, even if it still holds an unexpired token. See the privacy notice for the rest.