Connect an MCP host to ShelfLayer, then let agents browse shelves, find books, search passages, read sections, and cite what they found.
ShelfLayer is free during public beta and protected by OAuth. When your AI client asks to connect, continue with Google and approve the ShelfLayer authorization flow.
Use the HTTPS endpoint exactly as shown. OAuth clients and modern MCP hosts expect the server to be reachable over the public internet.
Use the same remote MCP endpoint in every client. If the client asks
for a connector name, use ShelfLayer. If it asks for a URL,
use https://mcp.shelflayer.com/mcp.
ShelfLayer.https://mcp.shelflayer.com/mcp.ShelfLayer.https://mcp.shelflayer.com/mcp.Add the remote HTTP MCP server, then authenticate from the MCP panel.
Add the streamable HTTP server to Codex, then run the OAuth login.
Use Cursor's MCP settings or add a project/global MCP config.
Choose Streamable HTTP or remote HTTP transport when available.
Missing Bearer token after opening the
endpoint directly in a browser, that is expected. The MCP URL is a
server endpoint, not a public web page; connect through an MCP client.
Use your MCP host's remote server configuration, then call the librarian like any other tool.
{ "name": "ShelfLayer", "transport": { "type": "streamable-http", "url": "https://mcp.shelflayer.com/mcp" } }
{ "name": "search_passages", "arguments": { "query": "\"compound interest\" OR thrift economy", "shelf": "economics-and-finance", "limit": 5 } }
# Keyword full-text, not semantic search. "hard work" thrift economy "compound interest" OR usury +virtue -vice "division of labour" shelf:economics-and-finance
# 1. search_passages returns passage_id values. # 2. read_section opens surrounding context when needed. # 3. get_citation turns a passage_id into a user-facing citation.
ShelfLayer works best when the agent treats it like a library, not a general web search engine. Start broad, then ask it to inspect and cite.
"Use ShelfLayer to find passages about thrift, industry, and compound interest in older economics books. Cite the strongest passages."
"List philosophy books about ethics or self-command, then inspect the most relevant tables of contents before quoting."
"Search for 'liberty' in John Stuart Mill, read the surrounding section for the best match, and summarize the argument with a citation."
"If modern terms do not match, retry with older vocabulary: industry for hard work, economy for thrift, political economy for economics."
The server exposes eight read-only tools. Six are the native ShelfLayer
tools; search and fetch are compatibility tools
for clients that expect that two-step pattern.
| Tool | Use it when | Status |
|---|---|---|
| search | Compatibility search that returns result IDs for clients that expect search/fetch. | Beta |
| fetch | Compatibility fetch that opens a result ID returned by search. | Beta |
| list_shelves | Discover available categories before searching. | Beta |
| list_books | Find books by title, author, year, language, or shelf. | Beta |
| inspect_book | Read metadata and the full table of contents. | Beta |
| search_passages | Search passage text with optional shelf, book, or section scopes. | Beta |
| read_section | Read all passages in a section in order. | Beta |
| get_citation | Turn a passage id into a human-readable citation. | Beta |
Searches the indexed passage text. This is PostgreSQL full-text search with English stemming and websearch-style syntax, not a hidden vector index. Agents should try several vocabulary variants for serious questions.
| Field | Type | Description | |
|---|---|---|---|
| query | string | Required | Keyword query. Supports quoted phrases, OR, required terms, and excluded terms. |
| shelf | string | Optional | Limit to one shelf, e.g. economics-and-finance or philosophy. |
| book_id | string | Optional | Limit to one book after using list_books or inspect_book. |
| section_id | string | Optional | Limit to one section after inspecting a book's table of contents. |
| limit | integer | Optional | Max passages to return. Keep small for agent loops. Default is intentionally conservative. |
| include_notes | boolean | Optional | Include notes, indexes, bibliographies, and similar apparatus when deliberately needed. |
Returns ranked passages with IDs, book metadata, section locators, and citation info. Use read_section for surrounding context and get_citation for a clean final citation.
Use list_books to discover a title, inspect_book to get metadata
and its table of contents, and read_section when the agent needs the
surrounding argument instead of a single passage.
list_shelves returns the top-level categories currently used by
the public catalog. The taxonomy is practical and evolving; expect it
to improve as more corpora come online.
ShelfLayer citations are book and structure based: title, author, year where known, section, and paragraph locator. They are designed for transparent agent answers, not as a guarantee of a specific print page, ISBN, publisher, or modern edition.
{ "name": "get_citation", "arguments": { "passage_id": "psg_..." } }
ShelfLayer is the MCP server. Connect your host with Streamable HTTP and your agent gets the shelf as tools, without waiting for a separate SDK.
https://mcp.shelflayer.com/mcp
The server advertises OAuth. Connect through your client, sign in with Google, then let the client store and refresh the access token.
Empty results usually mean the query vocabulary is too modern, too broad, or simply absent from the public shelf. Agents should retry with older terms, quoted phrases, and alternate shelf scopes before giving up.
| Symptom | What it means | What to try |
|---|---|---|
| Missing Bearer token | You opened the MCP URL directly in a browser. | Connect from an MCP client and complete Google sign-in. |
| No matching passages | The terms may be too modern or absent from the current corpus. | Retry with older vocabulary, quoted phrases, or a shelf/book scope. |
| OAuth loop | The client may have cached an old connector or callback. | Remove the connector, add it again, and use https://mcp.shelflayer.com/mcp. |
| Tool not found | The host has not refreshed the tool list. | Reconnect the MCP server or restart the host application. |
Public beta limits are operational and may change while the server is being tuned. Keep agent loops modest: search first, inspect only the books that matter, then read sections when context is needed.
For connection problems, review questions, corpus suggestions, or enterprise shelves, email hello@shelflayer.com. Include the MCP host you used, the approximate time, and any error message.
You can also open the support page or read the privacy policy.