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

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tannerwj/audible-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server