Skip to main content
Glama
adigold

TrackTag MCP Server

by adigold

TrackTag MCP Server

Let AI agents (Claude Desktop, Claude Code, Cursor, and any MCP-capable client) analyze music with TrackTag: drop an MP3 into your agent, say "analyze this track", and get BPM, key, genres, moods, instruments, energy and 35+ metadata fields back.

Runs entirely on your own computer — your agent app starts it, talks to it directly (no middleman server, so your audio and API key never leave your machine on the way to TrackTag), and stops it when you quit. Analyses are billed from your TrackTag credit balance (1 credit per track with the core model, 2 with ultra); failed analyses are refunded automatically.

Setup

First, get an API key: tracktag.me/studioAPI & MCP → Create key (tt_live_…). Free test keys available.

Download tracktag.mcpbdouble-click it → Claude Desktop opens an install window → paste your API key → done. No config files, no Node.js, nothing to edit. (One Claude quirk: after installing, flip the extension ON in Settings → Extensions.)

Manual config (Cursor, Claude Code, other MCP clients)

Add the server to your agent's MCP config:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "tracktag": {
      "command": "npx",
      "args": ["-y", "tracktag-mcp"],
      "env": { "TRACKTAG_API_KEY": "tt_live_YOUR_KEY" }
    }
  }
}

Claude Code:

claude mcp add tracktag -e TRACKTAG_API_KEY=tt_live_YOUR_KEY -- npx -y tracktag-mcp

Cursor (~/.cursor/mcp.json): same JSON block as Claude Desktop.

Related MCP server: Audio Analysis MCP Server

Tools

Tool

What it does

Cost

analyze_track

Analyze a local audio file (mp3/wav/flac/aiff/m4a/ogg, ≤15 MB)

1–2 credits

analyze_url

Analyze audio from any https URL (≤60 MB)

1–2 credits

get_credits

Remaining credit balance and limits

free

list_recent_jobs

Recent API analyses

free

Docs

Full API reference: tracktag.me/developers

Can I analyze multiple tracks? (batching)

Yes — small batches work right in the chat. Drop several audio files into your assistant (or name a folder's worth of tracks) and say "analyze all of these with TrackTag" — the agent calls the analysis tool once per track and summarizes the results together. Each track bills its own credit, and the default rate limit (10 requests/minute) makes this comfortable for a handful of tracks at a time.

For real catalog work, use the tools built for it: TrackTag Studio runs 100-file batches with folders, progress tracking and XLSX/CSV/XML exports, and the TrackTag API handles high-volume pipelines with async jobs and webhooks. Same engine, same credits — pick the surface that fits the job: MCP for conversation, Studio for catalogs, API for automation.

"Can't I just drag the MP3 into ChatGPT or Claude and ask?"

Not if you want real, reliable metadata — and here's the honest breakdown.

Claude cannot hear audio, and ChatGPT doesn't musically analyze it. Drop an MP3 into a Claude chat and it sees the file's name and metadata — it never processes the actual sound. ChatGPT will at best transcribe any speech in the file; it won't tell you the key, the groove or the instrumentation from the waveform. Whatever "analysis" comes back is largely an educated guess from the title. This MCP server is what gives your assistant real ears.

Some models can accept audio — but a raw model is not an analysis product. TrackTag runs every track through a purpose-built pipeline: audio preprocessing, signal-level analysis of the actual waveform (tempo, tonality, timbre, instrumentation, vocal characteristics, dynamics), an extraction process tuned specifically for music metadata, and validation of every result against a strict 35+ field taxonomy with controlled vocabulary. A one-off chat prompt gives you different fields, different wording and different judgments every single run — fine for curiosity, useless for a catalog.

Consistency is the product. Sync libraries, marketplaces and labels need the same schema, the same vocabulary and the same standards across 10 or 10,000 tracks — plus batch handling and automatic refunds when an analysis fails. That's engineering around the model, not the model itself, and it's what you're getting here.

Your AI assistant does what it's great at — conversation and workflow. TrackTag does what it's built for — turning sound into professional, uniform metadata.

About the creator

TrackTag is built by Adi Goldstein — a composer and music producer based in Tel Aviv who has spent years on both sides of the problem: writing and licensing music, and wrestling with the metadata that makes it findable. TrackTag exists because tagging a catalog by hand is the least musical part of making music.

It's part of a family of tools Adi builds for musicians and creators:

Project

What it does

TrackTag

AI music tagging — BPM, key, genres, moods and 35+ metadata fields per track, for catalogs, sync libraries and now AI assistants

AGsoundtrax

Curated royalty-free music library for filmmakers, video creators and commercial producers

PromoLinks

Smart links and artist pages for musicians — one URL that routes fans to their preferred streaming platform, with pre-saves and analytics

MakeCanvas

AI-generated Spotify Canvas videos — looping visuals for your tracks, no video editing needed

AG Watermark

Audio watermarking to protect tracks and demos before they're licensed

Questions, ideas, or building something with the TrackTag API? Reach out via tracktag.me/support.

Available Tools

5 tools
analyze_trackA

Analyze a LOCAL audio file (mp3/wav/flac/aiff/m4a/ogg, up to 15 MB) with TrackTag AI. Returns BPM, key, genres, moods, instruments, energy and 35+ metadata fields. Costs 1 TrackTag credit (model 'core') or 2 ('ultra') from the user's balance; failed analyses are auto-refunded. Needs the file's real path on this machine — if you only know the track's name (e.g. the user dragged a file into chat), call find_audio_files first. For files over 15 MB or already-hosted audio, use analyze_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNocore = 1 credit, ultra = 2 credits (deeper analysis)core
file_pathYesAbsolute path to the audio file on this machine
track_nameNoDisplay name; defaults to the file name

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description compensates by disclosing credit costs (1 or 2), auto-refund on failure, and file size constraints. It stops short of describing the response format or whether it creates job records, but the disclosed behavior is sufficient for basic agentic decisions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: first states action and output, second covers cost/failure, third gives usage routing. No repetitive or extraneous information; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of output schema and annotations, the description fully covers the tool's purpose, constraints, costs, and relationships to sibling tools. It even addresses the common ambiguity of whether the agent has a file path vs. a name, making it complete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds crucial context for file_path (needs real path, not a name) and reiterates the cost difference for model, even though the schema also says this. This extra guidance improves parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Analyze') and resource ('LOCAL audio file'), lists supported formats and size limit, and states concrete outputs (BPM, key, genres, etc.). It clearly distinguishes from the sibling analyze_url by explicitly noting it is for local files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use and when-not-to-use context: 'if you only know the track's name... call find_audio_files first' and 'For files over 15 MB or already-hosted audio, use analyze_url.' This directly guides tool selection against siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_urlA

Analyze audio from a URL (any public or signed https link, up to 60 MB) with TrackTag AI. Same output and credit cost as analyze_track.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNocore
audio_urlYesDirect link to the audio file
track_nameNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It does transparently mention input requirements (public/signed https, up to 60 MB) and cost/output parity with analyze_track. Yet it omits failure modes, authentication needs, or what the returned analysis looks like, leaving notable gaps for autonomous use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact sentences with no redundant fluff. The key constraint (URL type, size) is front-loaded, and the 'Same output and credit cost as analyze_track' clause efficiently conveys expected behavior without repeating schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple, but with no output schema and no annotations, the description must explain what the agent should expect. It gives input constraints and cost/output parity, but not the result structure or error behavior. This is adequate for basic selection but incomplete for nuanced autonomous invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, and the description only adds meaningful context to audio_url (format, size, signed-links). The model parameter's enum values (core/ultra) are left unexplained, and track_name has no description or semantic hint. The description does not compensate for the low coverage of the other two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: analyzing audio from a URL. It specifies the input type (public or signed https link), size limit, and distinguishes itself from the sibling analyze_track by referencing it for output/cost comparison. This is a specific verb+resource with clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when an agent has an audio URL to analyze, and it notes format and size constraints. However, it does not explicitly state when to prefer this over analyze_track or when not to use it. The reference to analyze_track is indirect and leaves usage decision-making partially open.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_audio_filesA

Find audio files on this machine by (partial) name — searches Downloads, Desktop, Music and Documents. Use this to resolve a file path when the user mentions a track by name (e.g. after dragging a file into chat, which does not reveal its local path). Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesPart of the file name, case-insensitive (e.g. 'sunset drive')

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the search directories and partial-name matching, but does not describe the return format (e.g., list of paths), behavior with zero results, or any potential side effects. The mention of 'Free' adds minimal value. Some behavioral context is present, but significant gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and contains no redundant information. Every sentence contributes to understanding the tool's function and use case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool, the description provides purpose, scope, search directories, and a concrete use case. It does not explicitly describe the return value, but the phrase 'resolve a file path' implies the output. Given the low complexity and no output schema, this is nearly complete, though a note about multiple matches or no results would elevate it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the single parameter 'query' with a clear example. The description reinforces that it is a partial name but does not add additional semantic value beyond the schema. With 100% schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds audio files on the machine by partial name, searches specific directories, and is distinct from sibling tools like analyze_track or list_recent_jobs. The verb 'Find' and resource 'audio files' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear when-to-use scenario: resolving a file path when a user mentions a track by name, such as after dragging a file into chat. It lacks explicit exclusions or comparisons to alternatives, but the context is sufficient for basic selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_creditsA

Get the user's remaining TrackTag credit balance and API limits. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the useful behavioral trait that the operation is 'Free' (does not consume credits) and implies a read-only balance check. However, with no annotations provided, the description carries the full burden for behavioral disclosure, and it does not mention response format, error conditions, or authentication requirements. This is acceptable for a simple getter but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences: the first states the purpose, the second adds key gratuitous information ('Free'). There is no fluff, and it is front-loaded with the verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is complete enough. It specifies what is returned ('remaining credit balance and API limits') and adds the 'Free' context. Sibling tools are clearly different, so there is no confusion about the tool's role. No further context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema is empty and schema coverage is 100%. Per the rubric, a baseline of 4 applies when there are no parameters. The description does not need to explain parameter semantics and does not add anything beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource: the user's remaining TrackTag credit balance and API limits. It also adds 'Free' to signal that this operation does not consume credits, which distinguishes it from sibling tools like analyze_track or analyze_url that presumably consume credits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions. The 'Free' note implies it could be used to check limits before other operations, but this is not stated explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_jobsA

List the user's recent TrackTag API analyses (id, status, track, credits). Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It adds useful behavioral context: 'Free' (no cost), 'recent' (implies time-ordered), and 'the user's' (scoped to the authenticated user). While it doesn't discuss authentication requirements or pagination details, it gives more than a bare-bones listing and mentions return fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the action and resource, then lists the key return fields and cost. No wasted words; every token earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description provides a solid overview: what it lists, the fields returned, and that it's free. It doesn't mention ordering or pagination, but the 'recent' qualifier and the limit parameter in the schema partially cover that. Missing authentication/runtime details are less critical for such a straightforward read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (limit) with no description, and schema description coverage is 0%. The tool description does not mention the limit parameter at all, so the agent must infer its meaning from the parameter name. This is a significant gap, even though the parameter is simple and optional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb ('List') and a clear resource ('the user's recent TrackTag API analyses'), and it enumerates the returned fields (id, status, track, credits). This clearly distinguishes it from siblings like analyze_track (creates analyses) and get_credits (just shows credit balance).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: when you need to see past analyses, use this tool. However, it doesn't explicitly state when to use it versus alternatives, nor does it give exclusions or edge cases. The sibling list provides some context, but the description itself offers no direct comparison or 'use this when' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.2.0
    • First observedanalyze_track
    • First observedanalyze_url
    • First observedfind_audio_files
    • First observedget_credits
    • First observedlist_recent_jobs

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: local file search, local file analysis, URL analysis, credit check, and job history. The two analysis tools are differentiated by input type (local path vs URL), avoiding ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase snake_case: find_audio_files, analyze_track, analyze_url, get_credits, list_recent_jobs. No mixing of styles or vague verbs.

Tool Count5/5

Five tools is well-scoped for the server's purpose: it covers file discovery, two analysis entry points, credit monitoring, and job history without unnecessary redundancy.

Completeness4/5

The core workflows (find, analyze, check credits, list history) are covered. A minor gap is the lack of a way to retrieve full past analysis results beyond the summary in list_recent_jobs, but this is workable.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to analyze audio files, extracting tempo, key, beat drops, volume surges, high tones, loudness, brightness, and structure, and returning structured JSON and visualizations.
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adigold/tracktag-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server