Skip to main content
Glama

Get Audio

get_audio
Read-onlyIdempotent

Fetch full metadata for a single Openverse audio record by UUID (license, duration, attribution, source). Use after search_audio for licensing details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoAudio unique identifier
urlNoAudio URL
tagsNoAssociated tags
titleNoAudio title
sourceNoSource identifier
creatorNoAudio creator name
licenseNoLicense type
bit_rateNoBit rate in kbps
categoryNoAudio category
durationNoDuration in milliseconds
filesizeNoFile size in bytes
filetypeNoFile format
providerNoSource provider
creator_urlNoCreator profile URL
license_urlNoLicense details URL
sample_rateNoSample rate in Hz
download_urlNoDownload URL
license_versionNoLicense version
foreign_landing_urlNoOriginal source URL

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: +[
      +  {
      +    "id": "a1b2c3d4-e5f6-47g8-h9i0-j1k2l3m4n5o6"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "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"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint false. Description adds value by listing specific metadata fields returned (license, duration, attribution, source), complementing annotations without contradiction.

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?

One sentence, 16 words, front-loaded with verb and resource. Every part is essential; no wasted words.

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?

For a simple tool with one parameter and an output schema, the description covers what the tool does, when to use it, and key return fields. No gaps remain given the 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?

Single parameter 'id' is described as 'UUID' in the description, adding meaning beyond the schema's bare type string. Schema has 0% description coverage, so description compensates adequately by clarifying the expected format.

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?

Description clearly states 'Fetch full metadata for a single Openverse audio record by UUID', specifying the action, resource, and identifier. Distinguishes from sibling tools like 'search_audio' (searching) and 'audio_related' (related records).

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?

Explicitly advises 'Use after search_audio for licensing details', providing clear context for when and why to use this tool. Does not explicitly state when not to use, but guidance is sufficient.

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.