Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,547Letters: 14Defects: 1,324counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a8af2319f76c0e79479bbcc9a6dc86b39d1da5e690b5db9bf11406aaab4f2d0f | sha256sum