Tera Studio MCP
An official MCP server for Tera Studio that allows AI assistants to look up song keys and tempos, shift song keys to fit a user's vocal range, and initiate voice-cover creation on the Tera Studio platform. It operates without authentication and processes audio files locally in the browser.
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.
https://terastudio.co/mcpWhat you can do with it
- Look up a song's key and tempo by title
- Find key and tempo of a local audio file
- Shift a song's key to fit a user's voice
- Get a link to start a song in user's voice
Source and maintenance
Protocol and capabilities
- Server
- tera-studio 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 4 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
find_song_key_and_tempo — Find a song’s key and tempo
Find the musical key (major or minor, with its relative key) and the tempo in BPM of a song file the person has. Opens a small Tera Studio tool where they choose the file; it is analysed in their browser and never uploaded. Use it when someone asks what key or BPM a song is in, or wants to know before singing, mixing or practising it. It reads only the file and doesn't identify or play songs; find_song_key looks up a well-known song by its title.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"view",
"audio",
"web_tool",
"start_song"
],
"properties": {
"view": {
"enum": [
"key_and_tempo",
"change_key"
],
"type": "string"
},
"audio": {
"type": "string"
},
"web_tool": {
"type": "string",
"format": "uri"
},
"semitones": {
"anyOf": [
{
"type": "integer",
"maximum": 6,
"minimum": -6
},
{
"type": "null"
}
]
},
"start_song": {
"type": "string",
"format": "uri"
}
}
}{
"title": "Find a song’s key and tempo",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}shift_song_key — Change a song’s key
Move a song the person has up or down by up to 6 semitones, keeping its speed, so it fits their voice, and play it back. Opens a small Tera Studio tool where they choose the file; the change happens in their browser and nothing is uploaded. Use it when a song is too high or too low for someone. Pass semitones if they said how far (negative is lower); otherwise they choose in the tool.
{
"type": "object",
"properties": {
"semitones": {
"type": "integer",
"maximum": 6,
"minimum": -6,
"description": "How far to move the song, from -6 to 6 semitones; negative is lower. Leave it out to let the person choose."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"view",
"audio",
"web_tool",
"start_song"
],
"properties": {
"view": {
"enum": [
"key_and_tempo",
"change_key"
],
"type": "string"
},
"audio": {
"type": "string"
},
"web_tool": {
"type": "string",
"format": "uri"
},
"semitones": {
"anyOf": [
{
"type": "integer",
"maximum": 6,
"minimum": -6
},
{
"type": "null"
}
]
},
"start_song": {
"type": "string",
"format": "uri"
}
}
}{
"title": "Change a song’s key",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}start_song_in_my_voice — Start a song in my own voice
Explain how to hear a song sung in the person's own voice with Tera Studio, and give them the link to start. They create an account on terastudio.co, sing for about a minute, add a song they have the rights to use, and hear it back in their voice. Use it when someone wants to hear themselves sing a song, make a cover in their own voice, or turn a song into a gift in their voice. It returns steps and a link and creates nothing. Tera Studio only uses the person's own voice: not for celebrity or other people's voices.
{
"type": "object",
"properties": {
"language": {
"type": "string",
"maxLength": 40,
"description": "The language the song is sung in, if they said."
},
"occasion": {
"type": "string",
"maxLength": 60,
"description": "What it's for, if they said: a birthday, a wedding, a gift."
},
"song_title": {
"type": "string",
"maxLength": 120,
"description": "The song they want to hear in their voice, if they named one."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"steps",
"consent",
"start_song"
],
"properties": {
"steps": {
"type": "array",
"items": {
"type": "string"
}
},
"consent": {
"type": "string"
},
"start_song": {
"type": "string",
"format": "uri"
}
}
}{
"title": "Start a song in my own voice",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_song_key — Look up a song’s key by title
Look up the key, tempo (BPM) and typical vocal range of a well-known song by its title, in Tera Studio's song list (key and tempo from AcousticBrainz's analyses of the recording). Returns the key with its relative key, how many analyses agree on it, the BPM when they agree, an estimated range, and links to the song's page and to the key changer. Use it when someone names a song and asks its key or tempo, or whether it suits their voice. Pass semitones if they want it higher or lower. A song outside the list comes back as not found, with the key finder and key changer for a file they have.
{
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "The song's title, without the artist."
},
"artist": {
"type": "string",
"maxLength": 120,
"description": "Who sings it, if the person said; it picks between songs that share a title."
},
"semitones": {
"type": "integer",
"maximum": 6,
"minimum": -6,
"description": "How far to move the song for their voice, from -6 to 6 semitones; negative is lower. Leave it out to keep the original key."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"found",
"song",
"shifted",
"song_page",
"key_changer",
"other_matches"
],
"properties": {
"song": {
"anyOf": [
{
"type": "object",
"required": [
"title",
"artist",
"key",
"relative_key",
"key_confidence",
"bpm",
"typical_range"
],
"properties": {
"bpm": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"artist": {
"type": "string"
},
"relative_key": {
"type": "string"
},
"typical_range": {
"type": "object",
"properties": {
"low": {
"type": "string"
},
"high": {
"type": "string"
},
"span": {
"type": "string"
},
"estimate": {
"type": "boolean"
}
}
},
"key_confidence": {
"enum": [
"high",
"medium"
],
"type": "string"
},
"key_analyses_agree": {
"type": "string"
}
}
},
{
"type": "null"
}
]
},
"found": {
"type": "boolean"
},
"shifted": {
"anyOf": [
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"semitones": {
"type": "integer"
},
"typical_range": {
"type": "object"
}
}
},
{
"type": "null"
}
]
},
"song_page": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"key_finder": {
"type": "string",
"format": "uri"
},
"key_changer": {
"type": "string",
"format": "uri"
},
"other_matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bpm": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"artist": {
"type": "string"
}
}
}
}
}
}{
"title": "Look up a song’s key by title",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
song-key-tool — Song key and tempo tool
Finds a song's key and tempo and moves it to another key, in the person's browser.
ui://tera-studio/song-key-v1.html30-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
- 2521 ms
- 95th percentile latency
- 2521 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2521 ms · metadata changed · 4 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http tera-studio-mcp https://terastudio.co/mcpCodex
codex mcp add tera-studio-mcp --url https://terastudio.co/mcpCursor
{
"mcpServers": {
"tera-studio-mcp": {
"url": "https://terastudio.co/mcp"
}
}
}Cline
{
"mcpServers": {
"tera-studio-mcp": {
"type": "streamableHttp",
"url": "https://terastudio.co/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"tera-studio-mcp": {
"type": "http",
"url": "https://terastudio.co/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http tera-studio-mcp https://terastudio.co/mcpClaude Desktop
{
"mcpServers": {
"tera-studio-mcp": {
"url": "https://terastudio.co/mcp"
}
}
}Windsurf
{
"mcpServers": {
"tera-studio-mcp": {
"serverUrl": "https://terastudio.co/mcp"
}
}
}Let your agent find its tools
Find servers like Tera Studio MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run Tera Studio 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.