Skip to main content
Glama

Server Details

Search booksellers worldwide for any book, new or used, and set alerts for copies not listed yet.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation5/5

The tools split cleanly into live book search (search_books), alert lifecycle management (list_alerts, set_alert, cancel_alert), and source lookup (list_sources). Although search_books and set_alert share the same query syntax, their purposes are clearly different: one searches now, the other creates a saved alert.

Naming Consistency5/5

All tool names use consistent snake_case verb_noun naming: list_alerts, list_sources, search_books, set_alert, cancel_alert. The pattern is predictable and readable throughout.

Tool Count5/5

Five tools is well-scoped for a book search and alerting service. Each tool has a clear role: search, list/create/cancel alerts, and list sources.

Completeness4/5

The surface covers the core domain: searching books, creating alerts, listing alerts, cancelling alerts, and discovering sources. Minor gaps exist, such as no dedicated update-alert operation and no standalone plan/account retrieval, but plan details are returned with alert operations and alerts can be cancelled and recreated.

Available Tools

5 tools
cancel_alertCancel an alertA
DestructiveIdempotent
Inspect

Cancel one of the person's alerts on Near Fine by its id, from list_alerts or set_alert, deleting it as its Delete button on Near Fine does. The first time, they sign in. Returns the cancelled alert and the person's plan.

NameRequiredDescriptionDefault
idYesThe alert’s id

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true; the description reinforces destruction with the concrete analogy 'deleting it as its Delete button on Near Fine does.' It adds genuinely new context beyond annotations: the first-time sign-in requirement and what is returned (the cancelled alert and the person's plan).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and id provenance, then auth, then return value. The repeated 'Near Fine' branding is slightly redundant but costs little.

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?

With no output schema, the description supplies the return values, and it also covers the auth prerequisite and where the id comes from. Only irreversibility of the delete and failure modes are left unstated, which is a minor gap for a destructive tool.

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?

Schema coverage is 100% for the single id parameter, so the baseline would be 3. The description adds value by specifying the origin of the id (list_alerts or set_alert), which the schema does not say.

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?

States a specific verb (cancel), a specific resource (one of the person's alerts), and the identifier basis (by its id). It also names where the id comes from (list_alerts or set_alert), which separates it cleanly from those siblings.

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?

'from list_alerts or set_alert' tells the agent the prerequisite step and therefore the context in which this tool applies. It does not state an explicit when-not or an alternative cancellation path, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_alertsList alertsA
Read-onlyIdempotent
Inspect

List the person's alerts on Near Fine. The first time, they sign in. Finds come first, then alerts being checked, then the rest, newest first. Each has its id, query, country, status, when it was set, last checked and runs until, a link to it on Near Fine, and, once it has found a listing, the listing's title, seller, condition, price and shipping in the person's currency, and the URL to buy it. Statuses: pending (noting what's listed already), live (watching), found (emailed a find and stopped), ended (the person got the book), expired (ran its six months) and paused (the plan has room for fewer alerts). Also returns the person's plan.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world. The description adds real value beyond that: the sign-in requirement on first call, the deterministic ordering (finds, then checking, then rest, newest first), and a full status taxonomy. No pagination or rate-limit note, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded: purpose first, then ordering, then return fields, then statuses, then the plan. It's a dense single block but nearly every clause carries useful semantics; the status enumeration is long but earns its place for an agent interpreting results.

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?

With no output schema, the description carries the full burden of describing return values, and it does so thoroughly: fields per alert (id, query, country, status, timestamps, link, find details) and the plan. An agent can interpret the response shape without any output schema.

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?

There are zero parameters, so the schema baseline is 4. The description correctly adds nothing parameter-related, since there's nothing to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('List the person's alerts on Near Fine') and the tool name makes it trivially distinct from set_alert/cancel_alert. It's clear what it does, though it never explicitly contrasts with sibling tools like search_books or list_sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated. 'The first time, they sign in' signals the auth prerequisite, but there's no explicit when-to-use/when-not guidance (e.g., when to prefer list_alerts over search_books).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sourcesList sourcesA
Read-onlyIdempotent
Inspect

List the bookseller catalogs Near Fine searches, each with the countries it serves. Pass a country to see only the sources that serve buyers there.

NameRequiredDescriptionDefault
countryNoOnly list sources serving buyers in this country (ISO 3166-1 alpha-2)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds useful substance beyond that by describing the return shape (each source with the countries it serves), which matters since no output schema exists.

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?

Two tight sentences, zero waste, with the core purpose front-loaded and the filter behavior following immediately.

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 single optional-parameter read tool with full annotation coverage, the description supplies everything needed: what it returns, and how the one parameter affects results.

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 100% and the country parameter already documents the ISO 3166-1 alpha-2 pattern. The description's mention of filtering by buyers served adds a little meaning but largely restates the schema, so baseline 3 applies.

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?

States a specific verb (List) and resource (bookseller catalogs Near Fine searches), plus what each entry carries (countries served). This clearly distinguishes it from search_books and the alert tools.

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 second sentence explains that passing a country narrows results to sources serving buyers there, giving clear usage context for the optional filter. It does not name alternatives or when-not-to-use, keeping it just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_booksSearch booksA
Read-onlyIdempotent
Inspect

Search for a book across every bookseller Near Fine covers for the buyer's country (AbeBooks and eBay sites everywhere, plus World of Books, ThriftBooks, Casa del Libro, Hugendubel, Booklooker, Leslibraires.fr, Rarewaves, Ex Libris, Librairie Mollat, Boekwinkeltjes.nl, Standaard Boekhandel, Managementboek, Dubray Books, Malliaris-Paideia, Indigo, Kinokuniya, Daunt Books, Paper Cavalier, Lets Buy Books, Chapters Bookstore, Harry Hartog, Book Grocer, Whitcoulls, Bokkilden, Bog & idé, Suomalainen Kirjakauppa, Booky.fi, Bookbot, Świat Książki, Matras, Luxor, Kosmas, IBS, Libraccio, Libreria Universitaria, Agapea, Label Emmaüs, Gandhi, Porrúa, Livraria da Travessa, Martins Fontes, Librería de la U, Ibero Librerías, Contrapunto, Maruzen Junkudo, BookOff, Kyobo, Yes24, Book Outlet, Livrenpoche, Buybook, Exclusive Books, Readers Warehouse, Wordsworth Books, Graffiti Books, Popular, MPH, BookXcess, National Book Store, Bookazine, Atlantic Books, Kitabay, Liberty Books, Tecni-Ciencia, Librairie Club, Books Upstairs, Nexus, Czytam.pl, Americanas, Livrarias Curitiba, Kel Ediciones and SBS Librerías where they ship, and Apple Books ebooks and audiobooks; shops' ebooks and audiobook downloads only in their own country). Pass an ISBN-10 or ISBN-13 for an exact edition, or title and author keywords. The query can also carry a price cap, as in "under $40" or "max 30 €" (in the buyer's currency when it names none), and ask for a first edition, a signed copy, a dust jacket, a hardcover or a paperback, as in "wolf hall signed first edition under £200", or for an ebook or audiobook alone. Offers over the cap, counting known shipping, and offers in other formats than the one asked for are left out; criteria reports what was read. Returns offers sorted cheapest first, each with title, seller, condition (new, used, ebook or audiobook), price and shipping in the seller's currency, the same in the buyer's currency when it differs, and the URL to buy. Shipping is left out where the shop doesn't publish it. Each offer may carry a match from 0 to 1: how sure a decision model is that the listing is the book searched for rather than a study guide, summary, adaptation or another book that shares a word. Below about 0.2 it rarely is. When the query asks for attributes, each offer carries verdicts: true where the decision model, reading the listing and any filter the bookseller applied, confirms the listing claims it, false where it doesn't, and left out where unjudged. Also reports which sources answered, failed or timed out, an amazon_url that opens the same search on the buyer's Amazon site, and a search_url that opens it on Near Fine, where the buyer can set an alert and get an email when a new listing turns up with everything the query asks for. A search takes a few seconds.

NameRequiredDescriptionDefault
queryYesISBN-10, ISBN-13 (hyphens and spaces allowed) or title and author keywords, optionally with a price cap and attributes such as "first edition under $40"
countryNoCountry the buyer is in, as an ISO 3166-1 alpha-2 code such as US, GB or DE. Defaults to US.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already establish a safe, read-only, idempotent, open-world search, and the description adds substantial behavioral context beyond them: filtering rules for price caps and formats, cheapest-first ordering, currency handling, shipping inclusion rules, match scores, attribute verdicts, source failure reporting, and expected latency. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and query guidance, but it is heavily bloated by an exhaustive list of dozens of booksellers that does not help an agent invoke the tool. The remaining return-value and behavior details are valuable, so the structure is functional but not concise.

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?

With no output schema, the description carries the full burden of explaining returns, and it does so thoroughly: offers, seller, condition, prices and currencies, URLs, match scores, attribute verdicts, source status, amazon_url, and search_url. It also notes the few-second latency, making the definition complete for calling and interpreting the tool.

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?

Schema coverage is 100%, so the baseline would be 3, but the description adds meaningful query semantics beyond the schema: examples like 'wolf hall signed first edition under £200', currency behavior for price caps, and which requested attributes are filtered or judged. Country is handled mostly by the schema, but overall the description enriches parameter interpretation.

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 gives a specific verb and resource: search for a book across all booksellers Near Fine covers for the buyer's country. It distinguishes exact ISBN lookups from title/author keyword searches and mentions price caps and format attributes, so an agent knows what the tool is for without opening the schema.

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?

It clearly explains how to use the tool: pass an ISBN for an exact edition, or title and author keywords, optionally with a price cap or attributes such as first edition, signed, hardcover, ebook, or audiobook. It does not explicitly compare against sibling tools like set_alert or list_sources, but those are not search alternatives, so the guidance is strong though not fully comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_alertSet an alertA
Idempotent
Inspect

Set an alert on a search for the person. The first time, they sign in to Near Fine. Near Fine checks the alert for six months and emails them once when a new listing turns up with everything the query asks for, such as a first edition, a signed copy or a price cap. The query reads as search_books reads it. Listings there already never count: the alert stays pending until its first check has noted them. Setting an alert that's already set keeps it as it is. Returns the alert, with its status and its link on Near Fine, and the person's plan: how many alerts it allows, how many are in use and how often each is checked. A full plan comes back as an error; paid plans, at plans_url, have more.

NameRequiredDescriptionDefault
queryYesISBN or title and author keywords, with anything the person wants beyond the book, as in "wolf hall signed first edition under £200"
countryYesCountry the book has to reach, as an ISO 3166-1 alpha-2 code such as US, GB or DE

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the six-month checking window, single email notification, that pre-existing listings never trigger, that an alert stays pending until its first check, that re-setting is a no-op (consistent with idempotentHint=true), and that a full plan returns an error with a plans_url workaround. This is exactly the mutation-side context the annotations do not carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the ordering (what it does, how it behaves, what it returns, error case) is logical. A few sentences are clause-heavy and slightly run-on, but every one carries information rather than repeating structured fields.

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?

With no output schema, the description correctly shoulders the burden by enumerating the return payload (alert, status, link, plan quota/usage/check frequency) and the failure mode (full plan as an error, upgrade at plans_url). Nothing needed to call it correctly is missing.

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?

Schema coverage is 100% so the baseline is 3, but the description adds real meaning by saying the query is parsed exactly as search_books parses it, and by spelling out what the alert matches (condition, signature, price cap) — semantics the schema example only hints at.

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?

States a specific verb (Set) and resource (an alert) scoped to a search query, which is clearly distinct from sibling actions like cancel_alert and list_alerts. It also pins down what the resulting alert does — checks for six months, emails once — so the agent knows exactly what object it is creating.

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?

Gives clear context for the operation (an alert on a search that gets periodically re-checked) and clarifies the query syntax by reference to search_books. It does not explicitly state when to prefer this over a one-off search_books call or how it relates to list_alerts, so there is no explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedcancel_alert
    • First observedlist_alerts
    • First observedlist_sources
    • First observedsearch_books
    • First observedset_alert

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables searching over 500,000 ebooks and audiobooks, finding independent bookshops that sell each title, and accessing developer documentation through natural language.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching public library catalogs for ebooks and audiobooks, comparing availability across libraries without login, and optionally linking an account to view and manage loans and holds.
    13
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching and retrieving book details from the Kvartirabooks store/library catalog, including availability for purchase or borrowing.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources