{
  "name": "Siftivo",
  "description": "Book recommendations from a reader's own history, their shelves and ratings, and series in reading order",
  "endpoint": "https://api.siftivo.com/mcp",
  "transport": "streamable-http",
  "authorization": {
    "protected_resource_metadata": "https://api.siftivo.com/.well-known/oauth-protected-resource/mcp"
  },
  "tools": [
    "search_books",
    "get_book",
    "what_to_read_next",
    "get_author",
    "get_series",
    "get_reading_index",
    "recommend_from_description",
    "recommend_from_titles",
    "get_my_library",
    "add_to_library",
    "get_my_book",
    "remove_from_library",
    "get_my_taste"
  ],
  "instructions": "Siftivo is a book catalog and a reader's own library. It covers what a book is about, what comes after it, a series in order, what is circulating this week, and what a reader has read and likes.\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 is not an id, and the ids those three return are the ones that resolve. get_series and get_author also take a series or author name. A siftivo.com URL slug works too, but only in the full form the link uses, which ends in the id.\n\nget_my_taste holds what a linked reader loves and avoids, the basis of a recommendation when they name no book or mood. get_my_book says which of a list of titles they have already read.\n\nget_my_library, add_to_library, get_my_book, remove_from_library and get_my_taste 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.",
  "openapi": "https://api.siftivo.com/openapi.json",
  "documentation": "https://siftivo.com/blog/siftivo-for-agents/"
}