Skip to main content
Glama

Search Audio

search_audio
Read-onlyIdempotent

"Find royalty-free / Creative Commons / public-domain audio for [X]" / "free music / sound effects of [Y]" / "CC-licensed audio" — search Creative-Commons-licensed audio (music, sound effects, podcast clips) via Openverse. Filter by license, source. Use for video/podcast/game soundtracks that need legal reuse.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes
sourceNo
licenseNo
page_sizeNo
license_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoCurrent page number
resultsNoArray of audio results
page_sizeNoResults per page
page_countNoTotal number of pages
result_countNoTotal number of results available

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "ambient music"
      +  },
      +  {
      +    "license": "by",
      +    "license_type": "commercial",
      +    "page": 1,
      +    "query": "bird sounds"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "page": {
      +      "description": "Current page number",
      +      "type": "integer"
      +    },
      +    "page_count": {
      +      "description": "Total number of pages",
      +      "type": "integer"
      +    },
      +    "page_size": {
      +      "description": "Results per page",
      +      "type": "integer"
      +    },
      +    "result_count": {
      +      "description": "Total number of results available",
      +      "type": "integer"
      +    },
      +    "results": {
      +      "description": "Array of audio results",
      +      "items": {
      +        "properties": {
      +          "bit_rate": {
      +            "description": "Bit rate in kbps",
      +            "type": "integer"
      +          },
      +          "category": {
      +            "description": "Audio category",
      +            "type": "string"
      +          },
      +          "creator": {
      +            "description": "Audio creator name",
      +            "type": "string"
      +          },
      +          "creator_url": {
      +            "description": "Creator profile URL",
      +            "type": "string"
      +          },
      +          "download_url": {
      +            "description": "Download URL",
      +            "type": "string"
      +          },
      +          "duration": {
      +            "description": "Duration in milliseconds",
      +            "type": "integer"
      +          },
      +          "filesize": {
      +            "description": "File size in bytes",
      +            "type": "integer"
      +          },
      +          "filetype": {
      +            "description": "File format",
      +            "type": "string"
      +          },
      +          "foreign_landing_url": {
      +            "description": "Original source URL",
      +            "type": "string"
      +          },
      +          "id": {
      +            "description": "Audio unique identifier",
      +            "type": "string"
      +          },
      +          "license": {
      +            "description": "License type",
      +            "type": "string"
      +          },
      +          "license_url": {
      +            "description": "License details URL",
      +            "type": "string"
      +          },
      +          "license_version": {
      +            "description": "License version",
      +            "type": "string"
      +          },
      +          "provider": {
      +            "description": "Source provider",
      +            "type": "string"
      +          },
      +          "sample_rate": {
      +            "description": "Sample rate in Hz",
      +            "type": "integer"
      +          },
      +          "source": {
      +            "description": "Source identifier",
      +            "type": "string"
      +          },
      +          "tags": {
      +            "description": "Associated tags",
      +            "items": {
      +              "properties": {
      +                "accuracy": {
      +                  "description": "Tag accuracy score",
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "description": "Tag name",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "title": {
      +            "description": "Audio title",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "Audio URL",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds context about Openverse sourcing and filter capabilities (license, source) but does not disclose pagination behavior, rate limits, or result size limits (page_size parameter).

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?

Two sentences efficiently convey purpose, filters, and use cases. The first sentence immediately states the core function with example prompts, and the second adds filter and usage context. No redundant information.

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?

Given 6 parameters with no schema descriptions, the description covers the main purpose and filter capabilities. However, it omits details on pagination (page_size) and exact license values, which would be helpful for full parameter understanding. An output schema exists which likely documents return structure, reducing the need for that in the description.

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?

With 0% schema description coverage, the description partially compensates by mentioning filter criteria (license, source) and including examples with page, license, and license_type. However, it does not explain page_size, valid license values, or license_type options in detail, leaving ambiguity.

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 searches Creative-Commons-licensed audio via Openverse, specifying music, sound effects, and podcast clips. It distinguishes from sibling tools like 'get_audio' (retrieval) and 'audio_related' (related content) by its search-and-filter function.

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 provides example prompts ('Find royalty-free...') and explicit use cases ('Use for video/podcast/game soundtracks'). It implies when to use (for legally reusable audio) but does not explicitly mention when not to use or contrast with alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation2/5

Several tools occupy the same functional space: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, and validate_claim all answer factual questions from Pipeworx data, and ask_pipeworx_beta is explicitly identical to ask_pipeworx right now. The prediction-market tools also heavily overlap in purpose, as do ai_visibility_check and scan_competitor_ai_presence. Only the Openverse media tools and memory/subscription tools are cleanly distinguishable.

Naming Consistency3/5

All names are lowercase snake_case, but the naming conventions are mixed: verb_noun tools like search_images and resolve_entity coexist with bare verbs like remember, recall, forget, and subscribe, plus noun compounds like entity_profile, polymarket_edges, and bet_research. Subfamilies such as polymarket_* and the audio/image tools are internally consistent, but there is no single predictable pattern across the full set.

Tool Count2/5

37 tools exceeds the 25+ threshold and feels inflated for the surface, especially since several could be consolidated: there are three ask_pipeworx variants and five overlapping prediction-market tools. The Openverse-specific core is only 6 tools, with 31 mostly unrelated Pipeworx and utility tools attached, making the server feel like a grab-bag rather than a purpose-built Openverse integration.

Completeness4/5

Each embedded subdomain covers its main lifecycle well: Openverse has search/get/related for images and audio, memory has remember/recall/forget, subscriptions have subscribe/list/unsubscribe/recent_alerts, and research has ask, grounded, deep_research, entity_profile, compare_entities, resolve_entity, and validate_claim. Minor gaps exist—notably no Openverse video/collection tooling and no explicit memory update—but agents can work around them without hitting dead ends.