# Connect MCP

Endpoint: `https://mcp.fulldatasets.com/mcp`

Transport: streamable HTTP (JSON-RPC). **Same Bearer key** as REST.

Read the tool list in [MCP tools](/docs/mcp-tools). Full agent spec: https://fulldatasets.com/docs.md

## Cursor

```json
{
  "mcpServers": {
    "fulldatasets": {
      "url": "https://mcp.fulldatasets.com/mcp",
      "headers": {
        "Authorization": "Bearer fds_live_<kid>_<secret>"
      }
    }
  }
}
```

The header value is `Bearer` plus one space plus the key. Do not nest a second `Bearer`.

After connect, `initialize` returns `instructions` that point at this docs set. `tools/list` is the live tool catalog.

## Which tool

| Situation | Tool |
|---|---|
| User gave an ISBN | `lookup_isbn` |
| User named a book | `resolve_book` — take the first candidate |
| Author name only | `search_authors` |
| Genre browse | `search_books` with `genre=` |
| Books like these | `recommend_books` (content similarity, not social) |
| You have `fds_ed_…` | `get_book` |
| You have `fds_wk_…` and want the work / synopsis | `get_work` |
| Browse or filter | `search_books` |
| Sync a cursor | `get_changes` (empty on `2026-09.2`) |

## Check

`lookup_isbn` `9780593135204` should return *Project Hail Mary*, Andy Weir, and a description.

## Auth failures

`401` on `POST /mcp` means the header is wrong or the key is revoked. Tool names are not the problem.

Rate limits are enforced on the API behind the service binding (120 / 60s per key), same as REST.

## See also

- [MCP tools](/docs/mcp-tools) — arguments and return shapes
- [Authentication](/docs/authentication)
- [Choose an endpoint](/docs/choose)
