SansFiction
Search, discover, and manage books across multiple sources.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
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.
Requires a local install: run the server on your machine, then point your client at it.
How to connect
How to connect SansFiction to Claude
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
How to connect SansFiction to ChatGPT
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
How to connect SansFiction to Cursor
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
Server tool list (16)
Raw names from tools/list. Only developers need these.
| 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. |