ai.smry.r/smry-product

smry Product

Read public sources and manage a smry library, feeds, notes, highlights, files, and page monitors.

Endpointhttps://api.smry.ai/mcp (streamable-http)
Registry version1.0.0
Now28 tools · grade C (72) · pin ts_83e8d019ce796699df4a86ae9c408c83 · protocol 2025-06-18
First / last listed2026-11-05 01:45 UTC / 2026-11-05 01:45 UTC
Grade over time2026-11-05: C (72), 28 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-11-05 01:45 UTC
28 tools, grade C (72)

Tools: get_article search_article search_web open_web_pages search_feeds list_library_objects get_library_object get_library_asset list_library get_library_changes get_saved_article search_saved_item save_content save_article update_library_item bulk_update_library_items remove_library_item manage_collections query_feeds manage_feed_filter discover_feed_inputs follow_feeds create_news_query set_feed_feedback get_feed_changes mutate_feeds create_monitor manage_feed_consumers

Current tools (28)

get_articleFetch clean, source-grounded text for a public article or YouTube URL, budgeted to a token limit and addressable by paragraph anchor. Returns an outline of headings (empty when the source has none), the requested window, and a next_cursor when more remains. Prefer search_article when you have a specific question rather than needing the whole text.
params: url*, max_tokens, cursor
search_articleRead a public article or YouTube URL and return only the passages relevant to your query, each anchored to its paragraph and labelled with the section it sits under. Use this instead of get_article whenever you have a specific question about a link — it answers in a fraction of the tokens and the anchors stay citable.
params: url*, query*, max_tokens, max_passages, cursor
search_webDiscover current public sources with up to four focused searches. Search snippets are discovery aids; open the strongest pages before citing substantive claims.
params: queries*, max_results
open_web_pagesOpen up to four public pages. Pass a focused context to get only the passages relevant to that question (cheap and precise), or omit it to read the full page as clean Markdown with start-based pagination.
params: pages*
search_feedsUse the same discovery catalog and ranking as smry's Discover feeds page. Browse suggested sources with no query; search websites, RSS, Atom, podcasts, Reddit, and YouTube by topic; create a focused Google News source; or discover every feed published by a site URL. Use sort=popular for popularity ordering. This only discovers sources; use follow_feeds to follow results in an existing or new colle
params: query, mode, language, sort, limit
list_library_objectsSearch and paginate across the account's saved items, standalone notes, and highlights through one corpus. Uses the same Postgres matching as the app and REST API; approximate=true identifies spelling recovery. Returns stable refs for get_library_object. Use list_library when you specifically need item lifecycle filters or reading history.
params: query, types, cursor, limit
get_library_objectRead one object returned by list_library_objects. Item text and note/highlight bodies are bounded; item asset metadata includes the MCP resource URI for original bytes.
params: ref*, content_max_characters
get_library_assetReturn an authenticated MCP resource link for an item's original file. Set include_data=true to show images or audio inline, or embed another file up to 8 MiB. Larger originals remain readable through the streaming Developer API byte-range endpoint.
params: id*, include_data
list_librarySearch this account's articles, websites, books, emails, PDFs, social posts, videos, podcast episodes, and documents. For a normal text search, pass only query and limit. "Triage my inbox" is {"status":"inbox","limit":10}; "saved this week" is {"saved_after":"7d"}. Matching is shared with app search and REST, including spelling recovery (approximate=true). Optional filters are combined with AND: o
params: cursor, limit, query, tag, status, starred, view, include_content, content_max_characters, content_kind, capture_method, format, saved_after, updated_after, external_id, include_metadata, include_counts
get_library_changesRead the append-only library change stream, including deletions. For a race-free first sync, call once with cursor=latest, list the library, then continue from the returned nextCursor.
params: cursor, limit
get_saved_articleRead one library item by id. Stored article text is token-budgeted and supports a paragraph cursor so long documents never flood the agent context.
params: id*, include_content, max_tokens, cursor
search_saved_itemReturn only the stored passages relevant to a question about one library item. Use after list_library instead of reading a long book, PDF, email, transcript, or document from the beginning.
params: id*, query*, max_tokens, max_passages, cursor
save_contentSave supplied source text without fetching a public URL. Use external_id for retry-safe creates; content_kind can correct automatic classification.
params: url, title*, content*, author, published_at, status, starred, tags, content_kind, capture_method, format, mime_type, file_name, external_id, metadata
save_articleSecurely extract a public URL and idempotently add it to the account's library. Returns alreadySaved=true for a duplicate and reports hard paywalls instead of claiming success.
params: url*, status, starred, tags
update_library_itemMove, tag, mark read, update progress, or correct the classification of one library item.
params: id*, status, starred, tags, read_progress, mark_read, content_kind
bulk_update_library_itemsAtomically move, tag, mark read, update progress, or correct classification for up to 100 library items.
params: ids*, status, starred, tags, read_progress, mark_read, content_kind
remove_library_itemRemove one item from this account's library. Web sources are unaffected. For an uploaded file, its original, extracted text, and synced local copies are permanently deleted; highlights and notes are kept.
params: id*
manage_collectionslist: Returns the same owner-scoped Collections shown in /feeds, including canonical filter state and revision. Required fields: none. Example: {"action":"list"} create: Creates the same named Collection used by the production /feeds UI. Required fields: name. Example: {"action":"create","name":"Research"} update: Membership is a complete replacement, matching the production Collection editor. Req
params: action*, name, source_ids, id
query_feedsRead followed feeds. "What's new?" is {"since":"1d"}: newest published first, one line per entry with format:"compact". Other arguments are optional; add where.collection, where.source.include/exclude, where.unread, or where.match when requested. per_source_limit produces a bounded fair sample across pages; omit it to retrieve every matching article. select:"sources" returns fetch_status and last_
params: since, select, where, limit, cursor, per_source_limit, order_by, fields, format, group_by, compare, having
manage_feed_filterpreview: Classifies a bounded recent sample and returns both binary decisions, uncertainty counts, reasons, and degradation status. Save with applyFeedFilter using this preview token and Collection revision. Required fields: collection, filter. Example: {"action":"preview","collection":{"id":12},"filter":{"prompt":"Software engineering articles","whenUncertain":"include"}} apply: Atomically applie
params: action*, collection, filter, previewToken, expectedRevision
discover_feed_inputsFind public feeds by topic or find a site's published feeds. This is the compact Developer API discovery adapter; use search_feeds for language, ranking, and source-type controls. Discovery does not subscribe; pass result feedUrl values to follow_feeds. Example: {"query":"https://www.nasa.gov","mode":"site"}
params: query*, mode
follow_feedsFollow up to 20 feed or site URLs in one call. Site URLs are resolved to their published feed. Naming a collection that does not exist creates it. Returns a per-URL outcome — partial success is normal and legible, never all-or-nothing. Example: {"urls":["https://www.nasa.gov/feed/"],"collection":"Research"}
params: urls*, collection
create_news_queryCreates a Collection-compatible news query. Google News RSS is the current adapter and is intentionally hidden behind this durable product type. Example: {"query":"open source databases","collection":"Research"}
params: query*, locale, collection
set_feed_feedbackLess like this hides an included entry. Feedback remains separate agent context and never silently revises the Collection filter. Example: {"entryId":42,"value":"less_like_this"}
params: entryId*, value*
get_feed_changesOne stream, two checkpoint owners. Stateful callers pass cursor:"latest", then store each next_cursor themselves; that first call only establishes the checkpoint and returns no events, so poll again with the returned next_cursor. Stateless scheduled agents pass consumer_id; smry retains the acknowledged position and the consumer's saved where predicate. Pass exactly one. Managed batches repeat unt
params: cursor, consumer_id, limit, where, fields, attention_limit
mutate_feedsPreview changes to matching sources, entries, or collections. Default dry_run:true returns would_affect, sample, and commit_token without changing them. Commit by sending the same op and commit_token; retries replay the recorded result. Explicit dry_run:false applies immediately. sources.move needs set.collection; sources.rename needs set.title; collections.create/rename need set.name. Collections
params: op*, where, set, dry_run, commit_token
create_monitorCreate a scheduled web-change monitor whose detected changes arrive as an ordinary followed source — query, watch, and mutate it like any feed. Naming a collection that does not exist creates it. Active monitor limits are Free 3, Patron 10, and Pro 100; scheduled monthly credits are 150, 720, and 7,200, respectively. Page and sitemap runs reserve 1 credit; extract runs reserve 10. The shortest int
params: name*, target*, collection, change_detection, schedule, tags
manage_feed_consumerscreate: Save a where predicate and let smry retain one processing checkpoint. New consumers start at the current high-water mark, so they receive future discoveries rather than replaying history. For history, create the Consumer first, query the historical window separately, then poll; that order closes the query/create race. Create one per independent processing loop, not per source. Retrying the
params: action*, name, where, id, cursor

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.