Reference
Data source: Open Library (Internet Archive)
MCP Protocol
Endpoint
https://context.gnist.ai/mcp/open-library/
claude_desktop_config.json
{
"mcpServers": {
"gnist-open-library": {
"url": "https://context.gnist.ai/mcp/open-library/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Shell
curl -X POST "https://context.gnist.ai/mcp/open-library/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_books", "arguments": {"query": "example"}}}'
REST API
API Root
https://context.gnist.ai/rest/open-library/
7 endpoints available:
GET /rest/open-library/search_booksGET /rest/open-library/get_bookGET /rest/open-library/search_authorsGET /rest/open-library/get_authorGET /rest/open-library/get_editionsGET /rest/open-library/search_by_isbnGET /rest/open-library/report_feedback
Shell
curl "https://context.gnist.ai/rest/open-library/search_books?query=example" \ -H "Gnist-API-Key: YOUR_API_KEY"
Python
import httpx
resp = httpx.get(
"https://context.gnist.ai/rest/open-library/search_books",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
params={
"query": "example"
},
)
print(resp.json())
Command Line
Command
gc open-library
CLI documentation will be available when the GnistAI SDK is published.
Install
pip install gnistai
Available Tools (7)
search_booksSearch Open Library for books by title, author, or subject.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query — title, author, or subject (e.g. "the lord of the rings", "tolkien"). |
limit | integer | optional | Max results to return (1-100). Default 10. (default: 10) |
get_bookGet detailed information about a book/work by its Open Library work ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
olid | string | required | Open Library work ID (e.g. "OL27448W" for The Lord of the Rings). |
search_authorsSearch Open Library for authors by name.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Author name to search for (e.g. "tolkien", "ursula le guin"). |
limit | integer | optional | Max results to return (1-100). Default 10. (default: 10) |
get_authorGet detailed information about an author by Open Library author ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
olid | string | required | Open Library author ID (e.g. "OL26320A" for J.R.R. Tolkien). |
get_editionsGet all editions of a work — different publishers, languages, formats.
| Parameter | Type | Required | Description |
|---|---|---|---|
olid | string | required | Open Library work ID (e.g. "OL27448W"). |
limit | integer | optional | Max editions to return (1-100). Default 10. (default: 10) |
search_by_isbnLook up a specific book edition by its ISBN-10 or ISBN-13.
| Parameter | Type | Required | Description |
|---|---|---|---|
isbn | string | required | ISBN-10 or ISBN-13 (e.g. "9780618640157" or "0618640150"). |
report_feedbackReport a bug, feature request, or general feedback for this data source.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |