sansfiction-mcp
SansFiction MCP & Agent Skill
Connect AI agents to SansFiction — a digital library for books, collections, reading journals, and discovery.
The same capabilities are exposed two ways, both authenticated with the same bearer token:
MCP server (Streamable HTTP):
https://sansfiction.com/api/mcpREST API (v1):
https://sansfiction.com/api/v1
Quick start (MCP)
claude mcp add --transport http sansfiction https://sansfiction.com/api/mcpOr point any MCP client at the streamable-HTTP endpoint above. Public catalog tools need no auth; personal library tools require a bearer token (generate one at sansfiction.com/docs/agents).
Quick start (REST)
# Public catalog — no auth
curl "https://sansfiction.com/api/v1/catalog/search?q=dune&limit=5"
# Personal library — bearer token
curl -H "Authorization: Bearer $SF_TOKEN" \
"https://sansfiction.com/api/v1/library/books?status=reading"Capabilities
Public catalog (no auth)
GET /api/v1/catalog/search?q=…&searchType=all|author|series|mood|isbnGET /api/v1/catalog/books/{bookId}GET /api/v1/catalog/series/{seriesId}GET /api/v1/catalog/collections
Personal library (bearer token)
GET/POST /api/v1/library/books·PATCH/DELETE /api/v1/library/books/{bookId}GET /api/v1/library/searchGET /api/v1/library/collections·GET /api/v1/library/collections/{id}·POST …/itemsGET /api/v1/library/stats
Discovery
Agent Skill:
SKILL.md— also served athttps://sansfiction.com/.well-known/agent-skills/sansfiction-catalog/SKILL.mdMCP Registry manifest:
server.jsonOpenAPI:
https://sansfiction.com/openapi.jsonMCP server card:
https://sansfiction.com/.well-known/mcp/server-card.json
Authentication
Generate a personal access token (sf_mcp_…) while signed in at
sansfiction.com/docs/agents. The same token
authenticates both the MCP server and the REST API. Rate limits: 60 req/min
anonymous, 180 req/min authenticated.
License
The SansFiction service is proprietary. This repository documents its public agent interface for discovery and integration.
Run locally as an MCP server (stdio)
This repo also ships a small stdio MCP server that proxies to the hosted REST API, so you can run it anywhere an MCP client expects a local command:
npx sansfiction-mcp
# or
npm install && node index.jsEnvironment variables:
SANSFICTION_TOKEN— bearer token (sf_mcp_…) for the personal-library tools (generate at https://sansfiction.com/docs/agents). Public catalog tools need none.SANSFICTION_BASE_URL— override the API base (defaulthttps://sansfiction.com).
Tools: search_books, get_book, get_series, list_public_collections,
list_my_books, add_book_to_library, update_library_book,
remove_book_from_library, search_my_library, list_my_collections,
get_reading_stats.
Glama build configuration
Build steps:
["npm install"]CMD arguments:
["mcp-proxy","--","node","index.js"]
tools/list requires no network or credentials, so the introspection check passes
without a token.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fgbytes/sansfiction-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server