Skip to main content
Glama

Audiobooks

audiobooks
Read-onlyIdempotent

Search LibriVox free public-domain audiobooks by title keyword, author name, or date added (YYYY-MM-DD); supports pagination via limit/offset. Returns book metadata including reader, language, URL, and chapter count.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoTitle keyword filter.
sinceNoYYYY-MM-DD
titleNo
authorNo
offsetNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
booksNoList of audiobooks matching search criteria

Schema Changelog

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

  1. Changed23 schema fields changed
    • addedOutput schema / properties / books / items / properties / authors / items / properties / dob
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / books / items / properties / authors / items / properties / dod
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / books / items / properties / authors / items / properties / first_name
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / books / items / properties / authors / items / properties / id / type
      Previous value: -"number"New value: +"string"
    • addedOutput schema / properties / books / items / properties / authors / items / properties / last_name
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / books / items / properties / authors / items / properties / name
      Removed value: -{
      -  "description": "Author name",
      -  "type": "string"
      -}
    • addedOutput schema / properties / books / items / properties / copyright_year
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / books / items / properties / cover_url
      Removed value: -{
      -  "description": "Cover image URL",
      -  "type": "string"
      -}
    • removedOutput schema / properties / books / items / properties / date_added
      Removed value: -{
      -  "description": "Date added to LibriVox",
      -  "type": "string"
      -}
    • changedOutput schema / properties / books / items / properties / id / type
      Previous value: -"number"New value: +"string"
    • removedOutput schema / properties / books / items / properties / narrators
      Removed value: -{
      -  "description": "List of narrators",
      -  "items": {
      -    "properties": {
      -      "id": {
      -        "description": "Narrator ID",
      -        "type": "number"
      -      },
      -      "name": {
      -        "description": "Narrator name",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / books / items / properties / num_sections
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / books / items / properties / project_gutenberg_id
      Removed value: -{
      -  "description": "Project Gutenberg ID if available",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / books / items / properties / totaltime / type
      Previous value: -"number"New value: +"string"
    • addedOutput schema / properties / books / items / properties / totaltimesecs
      Added value: +{
      +  "type": "number"
      +}
    • removedOutput schema / properties / books / items / properties / url_iarchive
      Removed value: -{
      -  "description": "Internet Archive URL",
      -  "type": "string"
      -}
    • addedOutput schema / properties / books / items / properties / url_other
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / books / items / properties / url_project
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / books / items / properties / url_rss
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / books / items / properties / url_text_source
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / books / items / properties / url_zip_file
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / sort_order
      Removed value: -{
      -  "description": "Sort order used",
      -  "type": "string"
      -}
    • removedOutput schema / properties / total_time
      Removed value: -{
      -  "description": "Total time across all results",
      -  "type": "number"
      -}
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "Pride and Prejudice"
      +  },
      +  {
      +    "author": "Jane Austen",
      +    "limit": 10,
      +    "offset": 0
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "books": {
      +      "description": "List of audiobooks matching search criteria",
      +      "items": {
      +        "properties": {
      +          "authors": {
      +            "description": "List of authors",
      +            "items": {
      +              "properties": {
      +                "id": {
      +                  "description": "Author ID",
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "description": "Author name",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "cover_url": {
      +            "description": "Cover image URL",
      +            "type": "string"
      +          },
      +          "date_added": {
      +            "description": "Date added to LibriVox",
      +            "type": "string"
      +          },
      +          "description": {
      +            "description": "Audiobook description",
      +            "type": "string"
      +          },
      +          "id": {
      +            "description": "Audiobook ID",
      +            "type": "number"
      +          },
      +          "language": {
      +            "description": "Language of audiobook",
      +            "type": "string"
      +          },
      +          "narrators": {
      +            "description": "List of narrators",
      +            "items": {
      +              "properties": {
      +                "id": {
      +                  "description": "Narrator ID",
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "description": "Narrator name",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "project_gutenberg_id": {
      +            "description": "Project Gutenberg ID if available",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "title": {
      +            "description": "Audiobook title",
      +            "type": "string"
      +          },
      +          "totaltime": {
      +            "description": "Total duration in seconds",
      +            "type": "number"
      +          },
      +          "url_iarchive": {
      +            "description": "Internet Archive URL",
      +            "type": "string"
      +          },
      +          "url_librivox": {
      +            "description": "LibriVox page URL",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "sort_order": {
      +      "description": "Sort order used",
      +      "type": "string"
      +    },
      +    "total_time": {
      +      "description": "Total time across all results",
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds value beyond annotations by disclosing pagination support (limit/offset) and the return fields (reader, language, URL, chapter count). It provides useful behavioral context without contradicting any annotation.

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 well-structured sentences, front-loaded with the primary action and criteria, followed by return metadata. Every phrase earns its place with no filler or repetition of schema details.

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 search tool with six optional parameters and an output schema, the description covers the core search criteria, pagination, and return content. It does not explain the query/title distinction but is otherwise complete enough for an agent to select and invoke the tool correctly.

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?

Schema coverage is only 33%, so the description carries extra weight. It explains the purpose of 'author', 'since', 'limit', 'offset', and 'query' (as title keyword), but leaves ambiguity between 'query' and 'title', and does not explicitly mention the 'offset' parameter name. It compensates partially but not fully.

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 states the exact action ('Search LibriVox free public-domain audiobooks') and specifies the search criteria (title keyword, author name, date added). It clearly distinguishes this from the sibling 'audiobook' tool by focusing on search rather than singular access, making the purpose unmistakable.

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 conveys clear usage context: use this tool to search for audiobooks by title, author, or date, with pagination. It does not explicitly name alternatives or exclusions, but the search-focused wording and sibling context imply when to choose it over the singular 'audiobook' retrieval tool.

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.5/5.0
Disambiguation2/5

The set mixes several unrelated domains (LibriVox, Pipeworx data lookup, Polymarket betting, memory, subscriptions), and within those domains there is heavy overlap: ask_pipeworx/ask_pipeworx_beta/ask_pipeworx_grounded/deep_research all route to the same 5,798 tools, and polymarket_edges/polymarket_arbitrage/polymarket_edge_tracker/polymarket_fill_risk/bet_research all scan prediction-market opportunities. An agent can easily pick the wrong tool when the same question fits several of them.

Naming Consistency3/5

Names are mostly lowercase snake_case, but the patterns are inconsistent across domains: some are verb-first (ask_pipeworx, compare_entities, generate_llms_txt), some are noun-first (audiobook, tracks, polymarket_edges), and pluralization varies (audiobook vs audiobooks, authors vs tracks). The Pipeworx family is internally consistent, but the overall set has no unified convention.

Tool Count2/5

35 tools is heavy for a server named Librivox, and only 4 of them (audiobook, audiobooks, authors, tracks) actually relate to LibriVox. The remaining ~31 tools (Pipeworx, Polymarket, memory, subscriptions, AI visibility) make the count far exceed what the server name and apparent purpose suggest.

Completeness2/5

For a LibriVox-focused server, the tool surface is thin: search and fetch audiobooks, search authors, and list tracks, but no browse by genre, no reader/search-by-reader, no language filter, no author detail endpoint. The Pipeworx side is quite comprehensive, but it does not make up for the gap relative to the server's stated identity.