Skip to main content
Glama
tannerwj

audible-mcp

by tannerwj

audible-mcp

CI npm version

audible-mcp is a TypeScript Model Context Protocol server for authenticated Audible read workflows.

It currently exposes signed-auth tools and resources for:

  • library listing

  • collection item listing

  • library search

  • in-progress title listing

  • single library item lookup

  • wishlist listing

  • collections listing

  • chapter lookup by ASIN

  • content metadata by ASIN

  • catalog product metadata by ASIN

  • aggregate listening stats

  • auth validation

  • local auth status

Requirements

  • Node.js 22+

  • an Audible auth bundle created with the login flow in this repo or via the published CLI

Related MCP server: mcp-open-library

Setup

You need an audible-auth.json file before running the MCP server.

If you are working from a local checkout:

npm install
npm run auth:login -- --marketplace us --file .\audible-auth.json

If you are using the published package:

npx audible-mcp auth login --marketplace us --file ./audible-auth.json

The login flow opens Audible/Amazon in your browser, then asks you to paste the final maplanding URL back into the terminal. The resulting audible-auth.json contains live credentials and should not be committed.

If the saved auth expires, refresh the auth bundle without re-registering the device.

Local checkout:

npm run auth:refresh -- --file .\audible-auth.json

Published package:

npx audible-mcp auth refresh --file ./audible-auth.json

Install Via npm

Run the published server directly with npx:

npx -y audible-mcp serve

Run The MCP Server

Start the stdio server directly:

$env:AUDIBLE_AUTH_FILE = ".\audible-auth.json"
npm run mcp:start

After npm publish, the equivalent command is:

AUDIBLE_AUTH_FILE=./audible-auth.json npx audible-mcp serve

Run the end-to-end MCP smoke test:

$env:AUDIBLE_AUTH_FILE = ".\audible-auth.json"
npm run smoke:test

Root Config Files

  • mcp.config.json: local MCP client config for this checkout; gitignored

  • mcp.config.example.json: committed template you can copy and edit for your machine

The local config uses the server command from this repo and points AUDIBLE_AUTH_FILE at the root auth bundle.

Example MCP Config

Using the published npm package:

{
  "mcpServers": {
    "audible": {
      "command": "npx",
      "args": ["-y", "audible-mcp", "serve"],
      "env": {
        "AUDIBLE_AUTH_FILE": "/path/to/audible-auth.json"
      }
    }
  }
}

Using a local checkout:

{
  "mcpServers": {
    "audible": {
      "command": "npm",
      "args": ["run", "mcp:start"],
      "cwd": "/path/to/audible-mcp",
      "env": {
        "AUDIBLE_AUTH_FILE": "/path/to/audible-mcp/audible-auth.json"
      }
    }
  }
}

The committed template in mcp.config.example.json uses the published package.

Available Tools

  • audible_list_library

  • audible_list_collection_items

  • audible_search_library

  • audible_list_in_progress_titles

  • audible_get_library_item

  • audible_list_wishlist

  • audible_list_collections

  • audible_get_chapters

  • audible_get_content_metadata

  • audible_get_catalog_product

  • audible_get_listening_stats

  • audible_validate_auth

  • audible_get_auth_status

Available Resources

  • audible://auth/status

  • audible://wishlist

  • audible://collections

  • audible://collections/{collectionId}/items

  • audible://library/{asin}

  • audible://content/{asin}/metadata

  • audible://catalog/{asin}

Development Scripts

  • npm run auth:login

  • npm run auth:refresh

  • npm run mcp:start

  • npm run smoke:test

  • npm run typecheck

  • npm run test

  • npm run build

  • npm run check

Notes

  • Signed auth is the working API path in this repo.

  • audible-auth.json contains private credentials and should be treated as a secret.

  • The main CLI supports serve, auth login, and auth refresh.

  • CI runs npm run check on pushes to master and on pull requests.

Security

  • Do not commit audible-auth.json.

  • If the auth bundle is ever exposed, revoke or replace it by generating a new device registration.

  • mcp.config.json is local-only and should stay uncommitted.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    This server implements the Model Context Protocol for seamless interaction with Azure Blob Storage and Cosmos DB, enabling automatic logging and audit tracking of operations.
    19
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server for the Open Library API that enables AI assistants to search for book information.
    2
    7
    190 npm
    93
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables searching and managing Spotify music, playlists, artists, albums, and audiobooks through natural language.
    24
    27 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A read-only MCP server for an existing Calibre ebook library, enabling metadata search, full-text search, and category browsing via the Model Context Protocol.
    MIT