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
dataset no books (default), food, or movies_tv

Empty on books release 2026-09.2.

`lookup_gtin`

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

Use when the user (or a row) has a barcode. Do not use search_foods for a GTIN.

Argument Required Notes
gtin yes 8–14 digits. Hyphens ok

Returns a food object.

`get_food`

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

Argument Required Notes
id yes fds_fo_…

`search_foods`

Maps to GET /v1/foods/search.

Argument Required Notes
q one of q / brand / type / category Name prefix
brand no
type no branded · sr_legacy · survey · foundation
category no
has_image no
limit no Default 20, max 50

`resolve_food`

Maps to POST /v1/match (dataset=food).

Argument Required Notes
name one of name or gtin
gtin one of name or gtin Short-circuits to exact_gtin
brand no Rank filter
limit no Default 10

`search_brands`

Maps to GET /v1/brands/search.

Argument Required Notes
q yes Brand name or prefix
limit no Default 20

`similar_foods`

Maps to GET /v1/foods/{id}/similar or GET /v1/gtin/{gtin}/similar.

Argument Required Notes
id one of id or gtin fds_fo_…
gtin one of id or gtin Same role as ISBN on book similar
limit no Default 8

`lookup_imdb`

Maps to GET /v1/imdb/{imdb_id}. Use when the user has an IMDb id or URL (tt… title, nm… person). Do not use search_titles for an IMDb id.

Argument Required Notes
imdb_id yes tt0111161, nm0000151, or an imdb.com URL

Returns { "entity_type": "title" | "person", ... }. See Movies & TV.

`lookup_wikidata`

Maps to GET /v1/wikidata/{qid}. Same response shape as lookup_imdb.

`resolve_title`

Maps to POST /v1/match (dataset=movies_tv). Films and series only.

Argument Required Notes
title one of title or imdb_id Folded: accents, punctuation, case
year no ±1 tolerance; exact year boosts
kind no film or series
imdb_id one of title or imdb_id Short-circuits to exact_imdb
limit no Default 10, max 25

`search_titles`

Maps to GET /v1/titles/search.

Argument Required Notes
q unless a filter is set Title prefix, then trigram
kind no film · series · season · episode
year, year_from, year_to no Year filters
limit no Default 20, max 50
cursor no From next_cursor

`get_title`

Maps to GET /v1/titles/{id}. id is fds_fi_ / fds_tv_ / fds_se_ / fds_ep_.

`get_person`

Maps to GET /v1/people/{id}. id is fds_pe_….

`search_people`

Maps to GET /v1/people/search. Use for a person-only query.

`get_person_credits`

Maps to GET /v1/people/{id}/credits. Optional role (director, cast, writer, …) and limit.

`get_episodes`

Maps to GET /v1/titles/{id}/episodes. id is a series or season. Optional season, limit, cursor.

`get_seasons`

Maps to GET /v1/titles/{id}/seasons. id is a series.

Not exposed

REST Why
GET /v1/authors/:id Use search_authors for names; call REST if you already have fds_au_…
GET /v1/brands/:id Use search_brands for names; call REST if you already have fds_fb_…
Bulk parquet Call REST /v1/datasets/books/releases/latest, /v1/datasets/food/releases/latest, or /v1/datasets/movies_tv/releases/latest

`search_icons`

Find an icon by meaning across the Icons dataset. Plain words work: “something spicy”, “dairy”, “a key”. Filter with set=pixelset|lineset and collection. Hits carry public cdn_url (PNG) and svg_url (SVG) files on cdn.fulldatasets.com; hotlink or download them, no auth. GET /v1/icons/search.

`get_icon`

One icon by fds_ic_… id or by path set/collection/slug, e.g. pixelset/ingredients/wheat. Returns name, description, aliases, cdn_url, svg_url, size, license, and siblings in the other set. GET /v1/icons/{id} or GET /v1/iconsets/{set}/{collection}/{slug}.