{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wt6u2325tg7m","handle":"curated","url":"https://wellknown.network/agents/curated","links":{"self":"https://wellknown.network/agents/curated/record.json","html":"https://wellknown.network/agents/curated","markdown":"https://wellknown.network/agents/curated/record.md","api":"https://wellknown.network/api/v1/agents/curated","status":"https://wellknown.network/api/v1/agents/curated/status","claim":"https://wellknown.network/agents/curated/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/curated/claim.json","badge":"https://wellknown.network/agents/curated/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/curated/history","tools":"https://wellknown.network/api/v1/agents/curated/tools"},"ard":{"identifier":"urn:air:mcp.curated.network:server:curated","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Curated","summary":"Keep and share lists of recommendations with your own notes, and read lists from people you trust.","description":"Keep and share lists of recommendations with your own notes, and read lists from people you trust.","publisher":{"name":"network.curated","url":null},"homepage":"https://curated.network/agent-setup/instructions","repository":null,"version":"1.0.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.curated.network","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-19T18:01:06.783028Z","publishedAt":"2026-10-19T18:01:06.783028Z","registryName":"network.curated/curated"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"productivity.email","name":"Email","confidence":0.962,"provenance":"derived"},{"slug":"productivity.notes","name":"Notes & Docs","confidence":0.859,"provenance":"derived"},{"slug":"geo.maps","name":"Maps & Places","confidence":0.569,"provenance":"derived"},{"slug":"productivity.hr","name":"HR & Recruiting","confidence":0.554,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.51,"provenance":"derived"}],"categories":["commerce","communication","content","geo","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-20T22:22:46.144Z","lastProbedAt":"2026-10-20T22:22:46.144Z","statusComputedAt":"2026-10-20T22:25:47.118Z","reliability30d":{"probes":13,"successRate":1,"p50Ms":184,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":13,"ok":13,"authBoundaryOk":0,"serviceOk":13,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-20T22:22:46.144Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":185,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"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"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"5403314dec3869a0da6bb9cadcf916608ee69947f743ecbd989698156ba64603","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T15:31:56.430Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":166,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"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"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"5403314dec3869a0da6bb9cadcf916608ee69947f743ecbd989698156ba64603","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T09:26:19.768Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":177,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"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"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"5403314dec3869a0da6bb9cadcf916608ee69947f743ecbd989698156ba64603","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T02:32:57.502Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":184,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"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"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"5403314dec3869a0da6bb9cadcf916608ee69947f743ecbd989698156ba64603","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T20:30:45.246Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":177,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"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"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"5403314dec3869a0da6bb9cadcf916608ee69947f743ecbd989698156ba64603","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T13:27:40.680Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"Edit a list's title, subtitle, category, or the curator's own About answers. Saves the working version without publishing. Readers keep seeing the last approved"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"ceaa2fce0cb433b4e95481f625ec7c96f9bc53a68693961c0b536c9b042e3e46","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T06:27:53.396Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"Edit a list's title, subtitle, category, or the curator's own About answers. Saves the working version without publishing. Readers keep seeing the last approved"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"ceaa2fce0cb433b4e95481f625ec7c96f9bc53a68693961c0b536c9b042e3e46","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T00:35:17.012Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"Edit a list's title, subtitle, category, or the curator's own About answers. Saves the working version without publishing. Readers keep seeing the last approved"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"ceaa2fce0cb433b4e95481f625ec7c96f9bc53a68693961c0b536c9b042e3e46","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-18T18:29:17.644Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"Edit a list's title, subtitle, category, or the curator's own About answers. Saves the working version without publishing. Readers keep seeing the last approved"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"ceaa2fce0cb433b4e95481f625ec7c96f9bc53a68693961c0b536c9b042e3e46","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-18T12:26:15.735Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":178,"error":null,"detail":{"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"Edit a list's title, subtitle, category, or the curator's own About answers. Saves the working version without publishing. Readers keep seeing the last approved"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"toolCount":48,"toolsHash":"ceaa2fce0cb433b4e95481f625ec7c96f9bc53a68693961c0b536c9b042e3e46","serverName":"curated","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"account_context","description":"Verify the connected account and its readiness before creating or changing lists. Returns account requirements, recovery URLs and what this connection may do. N"},{"name":"list_my_lists","description":"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."},{"name":"create_list","description":"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."},{"name":"update_list","description":"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"},{"name":"archive_list","description":"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"},{"name":"unarchive_list","description":"Bring an archived list back. It returns as a private list: going live again is a separate publish the person chooses."},{"name":"delete_list","description":"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 d"},{"name":"add_item","description":"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"},{"name":"add_items","description":"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"},{"name":"import_from_url","description":"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 a"},{"name":"start_import","description":"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 "},{"name":"stage_picks","description":"Add up to 1,000 more picks to an import started with start_import, for sources longer than one call."},{"name":"review_import","description":"Read an import's entries with their ids and states (kept, skipped, unsorted), to show the person or to sort."},{"name":"sort_import","description":"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 as"},{"name":"commit_import","description":"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"},{"name":"list_sources","description":"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."},{"name":"check_source","description":"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."},{"name":"list_items","description":"Read every pick in one of your lists, in reader order, with item ids. Call this before update_item or remove_item to get the id you need."},{"name":"search_items","description":"Search the curator's own picks by title or URL. Useful to check for a duplicate before add_item."},{"name":"update_item","description":"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."},{"name":"remove_item","description":"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"},{"name":"removed_items","description":"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 cur"},{"name":"restore_item","description":"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 la"},{"name":"reorder_items","description":"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 wri"},{"name":"move_items","description":"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. P"},{"name":"review_items","description":"After adding or importing picks, fetch their enriched preview here. If preparing, wait briefly and call again. Render previewMarkdown: supplied artwork, title/b"},{"name":"pick_review_status","description":"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"},{"name":"confirm_items","description":"After the person approves the enriched preview from review_items, finish adding those exact picks. Published lists show them immediately; private lists stay pri"},{"name":"publish_list","description":"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"},{"name":"confirm_publication","description":"Publish the exact list the owner reviewed, after they explicitly agree to that summary in this conversation. Never on an earlier general instruction like 'publi"},{"name":"search_lists","description":"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 "},{"name":"find_lists","description":"Search live Curated lists by topic, title, or curator handle. Returns exact slugs; use get_list_items to read one."},{"name":"get_list","description":"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."},{"name":"get_list_items","description":"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."},{"name":"save_list","description":"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."},{"name":"saved_lists","description":"Read back Saved lists, matching the app. Each one brings its new picks."},{"name":"save_item","description":"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 pi"},{"name":"unsave_item","description":"Remove one pick from Saved picks. Idempotent. Never changes the list or the pick."},{"name":"saved_items","description":"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."},{"name":"add_saved_item","description":"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"},{"name":"my_library","description":"The lists this person saved, each bringing its new picks. Their own lists are not included; use list_my_lists for those."},{"name":"search_library","description":"Search inside the lists this person has access to: \"what was that ramen place from the Tokyo list?\". Only searches lists they can read in full."},{"name":"library_updates","description":"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 fo"},{"name":"get_list_updates","description":"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 bac"},{"name":"follow_curator","description":"Explicitly follow or unfollow a curator by handle. Idempotent desired state, never a toggle. Does not save a list or enable email."},{"name":"curator_notifications","description":"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 unchan"},{"name":"list_notifications","description":"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 g"},{"name":"unlock_list","description":"Save a live free list with its new picks, only when the person asks. Same result as save_list. Idempotent; never charges anyone."}],"package":null,"toolSurface":{"id":"ts_hhs26sp4mdtq","endpointId":"ep_gt6xmdbqmvax","hash":"5403314dec3869a0da6bb9cadcf916608ee69947f743ecbd989698156ba64603","toolCount":48,"serverName":"curated","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-19T20:30:45.260Z","lastSeenAt":"2026-10-20T22:22:46.145Z","observations":5,"toolNames":["account_context","list_my_lists","create_list","update_list","archive_list","unarchive_list","delete_list","add_item","add_items","import_from_url","start_import","stage_picks","review_import","sort_import","commit_import","list_sources","check_source","list_items","search_items","update_item","remove_item","removed_items","restore_item","reorder_items","move_items","review_items","pick_review_status","confirm_items","publish_list","confirm_publication","search_lists","find_lists","get_list","get_list_items","save_list","saved_lists","save_item","unsave_item","saved_items","add_saved_item","my_library","search_library","library_updates","get_list_updates","follow_curator","curator_notifications","list_notifications","unlock_list"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_gt6xmdbqmvax","url":"https://mcp.curated.network","type":"mcp_streamable_http","factsCheckedAt":"2026-10-18T05:25:47.727Z","auth":{"observedAt":"2026-10-18T05:25:48.033Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.curated.network/.well-known/oauth-protected-resource","resource":"https://mcp.curated.network","authorizationServers":["https://mcp.curated.network"],"scopesSupported":["lists.write","lists.publish"]},"authorizationServer":{"url":"https://mcp.curated.network/.well-known/oauth-authorization-server","issuer":"https://mcp.curated.network","grantTypesSupported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-18T05:25:48.046Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.curated.network","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-29T22:31:59.000Z","validTo":"2026-12-28T22:31:58.000Z","daysToExpiry":68,"sanCount":1,"fingerprint256":"92:EF:81:C7:0F:24:3A:C1:C4:FD:A7:0F:8E:B4:DA:9C:39:9B:F9:2E:EF:88:35:86:EF:F9:A2:1E:F7:3E:29:E9"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"network.curated/curated","url":"https://registry.modelcontextprotocol.io/v0/servers/network.curated%2Fcurated","firstSeenAt":"2026-10-17T15:21:12.833Z","fetchedAt":"2026-10-20T22:18:27.540Z","normalizedAt":"2026-10-20T22:18:27.540Z"}]},"firstSeenAt":"2026-10-17T15:21:12.833Z","updatedAt":"2026-10-20T22:27:36.569Z"}