Search a catalog of 1.7 million books and find books by mood, vibe, pace or genre. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find books in the ShelfClub catalog by mood, vibe, pace and genre tags. At least one tag is needed. Books that carry every requested tag are listed first, most read first; when there are fewer of those than asked for, books that carry some of the tags follow, and `matchAll` says how many of the books returned carry every tag. Each book is returned with its own tags. Returns up to 10 books, each with its ShelfClub id, authors, description, reader rating, series and shelfclub.app link. The tags are machine-generated, or voted for by at least three readers of the book.
How quickly the story moves.
How many books to return.
How the book feels to read.
The kind of reading experience.
Find books in the ShelfClub catalog by mood, vibe, pace and genre tags. At least one tag is needed. Books that carry every requested tag are listed first, most read first; when there are fewer of those than asked for, books that carry some of the tags follow, and `matchAll` says how many of the books returned carry every tag. Each book is returned with its own tags. Returns up to 10 books, each with its ShelfClub id, authors, description, reader rating, series and shelfclub.app link. The tags are machine-generated, or voted for by at least three readers of the book.
| Argument | Type | Description |
|---|---|---|
| pace | string | How quickly the story moves. |
| limit | integer | How many books to return. |
| moods | array | How the book feels to read. |
| vibes | array | The kind of reading experience. |
| genres | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"pace": {
"enum": [
"fast",
"medium",
"slow"
],
"type": "string",
"description": "How quickly the story moves."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many books to return."
},
"moods": {
"type": "array",
"items": {
"enum": [
"cozy",
"adventurous",
"emotional",
"dark",
"hopeful",
"romantic",
"funny",
"spicy"
],
"type": "string"
},
"default": [],
"maxItems": 8,
"description": "How the book feels to read."
},
"vibes": {
"type": "array",
"items": {
"enum": [
"beach-read",
"page-turner",
"literary",
"thought-provoking",
"atmospheric",
"character-driven",
"plot-driven",
"slow-burn",
"epic",
"comfort-read"
],
"type": "string"
},
"default": [],
"maxItems": 10,
"description": "The kind of reading experience."
},
"genres": {
"type": "array",
"items": {
"enum": [
"science-fiction",
"fantasy",
"romance",
"mystery",
"thriller",
"horror",
"historical-fiction",
"literary-fiction",
"young-adult",
"childrens",
"graphic-novel",
"poetry",
"biography-memoir",
"history",
"science-nature",
"self-help",
"business",
"true-crime",
"religion-spirituality"
],
"type": "string"
},
"default": [],
"maxItems": 19
}
}
}Look up an author in the ShelfClub catalog by ShelfClub author id, which get_book returns for the authors of a book. Returns the author's name, biography, birth and death dates and shelfclub.app link. With `include_books`, also returns up to 10 of their books, the most recently published first, each with its ShelfClub id, description, reader rating, series, shelfclub.app link, and mood, vibe, pace and genre tags (machine-generated, or voted for by at least three readers of the book).
| Argument | Type | Description |
|---|---|---|
| id* | string | The ShelfClub id of the author, from the `authorLinks` of a get_book result. |
| include_books | boolean | Also return up to 10 of the author's books. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
"description": "The ShelfClub id of the author, from the `authorLinks` of a get_book result."
},
"include_books": {
"type": "boolean",
"default": false,
"description": "Also return up to 10 of the author's books."
}
}
}Look up one book in the ShelfClub catalog, by its ShelfClub id or by ISBN. Returns its description, authors, reader rating, series, an edition (ISBN, page count, publisher, publication date, language), its shelfclub.app link, and its mood, vibe, pace and genre tags (machine-generated, or voted for by at least three readers of the book). A lookup by id also returns the ShelfClub author id of each author that has an author record, and which of the moods, vibes and pace readers of the book voted for, with how many did.
| Argument | Type | Description |
|---|---|---|
| id | string | The ShelfClub id of the book, as the other tools return it. Give this or `isbn`, not both. |
| isbn | string | An ISBN-10 or ISBN-13, with or without hyphens. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
"description": "The ShelfClub id of the book, as the other tools return it. Give this or `isbn`, not both."
},
"isbn": {
"type": "string",
"maxLength": 32,
"description": "An ISBN-10 or ISBN-13, with or without hyphens."
}
}
}List the books in the ShelfClub catalog whose mood, vibe, pace and genre tags overlap most with those of a given book, chosen from its 10,000 most-read books. The tags are machine-generated, or voted for by at least three readers of the book, and a book that has none has no similar books. Returns up to 10 books, each with its ShelfClub id, authors, description, reader rating, series, tags and shelfclub.app link.
| Argument | Type | Description |
|---|---|---|
| id* | string | The ShelfClub id of the book, as the other tools return it. |
| limit | integer | How many books to return. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
"description": "The ShelfClub id of the book, as the other tools return it."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many books to return."
}
}
}List the books trending on ShelfClub: the books its readers have been shelving come first, then the catalog's most widely read books. Returns up to 10 books, each with its ShelfClub id, authors, description, reader rating, series, shelfclub.app link, and mood, vibe and pace tags (machine-generated, or voted for by at least three readers of the book).
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many books to return. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many books to return."
}
}
}Search the ShelfClub book catalog by title or author name. Returns up to 10 books, each with its ShelfClub id, authors, description, reader rating, series, shelfclub.app link, and mood, vibe, pace and genre tags (machine-generated, or voted for by at least three readers of the book).
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many books to return. |
| query* | string | A book title, an author name, or both. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many books to return."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "A book title, an author name, or both."
}
}
}