mcpbeat Sign in

smry Product MCP Server

answering

smry Product is answering right now. Last checked 7 min ago. It exposes 28 tools.

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

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 58 days of history · worst day 63%
58 days agonow
100.0%
Uptime 24h
91 of 91 checks
28
Tools
read from the server
535 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 91

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 7 September 2026. No other catalogue keeps this.

27 Sep a tool description was rewritten open_web_pages
13 Sep 10 tools changed the parameters they ask for bulk_update_library_items, get_library_asset, get_library_changes and 7 more
12 Sep 4 tools changed the parameters they ask for get_library_changes, get_library_object, list_library and 1 more
9 Sep a tool changed the parameters it asks for query_feeds
9 Sep a tool description was rewritten query_feeds
8 Sep 5 tools changed the parameters they ask for bulk_update_library_items, list_library, save_article and 2 more
7 Sep 19 tools changed the parameters they ask for30 times that day create_monitor, create_news_query, discover_feed_inputs and 16 more
7 Sep 15 tool descriptions were rewritten20 times that day create_monitor, create_news_query, discover_feed_inputs and 12 more
7 Sep 19 tools appeared bulk_update_library_items, create_news_query, discover_feed_inputs and 16 more
and 16 more, back to 7 September 2026

smry Product missed one check this week

Everything else answered, so this is steady rather than shaky. We check every 15 minutes, which is how a one-off gets told apart from the start of a pattern, and how you hear about the next one within the hour instead of from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 7 min ago.

run in your terminal
claude mcp add smry-product --transport http https://api.smry.ai/mcp
Settings → Connectors → Add custom connector, then paste this address
https://api.smry.ai/mcp
~/.codex/config.toml
[mcp_servers.smry-product]
url = "https://api.smry.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "smry-product": {
      "url": "https://api.smry.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "smry-product": {
      "type": "http",
      "url": "https://api.smry.ai/mcp"
    }
  }
}

Available tools 28

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

library
get_library_asset
Return 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.
get_library_changes
Read 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.
get_library_object
Read 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.
list_library
Search 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: omit every filter the user did not explicitly request. Filter by exact tag, kind, capture method, format, or lifecycle; set view=history for recently read items. Items are ordered by most recent status change first (history view: last read first); continue with nextCursor. Item IDs select later tools and are not smry.ai routes; cite only each exact returned source URL.
list_library_objects
Search 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.
remove_library_item
Remove 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.
update_library_item
Move, tag, mark read, update progress, or correct the classification of one library item.
manage
manage_collections
list: 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. Required fields: id. Example: {"action":"update","id":12,"name":"Engineering"} delete: Deletes a custom Collection and moves its inputs to Unsorted. Required fields: id. Example: {"action":"delete","id":12}
manage_feed_consumers
create: 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 same case-insensitive name and predicate returns the existing Consumer; the same name with another predicate is a 409. Required fields: name. Example: {"action":"create","name":"Engineering briefing","where":{"collection":["Research"]}} list: List each saved consumer, its opaque acknowledged_cursor, delivery and acknowledgement timestamps, and how many matching entries are waiting past that checkpoint. Required fields: none. Example: {"action":"list"} ack: After processing every event returned by getFeedChanges for this consumer, acknowledge that response's next_cursor. Crashes before ack cause safe redelivery; stale, foreign, and invented cursors are rejected. Required fields: id, cursor. Example: {"action":"ack","id":7,"cursor":"<next_cursor from get_feed_changes>"} delete: Remove only the saved predicate and checkpoint. Followed sources, entries, and human read state are untouched. Required fields: id. Example: {"action":"delete","id":7}
manage_feed_filter
preview: 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 applies the exact preview when the Collection revision still matches. Passing a preview created with filter:null clears the filter. Required fields: previewToken, expectedRevision. Example: {"action":"apply","previewToken":"<previewToken from preview>","expectedRevision":0}
article
get_article
Fetch 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.
search_article
Read 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.
feed
get_feed_changes
One 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 until their next_cursor is acknowledged. Every response also carries a capped source-health attention block. To read what is already there rather than what changes next, use query_feeds. Example: {"cursor":"latest","limit":20} Example: {"consumer_id":7,"limit":20}
set_feed_feedback
Less 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"}
feeds
query_feeds
Read 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_fetched_at separately from publisher activity (health, silent_days, entries_7d/28d). Quiet publishers can have working feeds. select:"aggregate" returns grouped counts with optional trends. Classification-filtered queries report classification_coverage: pending articles have not been assessed, not rejected. Times accept "7d"/"36h"/"now" or ISO dates. Example: {"since":"1d","per_source_limit":3,"limit":40,"format":"compact"} Example: {"select":"entries","where":{"unread":true,"collection":["Research"]},"limit":10} Example: {"select":"sources","having":{"silent_days":{"gte":30}},"limit":10} Example: {"select":"aggregate","group_by":"collection","where":{"discovered_after":"7d"}}
search_feeds
Use 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 collection.
save
save_article
Securely 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.
save_content
Save supplied source text without fetching a public URL. Use external_id for retry-safe creates; content_kind can correct automatic classification.
saved
get_saved_article
Read one library item by id. Stored article text is token-budgeted and supports a paragraph cursor so long documents never flood the agent context.
search_saved_item
Return 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.
bulk
bulk_update_library_items
Atomically move, tag, mark read, update progress, or correct classification for up to 100 library items.
discover
discover_feed_inputs
Find 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"}
follow
follow_feeds
Follow 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"}
monitor
create_monitor
Create 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 interval is 60 minutes and the default schedule is daily. The response reports remaining slots and scheduled credits. Example: {"name":"Example page changes","target":{"type":"page","url":"https://example.com"},"collection":"Research"}
mutate
mutate_feeds
Preview 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 rename/delete need exactly one where.collection. Use manage_collections for direct collection CRUD. Check partial and each outcome after committing. Example: {"op":"collections.create","set":{"name":"Research"}} Example: {"op":"sources.move","where":{"source":{"include":[42]}},"set":{"collection":"Research"}} Example: {"op":"sources.move","commit_token":"<commit_token from preview>"}
news
create_news_query
Creates 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"}
open
open_web_pages
Open 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.
web
search_web
Discover current public sources with up to four focused searches. Search snippets are discovery aids; open the strongest pages before citing substantive claims.

Endpoints

URLTransportStateLatencyChecked
https://api.smry.ai/mcp streamable-http answering 303 ms 7 min ago

Alternatives to smry Product

same job, measured the same way
Weir: Reddit and X (Twitter) data
by weirapp

Search and read public Reddit and X posts, comments, threads, profiles and Articles; run monitors.

answering
SemanticHub
by semantichub

Monitor news sources, read clustered articles and generated texts, manage goals and workflows.

answering
Sorsa
by sorsa

Amazon FBA arbitrage toolkit: product analysis, deal feeds, price alerts and sourcing management.

70 tools answering
Sentinel Briefing
by sentinelbriefing

Strategic monitoring and public affairs intelligence: watches, sourced notes, analysed articles.

answering
Pingcheck MCP
by churman1113

PingCheck status monitoring for AI agents. Read public pages or your own monitors via pk_ API key.

27 installs/wk local only
Tá Rodando
by com-tarodando

Uptime monitoring and public status page: HTTP monitors, down/up alerts and incidents.

answering
Shopify Price and Stock Monitor
by saulius876-lgtm

Prices, stock and variants of products on any public Shopify store, with change and margin checks.

answering
Openuptime
by openuptime

Manage uptime monitors, incidents and status pages from any MCP client.

answering

smry Product — questions

Answers built from our own checks of this server.

What can smry Product do?
It exposes 28 tools, read directly from the server on our last check. Among them: bulk_update_library_items, create_monitor, create_news_query, discover_feed_inputs, follow_feeds, get_article and 22 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is smry Product mostly used for?
Its tools cluster around library, manage and feed. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is smry Product working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 535 ms. The bar chart above shows every period we have measured.
Is smry Product still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
How do I connect smry Product?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does smry Product need an API key?
No. smry Product completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 28 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is smry Product?
It answers our handshake in 535 ms on average, which is faster than 24% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.