# smry Product (ai.smry.r/smry-product): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.smry.r%2Fsmry-product/versions/latest)
- Connected to: https://api.smry.ai/mcp
- Homepage: https://r.smry.ai/
- Repository: https://github.com/mrmps/SMRY
- Scoring rules: v2
- Tools: 28
- Average: 60.9 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how smry Product (ai.smry.r/smry-product)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: 28 tools. Above 25, models start to tell tools apart less well.
- Minor: The server's instructions are 2567 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `search_web`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: queries, queries[].query, queries[].site, queries[].publishedAfter, queries[].publishedBefore, max_results.
  - Minor: The description mentions none of its 3 or more arguments.
- `bulk_update_library_items`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ids, status, starred, tags, read_progress, mark_read, content_kind.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument starred is unclear.
  - Minor: The meaning of the boolean argument mark_read is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: ids. Name the tool or the place that returns it, or models look it up first.
- `save_content`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: url, title, content, author, published_at, status, starred, tags, content_kind, capture_method, format, mime_type, file_name, external_id, metadata.
  - Minor: The meaning of the boolean argument starred is unclear.
- `update_library_item`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, starred, tags, read_progress, mark_read, content_kind.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument starred is unclear.
  - Minor: The meaning of the boolean argument mark_read is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `open_web_pages`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: pages, pages[].url, pages[].context, pages[].live, pages[].start.
  - Minor: The meaning of the boolean argument pages[].live is unclear.
- `set_feed_feedback`: 49 / 100
  - Major: Arguments without a description: entryId, value.
  - Minor: Required identifiers whose description does not say where the value comes from: entryId. Name the tool or the place that returns it, or models look it up first.
- `create_news_query`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, locale.
- `get_library_object`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: ref.
- `get_saved_article`: 55 / 100
  - Minor: Arguments without a description: max_tokens, cursor.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `get_library_changes`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `remove_library_item`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `search_feeds`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `save_article`: 62 / 100
  - Major: Arguments without a description: url, status, starred, tags.
  - Minor: The meaning of the boolean argument starred is unclear.
- `search_article`: 62 / 100
  - Major: Arguments without a description: url, query, max_tokens, max_passages, cursor.
- `get_library_asset`: 63 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: include_data.
  - Minor: The meaning of the boolean argument include_data is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `manage_collections`: 66 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, source_ids, id.
- `manage_feed_filter`: 66 / 100
  - Major: Arguments without a description: collection, collection.id, filter, previewToken, expectedRevision.
- `list_library_objects`: 68 / 100
  - Minor: Arguments without a description: types.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_library`: 69 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: include_counts.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument include_counts is unclear.
- `discover_feed_inputs`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: query.
- `follow_feeds`: 70 / 100
  - Minor: Arguments without a description: urls.
- `get_article`: 70 / 100
  - Major: Arguments without a description: url, max_tokens, cursor.
- `search_saved_item`: 70 / 100
  - Major: Arguments without a description: query, max_tokens, max_passages, cursor.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `create_monitor`: 73 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name, change_detection, tags.
- `get_feed_changes`: 73 / 100
  - Minor: Arguments without a description: limit, where.collection, where.source, where.source.include, where.source.exclude, where.classification.decision, where.classification.assessment.
  - Minor: No `required` list, so every argument is optional.
- `mutate_feeds`: 74 / 100
  - Minor: Arguments without a description: where.collection, where.source, where.source.include, where.source.exclude, where.classification.decision, where.classification.assessment, set.
- `query_feeds`: 75 / 100
  - Minor: Arguments without a description: where.collection, where.source, where.source.include, where.source.exclude, where.classification.decision, where.classification.assessment, group_by, compare.window, compare.baseline, having.count, having.count.gte, having.count.lte, having.unread, having.unread.gte, having.unread.lte, having.silent_days, having.silent_days.gte, having.silent_days.lte.
  - Minor: No `required` list, so every argument is optional.
- `manage_feed_consumers`: 80 / 100
  - Minor: Arguments without a description: name, where.collection, where.source, where.source.include, where.source.exclude, where.classification.decision, where.classification.assessment, id, cursor.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
