TomeScout

KDP keyword boxes, listing checks, royalties and sales-from-rank for self-published authors

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
82%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'bsr_to_sales' description lacks action verbin bsr_to_sales

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,093Tokens (tool definitions)
~1.7 KBTypical response size
Moderate attention impact (0.85% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tomescout": {
      "url": "https://tomescout.com/mcp"
    }
  }
}

Remote endpoints

https://tomescout.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢keyword_boxes(phrases, title, subtitle, skipTitleWords)

Packs keyword phrases (most important first) into KDP's 7 keyword boxes of 50 characters each. Removes words already in the title/subtitle, drops prohibited, trademarked and likely author/title phrases, and reports what did not fit.

Input Schema

{
  "type": "object",
  "properties": {
    "phrases": {
      "minItems": 1,
      "maxItems": 80,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 120
      }
    },
    "title": {
      "type": "string",
      "maxLength": 300
    },
    "subtitle": {
      "type": "string",
      "maxLength": 300
    },
    "skipTitleWords": {
      "default": true,
      "type": "boolean"
    }
  },
  "required": [
    "phrases"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bsr_to_sales(bsr, format, marketplace, royaltyPerSale)

Turns an Amazon Best Sellers Rank (the 'Best Sellers Rank' line on a book's Amazon page, overall store rank) into an estimated range of units per day and per month, using two independent public models. Amazon.com (Kindle Store or print); UK/DE are rough scalings. Optionally multiplies by royalty per sale.

Input Schema

{
  "type": "object",
  "properties": {
    "bsr": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20000000
    },
    "format": {
      "default": "kindle",
      "type": "string",
      "enum": [
        "kindle",
        "print"
      ]
    },
    "marketplace": {
      "default": "US",
      "type": "string",
      "enum": [
        "US",
        "UK",
        "DE"
      ]
    },
    "royaltyPerSale": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000
    }
  },
  "required": [
    "bsr"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢check_listing(title, subtitle, description, keywords, categories)

Checks a book's title, subtitle, description, keyword boxes and categories against Amazon KDP's published metadata guidelines (length limits, allowed HTML, prohibited claims, other authors/titles/trademarks, programme names, contact details, review requests, emojis) and gives optimisation tips. Each issue links to the KDP help page it comes from.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "subtitle": {
      "type": "string",
      "maxLength": 500
    },
    "description": {
      "type": "string",
      "maxLength": 10000
    },
    "keywords": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      }
    },
    "categories": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      }
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢royalty_calculator(format, marketplace, listPrice, fileSizeMb, kdpSelect, ...)

Calculates KDP royalties per sale. eBook: 70% vs 35% option for any of 13 Amazon stores (current 2026 price bands, delivery cost per MB, VAT/GST handling, KDP Select rules). Paperback: printing cost and royalty on Amazon.com/.co.uk/EU stores (60% or 50% tier). Optional Kindle Unlimited earnings from pages read.

Input Schema

{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "ebook",
        "paperback"
      ]
    },
    "marketplace": {
      "default": "US",
      "description": "eBook: US, UK, DE, FR, ES, IT, NL, JP, CA, AU, BR, MX, IN. Paperback: US, UK or EU.",
      "type": "string"
    },
    "listPrice": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "fileSizeMb": {
      "default": 1,
      "description": "eBook file size after conversion (MB).",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 650
    },
    "kdpSelect": {
      "default": false,
      "type": "boolean"
    },
    "printListPrice": {
      "description": "Lowest print list price, for the 70% rule.",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "pages": {
      "description": "Paperback page count.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "ink": {
      "default": "black",
      "type": "string",
      "enum": [
        "black",
        "black-groundwood",
        "standard-color",
        "premium-color"
      ]
    },
    "trim": {
      "default": "regular",
      "description": "\"large\" = wider than 6.12\" or taller than 9\".",
      "type": "string",
      "enum": [
        "regular",
        "large"
      ]
    },
    "monthlySales": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "kuPagesReadPerMonth": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100000000
    }
  },
  "required": [
    "format",
    "listPrice"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools