diggercamp
Server Details
Find independent music by how it sounds: similar tracks and playlists from a track link.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- tommasosavorana/diggercamp-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 6 of 6 tools scored. Lowest: 3.1/5.
Most tools have distinct purposes: deep_match for technical DJ matching, find_similar for general sonic similarity, generate_playlist for creating full sets, inspire_me for personalized discovery, playlist_match for multi-track centroid matching, and surprise_me for broad discovery. However, inspire_me and surprise_me both relate to discovery with overlap in scope, causing minor ambiguity.
Tool names use a mix of verbs and descriptive phrases (deep_match, find_similar, generate_playlist, inspire_me, playlist_match, surprise_me). The pattern is not fully consistent; some use verb_noun (generate_playlist) while others use verb_adjective (find_similar) or are more abstract (inspire_me). Not chaotic but lacks a uniform structure.
6 tools is well-scoped for a music discovery server. Each tool covers a specific function without redundancy, covering technical matching, similarity search, playlist generation, personalized discovery, group matching, and broad exploration. The number feels balanced and appropriate.
The tools cover core music discovery workflows: single-track matching, multi-track centroid matching, playlist generation with energy flow, and personalized/random discovery. Minor gaps include lack of explicit CRUD for user playlists beyond generation and no tools for browsing or managing user history directly.
Available Tools
6 toolsdeep_matchARead-onlyInspect
Deep Match: technical match by rhythm, timbre and key — great for building DJ sets. Requires a Pro or Studio plan.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and destructiveHint as false. The description adds value by specifying the matching criteria (rhythm, timbre, key) and the plan requirement, which are behavioral constraints not captured in annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The purpose is front-loaded, and the plan requirement is clearly stated. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and annotations, the description omits critical information about the single required input parameter ('url'). This is a significant gap that makes the tool description incomplete, as the agent cannot determine what to provide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no description for the 'url' parameter in the schema). The description does not explain what the 'url' parameter should contain (e.g., track URL, playlist URL). With 0% coverage, the description must compensate, but it fails to provide any parameter guidance, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'technical match by rhythm, timbre and key' and specifies its use case 'great for building DJ sets.' This distinguishes it from siblings like 'find_similar' which may be more general, and 'playlist_match' which likely focuses on playlist-level matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'great for building DJ sets' and the plan requirement 'Requires a Pro or Studio plan.' However, it does not explicitly contrast with siblings or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similarARead-onlyInspect
Find sonically similar tracks to a song (closest by sound). Paste a Bandcamp, YouTube or SoundCloud link.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint: true and destructiveHint: false, so the tool is safe and non-destructive. The description adds value by specifying input format (paste a link), platforms accepted, and that similarity is based on sound, not metadata. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that front-loads the core purpose ('Find sonically similar tracks'), then adds the crucial input guidance. Every word is necessary and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (likely describing the similar tracks returned), the description does not need to explain what the tool returns. The single parameter is fully explained, annotations cover safety, and the purpose is crystal clear. The complexity is low, so the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter (url) with 0% coverage (no description in schema). The tool description compensates by explaining that the URL must be a Bandcamp, YouTube, or SoundCloud link, giving the parameter meaning beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool finds sonically similar tracks to a given song using a link. It specifies the supported platforms (Bandcamp, YouTube, SoundCloud), which distinguishes it from sibling tools like deep_match or generate_playlist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the user to paste a link, which implies when to use it: when you have a specific song URL and want similar tracks. It does not explicitly mention when not to use it or compare with alternatives like deep_match, but the supported URL types give clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_playlistAInspect
Generate and SAVE a playlist to the user's diggercamp account. It starts from a seed track and develops the set from there (energy and genre flow), optionally ending on a chosen track. Requires the user to be signed in to diggercamp. - url: seed track link (Bandcamp / YouTube / SoundCloud) — the playlist starts here. - n: number of tracks, 5 to 30 (default 15). - end_url: optional link of the track to END on. - vibe: optional one of warm_up, afterhours, yoga, focus, sunset (shapes the energy curve).
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| url | Yes | ||
| vibe | No | ||
| end_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only (readOnlyHint=false) and non-destructive (destructiveHint=false), and the description adds that the tool saves to the user's account and requires sign-in. It also explains the energy flow and vibe shaping. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three sentences plus a bulleted list. Each bullet covers one parameter. No redundant information. The main action is front-loaded, and the structure is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool’s complexity (generation, saving, multiple parameters, vibe), the description covers prerequisites, parameter meanings, and core behavior. Output schema exists to document return values, so omission is acceptable. However, it could mention error handling (e.g., invalid URL) for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full burden. It explains url as a seed track link with specific platforms, n with range 5-30 and default, end_url as optional ending track, and vibe with allowed values and effect on energy curve. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Generate and SAVE a playlist' from a seed track with energy and genre flow. It distinguishes itself from sibling tools like find_similar or inspire_me by emphasizing full playlist generation and saving to an account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the prerequisite of being signed in but does not explicitly guide when to use this tool versus alternatives. Sibling tools like deep_match or surprise_me are not referenced, leaving the agent to infer usage context from the action of saving.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspire_meARead-onlyInspect
Discovery: pick a starting track and show similar tracks. For signed-in users with search history the pick is personalised on their recent digs; spread controls how far to roam: familiar (right next to their digs), fresh (close relatives, default), adventurous (two hops out, same lineage but unexpected), random (the whole crate).
| Name | Required | Description | Default |
|---|---|---|---|
| spread | No | fresh |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: personalization based on search history, spread parameter semantics, and the concept of a 'starting track.' However, it fails to disclose how the starting track is determined (e.g., from current playback, user context, or an implicit source), which is critical given that the input schema lacks a track parameter. This gap reduces transparency despite the helpful spread details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (three sentences), front-loaded with the core purpose ('Discovery: pick a starting track...'), and efficiently covers personalization and spread options without unnecessary words. Every sentence adds value, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one optional parameter and an output schema (covering return values), the description adequately explains the spread parameter and personalization. However, it omits how the starting track is provided (critical for invocation) and what happens for non-signed-in users. These gaps prevent it from being fully self-contained, even with annotations present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must fully document the only parameter ('spread'). It does so excellently, explaining each enum value with vivid, intuitive analogies ('familiar', 'fresh', 'adventurous', 'random') and noting the default. This goes well beyond the enum names, providing clear, actionable semantics for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'pick a starting track and show similar tracks.' This is a specific verb-resource pairing. However, it does not explicitly differentiate from sibling tools like 'find_similar' or 'surprise_me', which could overlap in functionality. The personalization and spread details add context, but sibling differentiation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by detailing personalization for signed-in users and the meaning of each spread value. It offers implicit guidance on when each spread setting is appropriate (e.g., 'familiar' vs 'random'). However, there is no explicit comparison to siblings or advice on when to use this tool versus alternatives, leaving the agent to infer usage from the behavior description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playlist_matchARead-onlyInspect
Find tracks that fit a SET of 2-8 tracks together (their combined sound / centroid), not similarity to a single seed. Pass 2-8 Bandcamp/YouTube/SoundCloud links.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context: it explains the underlying logic (combined sound/centroid instead of single-seed similarity) and specifies input requirements (2-8 links from specific platforms). This enriches the agent's understanding beyond the safety profile provided by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences, ~40 words) with zero filler. The key functional distinction (set-based vs single-seed) is front-loaded in the first sentence, and the concrete input guide follows immediately. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (set similarity), 1 required parameter with 0% schema coverage, and presence of an output schema, the description covers the core semantics and constraints thoroughly. It does not explain return value format, but that is acceptable because an output schema exists. The only minor gap is no mention of error handling (e.g., invalid links).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no description in schema), so the description must fully compensate. It does so excellently by explaining that the 'urls' parameter must contain 2-8 Bandcamp/YouTube/SoundCloud links, adding constraints like min/max count and supported platforms. This adds critical meaning absent from the bare schema, making the parameter actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool finds tracks fitting a combined set (centroid) of 2-8 tracks, not similarity to a single seed. It names specific supported platforms (Bandcamp, YouTube, SoundCloud) and uses specific verb 'Find' with clear resource ('tracks') and scope ('SET of 2-8 tracks'). This strongly differentiates from siblings like 'find_similar' (single seed) and 'deep_match'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'Find tracks that fit a SET of 2-8 tracks together... not similarity to a single seed' and specifies the exact format needed ('Pass 2-8 Bandcamp/YouTube/SoundCloud links'). It implies not to use with a single track or with unsupported platforms, but does not explicitly name sibling alternatives nor state when-not-to-use in negative terms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
surprise_meBRead-onlyInspect
Surprise: sonically related tracks with wider variety / less obvious picks. Requires a Pro or Studio plan.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful context beyond annotations: it specifies the output type (sonically related tracks) and the bias toward variety and less obvious picks. The plan requirement is noted. Annotations (readOnlyHint, openWorldHint, destructiveHint) are consistent and not contradicted. It could further describe randomness or deterministic behavior, but overall good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences: the first clearly states the tool's function, and the second communicates a critical usage requirement. Every sentence is valuable and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks parameter documentation and usage guidance. For a single-parameter tool, the omission of 'url' semantics makes it incomplete. The complexity is low, so the description should fully cover inputs and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. However, it does not describe what the 'url' parameter means (e.g., track or playlist URL). Without any clarification, an AI agent cannot infer how to populate this required field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'surprise: sonically related tracks with wider variety / less obvious picks,' which clearly indicates the tool's purpose of providing related but less obvious track recommendations. It distinguishes from sibling tools like 'find_similar' or 'deep_match' by emphasizing variety and unexpectedness, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Requires a Pro or Studio plan,' which is a prerequisite, but provides no guidance on when to use this tool versus its siblings (e.g., when you want obvious picks instead). There is no explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenanceCross-platform music link resolution for AI agents. Resolve any song or album across Spotify, Apple Music, Amazon, YouTube, and more. Returns affiliate-ready links with click tracking4683MIT
- AlicenseNot gradedqualityAmaintenanceAnalyze listening patterns, create custom playlists, discover missing albums, validate radio streams, and provide personalized recommendations through natural language.7983AGPL 3.0
- AlicenseAqualityDmaintenanceEnables creating and managing Spotify playlists using natural language with advanced similarity matching across 8 different algorithms. Supports finding similar tracks based on audio features, mood, energy, genre, and custom weighted parameters to build personalized playlists automatically.91MIT
- AlicenseNot gradedqualityAmaintenanceEnables finding the best-sounding pressing of an album and mood- and taste-based music recommendations via Discogs.1MIT