# Curated (remote · mcp.curated.network)

Keep and share lists of recommendations with your own notes, and read lists from people you trust.

- Trust score: 85/100 (high trust)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.curated.network`: 85/100 (this document), [markdown](https://verifymcp.io/servers/network-curated-curated/mcp.md), [page](https://verifymcp.io/servers/network-curated-curated/mcp)

## Channel facts

- Endpoint: `https://mcp.curated.network`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 11/100
  - TLS not yet verified: we couldn't open a connection to check the certificate.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS not yet verified: we couldn't read the response headers to check for it.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but we couldn't connect to verify it.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Curated MCP server?

Curated is a hosted endpoint at https://mcp.curated.network/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http network-curated-curated 'https://mcp.curated.network/'
```

### Cursor

```json
{
  "mcpServers": {
    "network-curated-curated": {
      "url": "https://mcp.curated.network/"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "network-curated-curated": {
      "type": "http",
      "url": "https://mcp.curated.network/"
    }
  }
}
```

### Codex

```toml
[mcp_servers.network-curated-curated]
url = "https://mcp.curated.network/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "network-curated-curated": {
      "type": "remote",
      "url": "https://mcp.curated.network/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add network-curated-curated --url 'https://mcp.curated.network/' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  network-curated-curated:
    url: "https://mcp.curated.network/"
```

### Netclaw

```json
{
  "McpServers": {
    "network-curated-curated": {
      "Transport": "http",
      "Url": "https://mcp.curated.network/"
    }
  }
}
```

### Vellum

```bash
assistant mcp add network-curated-curated -t streamable-http -u 'https://mcp.curated.network/'
```

### Other

```json
{
  "mcpServers": {
    "network-curated-curated": {
      "type": "http",
      "url": "https://mcp.curated.network/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 85, 0)

- [security regression] Endpoint reachability: reachable → unreachable
- [security regression] Stability: fail → unverified
- [security regression] HSTS header: fail → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [security regression] TLS certificate: pass → unverified
- [security regression] Transport: pass → fail
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: fail → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-04 (score 85, 0)

- [functional] New prompt “answer_from_lists”

### 2026-11-03 (score 85, 0)

- [security regression] Stability: 0.53 → fail
- [security regression] A breaking change shipped without a version bump: still 1.0.0
- [functional regression] “add_saved_item” added a required parameter “sourceListId”, so existing callers break
- [functional regression] “save_item” added a required parameter “sourceListId”, so existing callers break
- [cosmetic] “unsave_item” added an optional parameter “sourceListId”
- [cosmetic] “unsave_item” added an optional parameter “unresolved”
- [cosmetic] “save_item” dropped the optional parameter “list”

### 2026-11-02 (score 85, +1)

- [security] New tool “reposition_items”, which the server declares destructive
- [security] Tool “list_items” rewrote its description, which is the text the model reads
- [cosmetic] “list_items” added an optional parameter “cursor”
- [cosmetic] “list_items” added an optional parameter “limit”

### 2026-10-31 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (49)

### `account_context` (~42 tokens)

Check the connected account

Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. Never ask for a token in chat.

### `list_my_lists` (~43 tokens)

See my lists

Return the person's own lists (slug, title, status, Inbox flag) and the lists they have access to. Call before add_item when unsure which list to target.

### `create_list` (~163 tokens)

Create a private list

Create a new private list and return the exact slug to reuse in add_item. Repeating the same request dedupes instead of creating another recent list.

Input parameters:

- `category` (string): Usually omit: Curated picks the category from the title and picks. Set it only when the person names one: Food & Drink, Travel, Books, Music, Movies & TV, Gear & Tools, Software, Fashion, Home & Gard…
- `idempotency_key` (string): Optional retry key. Reusing it with identical input replays the first result.
- `subtitle` (string): One-line description of what the list is and who it's for.
- `title` (string, required): List title, 120 characters or fewer.

### `update_list` (~151 tokens)

Edit a list

Edit a list's title, subtitle, or category. Saves the working version without publishing. Readers keep seeing the last approved version until the owner approves a list update.

Input parameters:

- `category` (string): The category the person chose: Food & Drink, Travel, Books, Music, Movies & TV, Gear & Tools, Software, Fashion, Home & Garden, Ideas & Essays, Art, or Spirituality. Their choice stays; an empty stri…
- `list` (string, required): Which list: slug, exact title, or id. Must match exactly one list or the call fails.
- `subtitle` (string): New subtitle. Pass an empty string to clear.
- `title` (string): New title.

### `archive_list` (~76 tokens)

Archive a list

Archive one of the person's lists: it leaves their profile, search and readers' view, and its page stops working. Nothing is lost; unarchive_list brings it back. Confirm with the person first.

Input parameters:

- `list` (string, required): Which list: slug, exact title, or id. Must match exactly one list or the call fails.

### `unarchive_list` (~51 tokens)

Unarchive a list

Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses.

Input parameters:

- `list` (string, required): Which archived list: slug, exact title, or id.

### `delete_list` (~111 tokens)

Delete a list

Delete one of the person's lists for good. It disappears for them and for readers and cannot be brought back. Refused for Inbox. Only after the person asks to delete that exact list by name; offer archive_list when they may want it back.

Input parameters:

- `confirmTitle` (string, required): The list's exact title, after the person confirms deleting it. A different title deletes nothing.
- `list` (string, required): Which list: slug, exact title, or id. Must match exactly one list or the call fails.

### `add_item` (~281 tokens)

Add a pick

Capture one pick with the person's own note. Omit `list` only to deliberately use Inbox. An ambiguous or missing list writes nothing and returns candidates; ask the person, or set `create_if_missing` when they explicitly want a new list. Report the returned details status exactly.

Input parameters:

- `author` (string): Author or creator as the person gives it (books, articles, posts), e.g. from "Title - Author - why". Stored as the pick's author and never replaced by added details. Keep it out of the note.
- `create_if_missing` (boolean): When true and no list matches `list`, create that private list and save there.
- `idempotency_key` (string): Optional retry key. Reusing it with identical input replays the first result.
- `list` (string): List slug or title. Fuzzy-matched against the curator's lists. Omit to use Inbox.
- `note` (string): The curator's own note on why they like or recommend this pick. Shown to readers as written and never rewritten by AI, so capture it in the curator's voice when they give a reason.
- `title` (string): Short title for the pick (e.g. restaurant name, book title). Required when url is absent.
- `url` (string): The URL being captured, if any.

### `add_items` (~124 tokens)

Add several picks

Add up to 50 picks to one list in a single call, in order. Unlike add_item this never falls back to the Inbox: `list` must resolve to exactly one of the curator's lists or nothing is written.

Input parameters:

- `idempotency_key` (string): Stable key for this reviewed batch. Reuse the same key and identical picks after a lost response.
- `items` (array, required): Up to 50 picks, added in the order given.
- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.

### `import_from_url` (~182 tokens)

Import from a link

Import picks into a list from one link: a Google Maps list shared with "Anyone with the link" (every place, in order, with the owner's notes; pasting it again adds only new places), a Google Maps place (one pick) or a public YouTube playlist (up to 500 videos). Spotify playlists and Letterboxd lists no longer let apps read them; the tool says so, and the person can bring their export in Curated instead. For a whole list you want to sort first, use start_import.

Input parameters:

- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.
- `url` (string, required): A Google Maps shared list or place link (maps.app.goo.gl works), Spotify playlist, YouTube playlist (a link with list=) or Letterboxd list URL.

### `start_import` (~327 tokens)

Import a whole list

Bring a whole list in to sort, privately. Pass `url` for a Google Maps list shared with "Anyone with the link" (Curated reads every place), or `picks` you read yourself from anywhere else: a page, an account, a document or an export (up to 1,000 per call; send more with stage_picks). Nothing is added to a list until commit_import, and nothing is published.

Input parameters:

- `idempotency_key` (string): Optional retry key. Reusing it with identical input replays the first result.
- `list` (string): Optional destination list. Otherwise commit_import can make a new private list.
- `own_list` (boolean): True (default) when the source is the person's own: their notes become their notes. False for someone else's list or account: words stay credited to them.
- `picks` (array)
- `sort` (boolean): True when most entries are probably not recommendations (an account's posts, saved posts): everything arrives unsorted for the person to keep or skip. Default false: everything arrives kept.
- `source_owner` (string): Whose list or account it is, when it is not the person's own, e.g. "@tinnedfish". Credits them on the list.
- `title` (string): The source list's own name, e.g. "@tinnedfish's posts" or "Films I rewatch". Required with picks.
- `url` (string): A Google Maps shared-list link (maps.app.goo.gl works). Omit when sending picks.

### `stage_picks` (~66 tokens)

Add more picks to an import

Add up to 1,000 more picks to an import started with start_import, for sources longer than one call.

Input parameters:

- `import_id` (string, required): The id start_import returned.
- `picks` (array, required)
- `sort` (boolean): Same meaning as in start_import.

### `review_import` (~62 tokens)

See an import

Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort.

Input parameters:

- `import_id` (string, required)
- `offset` (integer)
- `state` (string): Only entries in this state.

### `sort_import` (~90 tokens)

Keep or skip imported entries

Keep or skip entries in an import, by id or all unsorted at once, as the person decides. Never decide for them which posts are recommendations; suggest, then ask.

Input parameters:

- `import_id` (string, required)
- `keep` (array): Entry ids to keep.
- `rest` (string): Then keep or skip every entry still unsorted.
- `skip` (array): Entry ids to skip.

### `commit_import` (~131 tokens)

Add an import to a list

Add the kept entries of an import to a list, privately: the list given at start_import, another list of theirs, or a new private list. Safe to retry; nothing is added twice. A Google Maps list can stay connected so new saves there show up later.

Input parameters:

- `connect` (boolean): Keep a Google Maps list connected (default true).
- `import_id` (string, required)
- `list` (string): Destination, when start_import had none. Omit to make a new private list.
- `new_list_title` (string): Title for a new list. Defaults to the source's title.

### `list_sources` (~62 tokens)

See a list's linked source

Show what one of the person's lists is connected to: when it was last checked, what is new and waiting, and what is gone at the source.

Input parameters:

- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.

### `check_source` (~103 tokens)

Check a linked source now

Read a connected list's source again now (up to 10 times a day per list). New entries arrive by the list's policy; nothing is removed.

Input parameters:

- `policy` (string): Optionally change what happens to new entries first: wait to be sorted (ask) or be added privately (add_private). Add and publish is set in Curated, after the person verifies the list is theirs.
- `source_id` (string, required): A connection id from list_sources.

### `list_items` (~138 tokens)

Open my list for editing

Read the picks in one of your lists, in reader order, with item ids, 200 at a time unless you pass `limit`. When `nextCursor` is set, pass it as `cursor` for the next page. Call this before update_item or remove_item to get the id you need.

Input parameters:

- `cursor` (string): The `nextCursor` from the previous page. Omit for the first page.
- `limit` (number): Picks per page, up to 1,000. Defaults to 200.
- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.

### `search_items` (~98 tokens)

Search my picks

Search the person's own picks on every list they made, the Inbox included, by name, their note, details, list title or link site. Forgives small typos. Useful to find something they kept, or to check for a duplicate before add_item.

Input parameters:

- `list` (string): Optional list slug or title to scope the search.
- `query` (string, required): Words the person remembers: a name, something from their note, a place.

### `update_item` (~161 tokens)

Edit a pick

Edit one pick's title, curator note, URL or author. The note is the curator's own words and is never rewritten by AI, so preserve their voice.

Input parameters:

- `author` (string): Author or creator as the person gives it (books, articles, posts), e.g. from "Title - Author - why". Stored as the pick's author and never replaced by added details. Keep it out of the note. Pass an…
- `itemId` (string, required): Item id from list_items or search_items.
- `note` (string): New curator note. Pass an empty string to clear it.
- `title` (string): New title.
- `url` (string): New URL. Pass an empty string to clear it.

### `remove_item` (~77 tokens)

Remove a pick

Remove one pick from a list. Curated keeps it with its note, links and saves, and restore_item puts it back. Confirm with the curator first. Changes the working version only; readers keep seeing the last approved version until the owner approves a list update.

Input parameters:

- `itemId` (string, required): Item id from list_items or search_items.

### `removed_items` (~90 tokens)

See removed picks

List picks removed from one of the person's lists that have not been put back, newest first, with their notes and ids for restore_item. Follow nextCursor as cursor to reach older picks.

Input parameters:

- `cursor` (string): nextCursor from the previous removed_items page; omit for the newest picks.
- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.

### `restore_item` (~74 tokens)

Restore a removed pick

Put a removed pick back on its list where it was, with the same id, note, details, links and saves. Changes the working version only; readers keep seeing the last approved version until the owner approves a list update.

Input parameters:

- `itemId` (string, required): removedId from remove_item, or an id from removed_items.

### `reorder_items` (~135 tokens)

Reorder a list

Put a list's picks in a new order. Pass every item id exactly once, first to last, and the `revision` from list_items; if the list changed since, nothing is written and the current revision comes back. Changes the working order only; readers keep seeing the last approved version until the owner approves a list update. Private lists stay private.

Input parameters:

- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.
- `order` (array, required): Every item id in the list, in the new order.
- `revision` (string, required): The `revision` list_items returned.

### `reposition_items` (~203 tokens)

Place picks in a list

Place up to 100 picks right before or after another pick on the same list, in the order given, without sending the whole list. Use it on long lists, or to move a few picks. Pass the `revision` from list_items; if the list changed since, nothing is written and the current revision comes back. Changes the working order only; readers keep seeing the last approved version until the owner approves a list update. Private lists stay private.

Input parameters:

- `after` (string): Id of the pick to place them just after. Pass this or `before`.
- `before` (string): Id of the pick to place them just before. Pass this or `after`.
- `itemIds` (array, required): Item ids from list_items to place, in the order they should appear.
- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.
- `revision` (string, required): The `revision` list_items returned.

### `move_items` (~213 tokens)

Move picks to another list

Move picks from one of the person's lists to another, keeping each pick's note, details and history. They go to the end of the destination in the order given. Pass the source list's `revision` from list_items; if it changed since, nothing moves. Changes the working versions only; readers keep seeing the last approved versions. On a live destination, call review_items and confirm_items for the moved picks after the person's approval. Updating the source's published version requires separate owner approval. Private lists stay private. An archived list can't take picks until it is unarchived.

Input parameters:

- `from` (string, required): The list the picks are in now.
- `itemIds` (array, required): Item ids from list_items on the `from` list.
- `revision` (string, required): The `revision` list_items returned for the `from` list.
- `to` (string, required): The list to move them to.
- `toRevision` (string): Optional: the destination revision, to refuse the move if it changed too.

### `review_items` (~119 tokens)

Preview new picks

After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/byline, original note, short description and labeled links for every pick. Keep reviewId and itemRefs internal. Omit IDs, positions, confidence scores and provenance commentary. Ask once if it looks good. No app visit or later list update is needed. An unfinished preview survives reconnecting.

Input parameters:

- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.

### `pick_review_status` (~78 tokens)

Check whether picks were added

Read whether an exact pick preview was already confirmed, is pending, or expired. Use when reopening a previous preview or checking a lost confirmation response. Never adds picks, starts enrichment, or changes the review. Keep reviewId internal. If confirmed, do not ask for approval again.

Input parameters:

- `reviewId` (string, required): reviewId from review_items.

### `confirm_items` (~77 tokens)

Add the approved picks

After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay private. Never approves unrelated edits. Requires lists.publish only for a published destination. If the preview changed, call review_items and show the refreshed picks.

Input parameters:

- `reviewId` (string, required): reviewId from review_items.

### `publish_list` (~143 tokens)

Preview publishing

Prepare first publication or a list-wide update. For new picks use review_items and confirm_items during addition. Publishes nothing. Returns exactly what would become public and, when this connection may publish from chat, a review to confirm with confirm_publication after the owner agrees. Otherwise it returns a browser link where the owner publishes. Show the supplied public URL as a clickable link labeled "Link after publishing", distinct from the owner-only review link. The returned preview is the exact public content: present it as written, with no added images, layouts or caveats.

Input parameters:

- `list` (string, required): Which list: exact slug, handle/slug, or id from a previous result.

### `confirm_publication` (~104 tokens)

Publish a reviewed list

Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publish when done'. If anything changed since the review, nothing is published and a fresh review comes back to show them.

Input parameters:

- `handle` (string): Only when the review showed an unconfirmed handle: the same handle, after the owner confirms it's theirs to show publicly.
- `reviewId` (string, required): review.reviewId from publish_list.

### `search_lists` (~121 tokens)

Search live lists

Search every live list on Curated, not just the person's own. Each result carries `access` (yours, unlocked or locked) and a `ref` of the form handle/slug, the unambiguous way to name a list in get_list.

Input parameters:

- `category` (string): Optional category slug to narrow results, e.g. "restaurants".
- `limit` (number): Max results, 1 to 25. Defaults to 10.
- `query` (string, required): What to look for, e.g. "natural wine bars in Lisbon".

### `find_lists` (~48 tokens)

Find live lists

Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one.

Input parameters:

- `query` (string, required): What the user is looking for.

### `get_list` (~119 tokens)

Read a list

Read one list: every pick of a live list, or of one of the person's own. Accepts handle/slug, a bare slug, a title, or an id.

Input parameters:

- `format` (string): How to render the reply text. 'text' (default): numbered rows, one field per line, best for reading the list yourself. 'markdown': linked bold titles and quoted notes, for relaying the list to the us…
- `list` (string, required): Which list: handle/slug, slug, title, or id.

### `get_list_items` (~113 tokens)

Read a list's picks

Read one list and report each pick's details status. The capture read-back check; use the exact slug returned by create_list or list_my_lists.

Input parameters:

- `format` (string): How to render the reply text. 'text' (default): numbered rows, one field per line, best for reading the list yourself. 'markdown': linked bold titles and quoted notes, for relaying the list to the us…
- `list` (string, required): Exact returned slug, handle/slug, title, or id.

### `save_list` (~52 tokens)

Save a list

Save a live list to Library under Saved lists, with its new picks. Never follows the curator, turns on email or publishes. Idempotent across retries.

Input parameters:

- `list` (string, required): Exact list id or slug.

### `saved_lists` (~31 tokens)

See saved lists

Read back Saved lists, matching the app. Each one brings its new picks.

Input parameters:

- `limit` (number)

### `save_item` (~101 tokens)

Save a pick

Save one pick from a list you can read, yours or anyone's, to Library under Saved picks. Use the item id from get_list_items or list_items. Does not copy the pick, follow or publish. Idempotent across retries.

Input parameters:

- `itemId` (string, required): Item id from get_list_items, list_items or search_items.
- `sourceListId` (string, required): The exact source list id from get_list_items, saved_items or search_library.

### `unsave_item` (~85 tokens)

Unsave a pick

Remove one pick from Saved picks. Idempotent. Never changes the list or the pick.

Input parameters:

- `itemId` (string, required): Item id from saved_items.
- `sourceListId` (string): The exact source list id from saved_items. Required unless unresolved is true.
- `unresolved` (boolean): Set true only to remove a source_unknown save, without sourceListId.

### `saved_items` (~85 tokens)

See saved picks

Read back your saved picks across every list, newest first, matching Saved picks in the app. Separate from saved_lists and from my_library access.

Input parameters:

- `cursor` (string): The cursor from a previous saved_items result, to read further.
- `limit` (number)
- `list` (string): Optional list id, slug or handle/slug to show saves from one list.

### `add_saved_item` (~153 tokens)

Add a saved pick to my list

Add a pick you can read, usually one from saved_items, to one of your own lists as a new pick. Carries the facts (title, link, place, type) and records where it was found; the note starts empty because the source curator's words are theirs. Does not change the source list or the save.

Input parameters:

- `idempotency_key` (string): Stable across retries so a lost response does not add the pick twice.
- `itemId` (string, required): Item id from saved_items or get_list_items.
- `list` (string, required): Your list slug or title. Call list_my_lists if unsure.
- `sourceListId` (string, required): The source list id for the appearance being copied.

### `my_library` (~54 tokens)

See my Library

The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those.

Input parameters:

- `limit` (number): Max lists, 1 to 200. Defaults to 50.

### `search_library` (~111 tokens)

Search my Library

Search the person's Library: picks they saved and the picks in lists in their Library, as readers see them. "What was that ramen place from the Tokyo list?"

Input parameters:

- `limit` (number): Max picks, 1 to 50. Defaults to 20.
- `list` (string): Optional: restrict to one list (handle/slug, slug, title, or id).
- `query` (string, required): Words to match against pick names, the curator's notes, details, list titles and link sites.

### `library_updates` (~92 tokens)

See what's new in my Library

What's new in the lists this person has access to since a point in time. Defaults to the last 7 days. Pass the returned `checkedAt` back as `since` next time for a gap-free diff.

Input parameters:

- `limit` (number): Max new picks, 1 to 200. Defaults to 50.
- `since` (string): ISO 8601 timestamp. Defaults to 7 days ago.

### `get_list_updates` (~58 tokens)

Save a free list

Older name for save_list on a live free list: saves it to Library with its new picks. Only when asked. Idempotent; no curator follow, email or payment. Read back with saved_lists.

Input parameters:

- `list` (string, required)

### `follow_curator` (~53 tokens)

Follow a curator

Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email.

Input parameters:

- `following` (boolean, required)
- `handle` (string, required)

### `curator_notifications` (~54 tokens)

Email me about a curator

Read a followed curator's email preference, or set `enabled` only on an explicit email request. Follow is separate consent; list access and bookmarks are unchanged.

Input parameters:

- `enabled` (boolean)
- `handle` (string, required)

### `list_notifications` (~87 tokens)

Set new-pick notifications

Read every notification setting when `push` and `email` are omitted. Only on an explicit request, set push and/or email about new picks on one list the person gets updates for. Never changes access, saves or follows.

Input parameters:

- `email` (boolean)
- `list` (string): List id, slug or handle/slug; required when setting.
- `push` (boolean)

### `unlock_list` (~58 tokens)

Save a free list

Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone.

Input parameters:

- `list` (string, required): Which list: handle/slug, slug, title, or id.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/network-curated-curated/mcp#diagnostics

## Score history

- 2026-11-05: 85
- 2026-11-04: 85
- 2026-11-03: 85
- 2026-11-02: 85
- 2026-11-01: 84
- 2026-10-31: 84
- 2026-10-30: 83
- 2026-10-29: 83
- 2026-10-28: 82
- 2026-10-27: 82
- 2026-10-26: 81
- 2026-10-25: 81
- 2026-10-24: 80
- 2026-10-23: 80
- 2026-10-22: 79
- 2026-10-21: 79
- 2026-10-20: 78
- 2026-10-19: 78
- 2026-10-18: 77
- 2026-10-17: 77

## Common questions

### What is the Curated MCP server?

Curated is an MCP server listed in the public MCP registry as network.curated/curated. Keep and share lists of recommendations with your own notes, and read lists from people you trust. This page covers its hosted endpoint (https://mcp.curated.network).

### Is the Curated MCP server safe to use?

Curated scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Curated MCP server expose?

Curated exposes 49 tools: account_context, list_my_lists, create_list, update_list, archive_list, and 44 more. Their descriptions and schemas cost roughly 5,250 tokens of context every time the server is loaded.

### Does the Curated MCP server require authentication?

Its publisher declares no required credentials for Curated. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Curated MCP server still maintained?

Curated is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.curated.network/
- Website: https://curated.network/agent-setup/instructions
- Changelog RSS feed: https://verifymcp.io/servers/network-curated-curated/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/network-curated-curated/mcp.json
- HTML version of this page: https://verifymcp.io/servers/network-curated-curated/mcp
