Server definition
- Hash
- sha256:a8af2319f76c0e79479bbcc9a6dc86b39d1da5e690b5db9bf11406aaab4f2d0f
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": "Siftivo is a book catalog and a reader's library. It covers what a book is about, what to read after it, what a series contains, what is circulating this week, and what a reader has on their shelves.\n\nsearch_books takes a title or an author name, recommend_from_description takes a theme or a mood in the reader's own words, and recommend_from_titles takes books they already liked. All three return workId values, and every other tool takes one of those.\n\nIds are opaque. A book title or an author name is not an id, and the ids those three return are the only ones that resolve. A siftivo.com URL slug also works, but only in the full form the link uses, which ends in the id.\n\nget_my_library, add_to_library, get_my_book and remove_from_library act on the signed-in reader and return 401 until that reader has linked their Siftivo account. Every other tool is open and needs no account, so a reader who has not linked one can still be helped from the catalog.",
"tools": [
{
"description": "Put a book on one of the signed-in reader's shelves, move it to a different shelf, rate it, or record how far through it they are. The workId is one returned by search_books, get_book or recommend_from_titles. \"Finished it, four stars\" is one call with readingStatus FINISHED and rating 4. Each field given replaces what the reader had there before, so send a rating or a note only when they asked for that one to change. Omitting readingStatus leaves the book on the shelf it is already on.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"notes": {
"description": "The reader's own note on the book, private to them",
"maxLength": 2000,
"type": "string"
},
"progress": {
"description": "Percent read, 0 to 100",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"rating": {
"description": "Whole stars, 1 to 5",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"readingStatus": {
"description": "The shelf to put the book on. Omit to leave it where it is, or NOT_STARTED for a book the reader has not opened yet.",
"enum": [
"NOT_STARTED",
"READING",
"FINISHED",
"DNF"
],
"type": "string"
},
"workId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"workId"
],
"type": "object"
},
"name": "add_to_library",
"outputSchema": null
},
{
"description": "An author, their biography, and the works Siftivo holds for them. Accepts an author id or slug.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_author",
"outputSchema": null
},
{
"description": "Full detail for one book: synopsis, authors, series position, genres, and its page on siftivo.com. Accepts a work id, an edition id, or a slug.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "A Siftivo work id, edition id, or URL slug",
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_book",
"outputSchema": null
},
{
"description": "Whether the signed-in reader has this book on a shelf, and if so which shelf, their rating and how far through they are. Answers \"have I read this?\" without pulling the whole library.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"workId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"workId"
],
"type": "object"
},
"name": "get_my_book",
"outputSchema": null
},
{
"description": "The signed-in reader's own Siftivo library: what they want to read, are reading, finished, or set down, with their ratings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"status": {
"description": "Filter to one shelf. Omit for the whole library.",
"enum": [
"NOT_STARTED",
"READING",
"FINISHED",
"DNF"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_my_library",
"outputSchema": null
},
{
"description": "The weekly Siftivo Reading Index: the fiction and nonfiction books moving most in cultural circulation this week, ranked.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"week": {
"description": "Edition week, YYYY-MM-DD. Omit for the current edition.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"type": "object"
},
"name": "get_reading_index",
"outputSchema": null
},
{
"description": "A series and its works in reading order. Accepts a series id or slug.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_series",
"outputSchema": null
},
{
"description": "Describe what someone is in the mood for, in their own words, and get books that match. It suits a theme, subject or feeling (\"books about grief\", \"cozy mysteries set in Cornwall\"), and matches on meaning rather than on a title or an author name.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"description": "What the reader is after, in plain language",
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"isFiction": {
"type": "boolean"
},
"limit": {
"default": 5,
"maximum": 10,
"minimum": 1,
"type": "integer"
}
},
"required": [
"description"
],
"type": "object"
},
"name": "recommend_from_description",
"outputSchema": null
},
{
"description": "Give Siftivo a few books someone liked, by title, and get books like them. Titles are resolved against the catalog first; anything that does not resolve is reported back rather than guessed at.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"isFiction": {
"type": "boolean"
},
"limit": {
"default": 5,
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"titles": {
"description": "Book titles, optionally \"Title by Author\"",
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"titles"
],
"type": "object"
},
"name": "recommend_from_titles",
"outputSchema": null
},
{
"description": "Take a book off the signed-in reader's shelves entirely, discarding their rating and progress for it. This is removal rather than a shelf change: add_to_library with a new readingStatus moves a book between shelves and keeps its rating.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"workId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"workId"
],
"type": "object"
},
"name": "remove_from_library",
"outputSchema": null
},
{
"description": "Keyword search over the Siftivo book catalog. Matches titles, authors, and descriptions. Returns works with the ids other Siftivo tools accept.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"isFiction": {
"description": "Restrict to fiction (true) or nonfiction (false)",
"type": "boolean"
},
"limit": {
"default": 10,
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Words to search for",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_books",
"outputSchema": null
},
{
"description": "Given one book, what to read after it: the next books in its series, more by the same author, and books that read like it. This is the same set the book page on siftivo.com shows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"workId": {
"description": "A workId from search_books, get_book, or a URL slug",
"minLength": 1,
"type": "string"
}
},
"required": [
"workId"
],
"type": "object"
},
"name": "what_to_read_next",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:a8af2319f76c0e79479bbcc9a6dc86b39d1da5e690b5db9bf11406aaab4f2d0f | sha256sum