Cajon.pro
Server Details
Drum schools map (Russia, Kazakhstan, Armenia, Belarus), song tempo and drum parts, cajons.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool maps to a distinct resource: shop catalog, drum-school map, song library, and free browser tools. The only overlap is that free_drum_tools mentions 'song drum parts' and 'cajon rhythms', which could be confused with find_songs, but the descriptions otherwise steer the agent clearly.
Names mix conventions: noun-first 'cajon_catalog', verb-first 'find_drum_schools' and 'find_songs', and adjective-first 'free_drum_tools'. All are snake_case and readable, but there is no single predictable verb_noun pattern.
Four tools cover the four apparent pillars of the site (shop, map, songs, tools), so each earns its place. It is on the thin side — a small surface for a multi-section site — but nothing feels redundant.
The browse/discovery surface for the domain is well covered: products, places, songs, and utilities all have entry points. Minor gaps exist — no dedicated detail lookup by ID (e.g. fetch one song or one school) and cajon_catalog appears to be a bulk fetch with no search/filter parameters.
Available Tools
4 toolscajon_catalogHandmade cajons for saleBRead-onlyIdempotentInspect
Cajons and cajon accessories made by the Cajon.pro workshop in Russia: prices in rubles, availability, specifications, delivery and payment options, and the page to buy each one.
| Name | Required | Description | Default |
|---|---|---|---|
| max_price | No | Only products up to this price, rubles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the source is a single Russian workshop, prices are in rubles, and results include availability and buy-page links. It does not say whether the full catalog is returned at once, how many items to expect, or whether prices are current — gaps that matter for a price-quoting tool.
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?
A single sentence, front-loaded with the resource identity, then a compact list of what is included. Every item listed earns its place by telling the agent what data is retrievable. The dense comma list at the end is slightly harder to parse than a short bulleted phrasing would be.
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?
With no output schema, the description does its most important job by enumerating the return fields (price, availability, specs, delivery/payment, purchase URL). However, for a catalog tool it says nothing about result volume or pagination, leaving the agent unsure whether one call returns everything.
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 100% for the single optional max_price parameter, whose purpose is fully documented in the schema. The description does not mention filtering at all, though 'prices in rubles' at least confirms the currency unit the threshold operates in. Baseline 3 is appropriate when the schema carries the semantics.
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 names a specific resource — cajons and accessories from the Cajon.pro workshop — and enumerates the data it carries (prices in rubles, availability, specifications, delivery/payment, buy-page links). That is enough to separate it from the siblings (find_drum_schools, find_songs, free_drum_tools), which are unrelated resource types. It loses a point only because the action is implied by a noun phrase rather than stated as a verb like 'list' or 'browse'.
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?
There is no explicit statement of when to reach for this tool, no preconditions, and no alternative named. The usage is inferable from the content list (browse products when you want pricing or purchase pages), but the agent must infer it entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_drum_schoolsFind drum schools and teachersARead-onlyIdempotentInspect
Find drum schools, drum and percussion teachers, cajon classes, drum studios, drum circles and drum shops on «Ударная карта» (the Drum Map of cajon.pro): a free, curated map of places in Russia, Kazakhstan, Armenia, Belarus and other countries. Search by city, by coordinates with a radius, or by part of the name or address; filter by instrument and kind of place. Returns name, address, phone, website and a link to the place page — give the user that link.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude of the point to search around (use with lon). | |
| lon | No | Longitude of the point to search around (use with lat). | |
| city | No | City, preferably as written locally: «Москва», «Санкт-Петербург», «Алматы», «Ереван», «Минск». English names like Moscow also work. | |
| kind | No | Only this kind of place. | |
| limit | No | How many results to return. | |
| query | No | Words from the name, address or description, e.g. «джембе» or a street name. | |
| radius_km | No | Search radius around lat/lon, km. | |
| instrument | No | Only places that teach or play this: cajon, kit (drum kit), djembe, congas (congas and bongos), darbuka, percussion (other percussion). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive, non-open-world profile, and the description adds genuinely new context: it is a free curated map, and it enumerates the returned fields (name, address, phone, website, page link). The instruction to pass the link to the user is a behavioral directive the annotations cannot convey.
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?
Purpose and scope are front-loaded in the opening clause and the coverage countries follow immediately; the return fields and link instruction close it usefully. The middle sentence is a long run-on stacking search modes, but no sentence is redundant.
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?
With 8 optional params and no output schema, the description carries the return-value explanation itself and does so concretely. It omits result-volume expectations and no-match behavior, which would matter for an agent deciding between a broad and narrow query.
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 100%, so lat/lon, city, kind, limit, query, radius_km and instrument are all already documented, including enum meanings. The description only restates the three search modes and the instrument/kind filters, adding no format or precedence rules beyond the schema — baseline 3 applies.
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?
States a specific verb ('Find') and enumerates the exact resources: drum schools, teachers, cajon classes, studios, circles and shops, on a named service. It also fixes the geographic scope (Russia, Kazakhstan, Armenia, Belarus and other countries), which no sibling tool (cajon_catalog, find_songs, free_drum_tools) covers.
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?
Gives explicit entry modes — by city, by coordinates with a radius, or by part of name/address — plus filtering by instrument and kind, which tells the agent how to construct a call. It lacks any exclusion or fallback guidance (e.g. what to do when a city returns nothing), and never names siblings as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_songsFind song tempo and drum partsARead-onlyIdempotentInspect
Search the cajon.pro library of Russian and international songs: tempo (BPM), time signature and, for many songs, a drum part — drum sheet music with playback, slow-down and section loop, free online. Search by artist and/or title in any script (Cyrillic or Latin), or list songs at a given tempo. Returns links to the drum part page.
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | No | Tempo to look for, beats per minute. | |
| limit | No | How many results to return. | |
| query | No | Artist and/or song title, e.g. «Кино Группа крови» or «Nirvana». | |
| bpm_range | No | Allowed difference from bpm. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond that: coverage is partial ("for many songs, a drum part"), and the response is links to drum part pages rather than song records. It still says nothing about result ordering, pagination or what happens when no match is found.
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 core capability and both search modes are front-loaded in the first two sentences. The playback/slow-down/section-loop clause and "free online" are mildly promotional rather than operational, but they are compact and still convey what the linked page offers.
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?
With four optional parameters, no output schema and a closed-world annotation, the description carries the right load: it explains what is returned (links to drum part pages) and the partial drum-part coverage. The only gap is that limit/pagination behavior is left entirely implicit.
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 100%, so the baseline is 3, but the description does add meaning: "in any script (Cyrillic or Latin)" tells the agent transliteration is unnecessary, and "list songs at a given tempo" reveals that bpm works standalone since every parameter is optional. It leaves bpm_range and limit entirely to 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 names a specific verb and resource — search a library of Russian and international songs — and enumerates what is retrieved (BPM, time signature, drum part links). Its scope is unmistakable next to cajon_catalog, find_drum_schools and free_drum_tools, though it never explicitly routes the agent away from those siblings.
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?
It states the two supported modes clearly: search by artist and/or title, or list songs at a given tempo. That is real when-to-use context, but there are no exclusions, no note on when tempo-only listing is preferable to a text query, and no mention of how to combine query with bpm.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_drum_toolsFree online tools for drummersBRead-onlyIdempotentInspect
Free browser tools on cajon.pro for drummers and cajon players: virtual cajon, metronome, drum machine, tap-tempo BPM finder, song drum parts, and a library of cajon rhythms (pop, funk, latin, flamenco, reggae, blues, odd meters) with animated strokes. No sign-up.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context — the tools are browser-based on cajon.pro and require no sign-up — but says nothing about what is actually returned (a list of tool names, links, or descriptions) or whether it is static content.
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?
A single sentence with the resource and site front-loaded, followed by a compact enumeration of tools and rhythm styles. Every clause carries information, though the list of rhythm genres is slightly longer than strictly needed.
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?
For a zero-parameter listing tool with no output schema, the description conveys both the source (cajon.pro) and the full catalog of what the agent will find, which is the important missing piece when no output schema exists. The only gap is not stating the return shape explicitly.
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 tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. The description correctly avoids inventing parameter behavior.
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 names the resource precisely and enumerates its contents (virtual cajon, metronome, drum machine, tap-tempo BPM finder, song drum parts, rhythm library), so an agent knows what it surfaces. It lacks an explicit verb describing the operation (e.g., 'returns a list of'), but the scope is unambiguous.
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?
There is no when-to-use or when-not-to-use guidance, and no mention of the siblings cajon_catalog, find_drum_schools, or find_songs, even though 'song drum parts' partially overlaps with find_songs. Usage is only inferable from the phrase 'for drummers and cajon players' and 'No sign-up'.
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.
4 tool updates
- First observed
cajon_catalog - First observed
find_drum_schools - First observed
find_songs - First observed
free_drum_tools
Related MCP Connectors
Search 18,594 production-music cues by mood, sound and exact runtime. Instant preview links.
Song in, video plan out: beat grid, best moments, timed lyrics, story and a beat-synced shot plan.
Free licensed loops and authorized audio analysis: BPM, key, waveform. Estimate before paid use.
Original instrumental songs from words, each with five stems. Royalty-free, for games and videos.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAnalyzes timing and tempo accuracy of percussion practice recordings via onset detection, reporting per-gap deviations and consistency stats to MCP clients.MIT
- AlicenseAqualityCmaintenanceAutonomous music intelligence & A&R qualification engine. Extracts acoustic metadata (BPM, key, mood), scores real-time Spotify streaming traction, and detects AI-generated audio (Suno/Udio).579 npmMIT
- AlicenseAqualityNot gradedmaintenanceLocal music video toolkit: BPM, key and Camelot detection, best 15/30 s clip, beat-synced shot lists, Spotify Canvas maker and platform specs. Runs on your machine with ffmpeg, no API key.5MIT
- AlicenseBqualityBmaintenanceCompose, arrange, mix and master in the REAPER DAW: music theory with 264 genres, mixing and mastering with your own plugins checked by measurement, robot vocals, game music and sound-effect export, and a chat panel docked inside REAPER.125MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.