Tera Studio
Remote MCP server for singers: find a song's key and tempo, move a song up or down by up to 6 semitones (the file stays in the user's browser), and get the steps to hear a song in your own voice. No sign-in, no API key.
Hosted MCP Server
npx add-mcp 'https://terastudio.co/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Tera Studio in Claude, ChatGPT and other AI assistants
How to connect the Tera Studio MCP server, what its four tools do, and what it does with your data.
Tera Studio’s MCP server is at https://terastudio.co/mcp. It gives an AI assistant four read-only tools: look up a well-known song’s key and tempo by its title, find the key and tempo of a song file, move a song to a key that fits your voice, and get the steps and link to hear a song in your own voice on terastudio.co. There is no sign-in and no API key. Song files are worked on in your browser and never uploaded.
Connect it
| Server URL | https://terastudio.co/mcp |
|---|---|
| Transport | Streamable HTTP (POST, JSON responses) |
| Authentication | None. No account, sign-in, OAuth or API key. |
- Claude: add a custom connector and paste the server URL. Leave any OAuth fields empty: there is no sign-in step.
- ChatGPT (on the web; the mobile apps can't add a custom server): open Plugins, choose + and then Add custom MCP server. Give it a name, paste the same URL as the server URL (not a tunnel), set authentication to No authentication, accept the notice and choose Create as a plugin. Open the plugin and choose + to install it, then type @ in a new chat and pick Tera Studio.
- Any other MCP client that speaks Streamable HTTP: point it at the server URL.
The four tools
All four are marked read-only, non-destructive and idempotent, and they don’t reach other sites. None of them creates an account, a song or anything else.
Look up a song’s key by title
find_song_key. Looks up a well-known song by its title in Tera Studio’s list of 2,000 songs, with keys and tempos from AcousticBrainz analyses and names from MusicBrainz. It gives the key and its relative key, how many analyses agree on the key, the tempo in BPM when they agree, and an estimated range of about an octave. With semitones, it also gives the new key and range and links the key changer set to that move. It answers in text. If the song isn’t in the list, it says so and offers find_song_key_and_tempo and shift_song_key for a file you have.
Inputs: title (required, up to 120 characters); artist (optional, up to 120); semitones (optional): a whole number from −6 to 6.
Find a song’s key and tempo
find_song_key_and_tempo. Opens a small Tera Studio tool where you choose a song file. It shows the key (major or minor, with its relative key) and the tempo in BPM, with the half-time and double-time readings.
Inputs: None.
Change a song’s key
shift_song_key. Opens the same tool on its key changer. You choose a song file and hear it moved up or down by up to 6 semitones at the same speed, so it fits your voice. Download WAV saves the moved song: in the chat when the assistant allows downloads, otherwise on terastudio.co.
Inputs: semitones (optional): a whole number from −6 to 6; negative is lower. Left out, you choose in the tool.
Start a song in my own voice
start_song_in_my_voice. Returns three steps for hearing a song sung in your own voice on terastudio.co and a link to start there. It creates nothing.
Inputs: song_title, language and occasion (all optional, short text).
find_song_key_and_tempo and shift_song_key open an interactive tool in the chat (an MCP App) where you choose a song file: MP3, M4A or WAV, up to 8 minutes. The file is read and changed in your browser, on your device; it is never sent to Tera Studio or to the assistant. The tool tells the assistant only the reading, such as “C major, about 131 BPM” or how far you moved it, so it can talk about it with you; never the file or its name. In an assistant that doesn’t show interactive tools, the tool answers in text with a link to the same tool on our site: the BPM and key finder or the key changer.
Example prompts
| You ask | Tool the assistant uses |
|---|---|
| “What key is Hotel California in? I want to sing it 2 semitones lower.” | find_song_key with semitones −2 |
| “What key and BPM is this song? I have the MP3.” | find_song_key_and_tempo |
| “This song is too high for me. Can you bring it down 2 semitones?” | shift_song_key with semitones −2 |
| “I want to sing this song but it’s too low for my voice.” | shift_song_key (you choose how far in the tool) |
| “I’d love to hear “Happy Birthday” in my own voice for my mum’s birthday.” | start_song_in_my_voice |
What it doesn’t do
- It doesn’t identify, play or download songs, and it doesn’t give lyrics. It finds a song by title only in its own list of 2,000 well-known songs; for any other song, you choose a file you have.
- It doesn’t make songs inside the chat. Songs in your own voice are made on terastudio.co, in your account.
- It only works with your own voice. Tera Studio doesn’t make songs in a celebrity’s or anyone else’s voice.
Privacy
The assistant sends our server the tool it picked and what it filled in, such as how many semitones to move a song or a song’s title. We use that only to answer and don’t keep it or any identifier sent with it: we only count which tool was used and which assistant it came from. Your song stays on your device, and we don’t receive your conversation; the key and tempo the tool passes to the assistant go to the assistant, not to us. The details are in the section “Tera Studio in ChatGPT, Claude and other AI assistants” of our privacy policy.
Technical details
- JSON-RPC 2.0 over Streamable HTTP. Each POST gets one JSON response; there are no sessions and no server-sent event stream.
- Protocol versions 2026-07-28, 2025-11-25, 2025-06-18 and 2025-03-26.
- The interactive tool is the resource
ui://tera-studio/song-key-v1.html(text/html;profile=mcp-app). It makes no network requests. - Up to 120 requests a minute per caller and 64 KB per request. Calls from web pages on other sites are refused.
Support
Email teralabsx@gmail.com or use our contact page. We aim to reply within 24–48 hours.