Start with any tuning.
Discover instrument presets and alternate tunings, or bring your own open-string pitches.
GET /v1/tuningsTHE TUNINGS DEVELOPER API v1
Tunings, notes, scales, and fretboard positions.
The engine behind Tunings, ready for your next app.
REST + MCP. Predictable results. Your interface.
curl https://api.tunings.io/v1/transpose \
-H "Authorization: Bearer $TUNINGS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"notes": ["D2","A2","D3","G3","B3","E4"],
"semitones": -2
}'Interactive preview · computed locally with the Tunings engine
The same engine as Tunings
Custom tunings
Up to 12 strings · 36 frets
Versioned REST endpoints
THE MUSICAL BUILDING BLOCKS
From a tuning lookup to a custom fretboard,
start with the pieces you need.
Discover instrument presets and alternate tunings, or bring your own open-string pitches.
GET /v1/tuningsTurn a tuning into notes and positions. Add a root and scale to find exactly where they belong.
POST /v1/fretboardTranspose notes, explore chord positions, and build scale tools with deterministic results.
POST /v1/transposeAPI REFERENCE
Send a request. Get structured music data back. Use the OpenAPI specification for request schemas, response types, and examples.
Download OpenAPI 3.1https://api.tunings.io/v1https://api.tunings.io/mcpMCP exposes the same eleven music operations to compatible assistants. Configure the URL above and your Bearer key in your client’s private settings. REST and MCP share your account limits.
Every music endpoint requires a Bearer API key and paid developer access. Check the public health endpoint ↗
/healthCheck API health and version. No key required.
/instrumentsBrowse supported instrument definitions.
/instruments/{instrumentId}Get an instrument and its default tuning.
/tuningsFilter by instrument, string count, category, or search.
/tunings/{tuningId}Get open-string pitches, aliases, and intervals.
/fretboardGenerate notes and positions for a custom tuning.
/scalesBrowse supported scale types.
/scales/{scaleId}Build a scale with an optional root, such as ?root=E.
/scales/mapFind scale positions across your fretboard.
/chordsBrowse supported chord definitions.
/chords/voicingsEnumerate bounded mathematical chord positions.
/transposeShift notes or a tuning by a number of semitones.
CONNECT YOUR ASSISTANT
Eleven music tools. The same developer key.
Choose your client below.
Open Account → API keys, click Create API key, and give it a name. Active paid developer access is required.
Create API key →In Connect an MCP client, choose your client and copy its configuration before dismissing the new key. Paste it into your client’s private user settings, then restart the client. Your key is already included.
https://api.tunings.io/mcpIn macOS or Linux Bash/Zsh, paste your key at this hidden prompt. It stays out of shell history. Launch your client from this same terminal; repeat this step in a new shell.
printf 'Tunings API key: '
read -r -s TUNINGS_API_KEY
printf '\n'
export TUNINGS_API_KEYKeep the variable placeholders in the examples unchanged. Never paste your key into chat or commit it to a configuration file. Desktop apps must inherit the variable when they start; an already running app may need a full restart. In SSH, containers, or remote workspaces, set it where the MCP client runs.
Run this once to add Tunings to your user configuration. The single quotes preserve the environment placeholder.
claude mcp add-json --scope user tunings \
'{"type":"http","url":"https://api.tunings.io/mcp","headers":{"Authorization":"Bearer ${TUNINGS_API_KEY}"}}'
claude mcp listExpect Connected. Start claude in the same terminal and use /mcp to inspect Tunings and its tools. Claude Code documentation ↗
Run this once. Codex stores the environment variable name, leaving the key in your environment.
codex mcp add tunings \
--url https://api.tunings.io/mcp \
--bearer-token-env-var TUNINGS_API_KEY
codex mcp get tuningsOr merge this entry into ~/.codex/config.toml:
[mcp_servers.tunings]
url = "https://api.tunings.io/mcp"
bearer_token_env_var = "TUNINGS_API_KEY"Start codex in the same terminal and use /mcp to inspect Tunings. The get command checks configuration, not connectivity. Tunings uses your key, so no MCP OAuth login is needed. Codex documentation ↗
Merge this entry into ~/.cursor/mcp.json for all projects, or .cursor/mcp.json for one project. Preserve any existing servers.
{
"mcpServers": {
"tunings": {
"url": "https://api.tunings.io/mcp",
"headers": {
"Authorization": "Bearer ${env:TUNINGS_API_KEY}"
}
}
}
}Fully quit Cursor, then launch it from the terminal containing your key with cursor .. Enable Tunings in MCP settings and check the tools list. Remote connections use the inherited environment; Cursor’s envFile setting only applies to local stdio servers. Cursor documentation ↗
Run MCP: Open User Configuration from the Command Palette, or merge this into .vscode/mcp.json for one workspace. Preserve existing servers.
{
"servers": {
"tunings": {
"type": "http",
"url": "https://api.tunings.io/mcp",
"headers": {
"Authorization": "Bearer ${env:TUNINGS_API_KEY}"
}
}
}
}Fully quit VS Code and launch with code . from the terminal containing your key. Run MCP: List Servers, select Tunings, and start it. Review the trust prompt and enable its tools in chat. VS Code documentation ↗
Ask your assistant: “Use Tunings transpose_tuning to transpose D2 and A2 down two semitones.” Approve the tool call when prompted. Confirm the actual tool result contains C in octave 2 and G in octave 2. Also try get_tuning with {"tuningId":"drop-c"}.
${TUNINGS_API_KEY}; Cursor and VS Code use ${env:TUNINGS_API_KEY}.Retry-After. Connection, discovery, and tool requests share your REST quota.A FEW THINGS TO KNOW
Send your key in the Authorization header. Keep it on your server and out of browser bundles.
Authorization: Bearer tun_live_…Scientific pitch notation, explicit octaves, and deterministic calculations. Object responses use data; collections add pagination metadata.
Responses include rate and quota headers. A 429 response includes Retry-After, so your integration knows when to try again.
LET’S BUILD SOMETHING MUSICAL
Add the REST API and MCP tools to your Tunings membership for $19.99 USD/month plus applicable tax.
Upgrade to Pro250,000 requests per month and up to 10 requests per second. Contact support for higher-volume plans.
$19.99 USD/month plus applicable tax for the app, API, and MCP tools.
Open Developer in your account and create a key after your payment is confirmed.
Use your key with the REST API or copy the configuration for your MCP client.
Tunings Pro includes the app, REST API, and MCP tools for $19.99 USD/month plus applicable tax. The $9.99 Early Access plan covers the app. Existing subscribers can upgrade their current subscription in their Developer account page.
Use your own backend to keep your secret API key private. Browser origins must also be explicitly allowed; CORS does not protect a key embedded in frontend code.
REST and MCP use the same paid developer access. MCP requires a remote client that supports an Authorization header; OAuth sign-in and stdio connections are not supported yet. Dedicated SDKs and translation endpoints are also not available yet.
Chord voicings return bounded mathematical positions. They are not ranked by fingering difficulty or musical suitability; inspect the returned limits and truncation information.
The reference library is free to browse. Programmatic catalog access requires a developer key and paid developer access, just like custom calculations.