Docs

MCP

MCP tools

Arguments and REST mappings for every tool.

Markdown Full spec OpenAPI

Live endpoint: https://mcp.fulldatasets.com/mcp. Setup: Connect MCP.

Each tool is a thin pass-through to REST. Errors come back as the API JSON (error.code) inside the tool text.

Call one tool. Do not scrape HTML docs.

`lookup_isbn`

Maps to GET /v1/isbn/{isbn}.

Use when the user (or a row) has an ISBN-10 or ISBN-13. Do not use search_books for an ISBN.

Argument Required Notes
isbn yes Hyphens ok

Returns a book object. Prefer contributors[].id (fds_au_…) when you need to fetch or link an author.

`resolve_book`

Maps to POST /v1/match.

Use when the user named a book and you need the edition. Take candidates[0].

Argument Required Notes
title one of title or isbn
isbn one of title or isbn Short-circuits to exact_isbn
author no Rank filter; not AND’d into FTS
kind no Prefer primary unless graphic / any
limit no Default 10, max 25

`search_authors`

Maps to GET /v1/authors/search.

Use for an author-only query. Do not put the name into search_books.

Argument Required Notes
q yes Name or prefix
limit no Default 20

`recommend_books`

Maps to POST /v1/recommend.

Content-similar works from seeds. Not “readers also liked.” Resolve messy titles with resolve_book first if you need to.

Argument Required Notes
seeds yes { isbn }, { id }, or { title, author }
limit no Default 10
kind no Follows seed majority when omitted
same_author no cap or prefer

`get_book`

Maps to GET /v1/books/{id}.

Argument Required Notes
id yes fds_ed_…

`get_work`

Maps to GET /v1/works/{id}.

Argument Required Notes
id yes fds_wk_…

Use when you already have a work id and want the work record / synopsis. Book tools already include the parent description.

`search_books`

Maps to GET /v1/books/search.

Browse or filter. Not the first choice for a known title.

Argument Required Notes
q yes Title-ish query. Not a genre name
author no Name filter after title match
year no Number
language no e.g. eng
subject no Exact raw OL tag
genre no Closed facet (fantasy, science_fiction, …)
kind no Default prefers primary
limit no Default 20, max 100

`get_changes`

Maps to GET /v1/changes.

Argument Required Notes
since yes Cursor
limit no Default 100, max 1000

Empty on release 2026-09.2.

Not exposed

REST Why
GET /v1/authors/:id Use search_authors for names; call REST if you already have fds_au_…
Bulk parquet Call REST /v1/datasets/books/releases/latest