# SansFiction

Search, discover, and manage books across multiple sources. Connect Claude, ChatGPT, Gemini, and Cursor to the SansFiction library for book metadata, reading progress, and personal library management.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add hello-uvza/sansfiction

# Browse available tools
npx -y @smithery/cli@latest tool list hello-uvza/sansfiction

# Get full schema for a tool
npx -y @smithery/cli@latest tool get hello-uvza/sansfiction search_books

# Call a tool
npx -y @smithery/cli@latest tool call hello-uvza/sansfiction search_books '{}'
```

## Direct MCP Connection

Endpoint: `https://sansfiction--hello-uvza.run.tools`

## Tools (16)

- `search_books` — Search for books in the public catalog.
- `get_book_details` — Get detailed metadata for a specific book.
- `get_series_details` — Get information about a book series and its volumes.
- `list_my_books` — List books in your personal library. Requires authorization.
- `update_book_status` — Update a book's status in your library. Requires authorization.
- `add_book_to_library` — Add a book to your library. Requires authorization.
- `remove_book_from_library` — Remove a book from your library. Requires authorization.
- `log_reading_progress` — Log reading progress and update reading stats. Requires authorization.
- `update_book_rating` — Update your rating for a book in your library. Requires authorization.
- `update_book_review` — Update your review text for a book in your library. Requires authorization.
- `update_book_dates` — Update started/finished dates for a book in your library. Requires authorization.
- `list_my_collections` — List your personal book collections. Requires authorization.
- `search_my_library` — Search for books specifically within your personal library. Requires authorization.
- `add_book_to_collection` — Add a book to one of your collections. Requires authorization.
- `get_collection_details` — Get details for one of your collections and its books. Requires authorization.
- `get_stats_summary` — Get reading stats for a date range, matching the Stats page. Requires authorization.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get hello-uvza/sansfiction <tool-name>
```
