# flayr (social.flayr/flayr): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/social.flayr%2Fflayr/versions/latest)
- Connected to: https://flayr.social/api/mcp
- Homepage: https://flayr.social/
- Scoring rules: v2
- Tools: 57
- Average: 48.1 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how flayr (social.flayr/flayr)'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

- Major: 57 tools. Above 40, models choose less accurately.

## Tools

- `get_experiment`: 29 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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_frame`: 29 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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_analytics`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: range.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `delete_experiment`: 34 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `delete_text_template`: 34 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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_text_template`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `list_post_comments`: 34 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `reorder_queue_items`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, itemIds, brandId.
  - Minor: String arguments with no constraint or example: id, brandId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id, itemIds. Name the tool or the place that returns it, or models look it up first.
- `get_experiment_results`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, window, include.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `list_approvals`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, brandId.
  - Minor: String arguments with no constraint or example: brandId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `update_frame_settings`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: platform, frameRef, aspect.
  - Minor: String arguments with no constraint or example: platform.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: frameRef. Name the tool or the place that returns it, or models look it up first.
- `get_job_status`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: jobId.
  - Minor: String arguments with no constraint or example: jobId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: jobId. Name the tool or the place that returns it, or models look it up first.
- `list_reviews`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: status, brandId, window.
  - Minor: String arguments with no constraint or example: brandId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `update_experiment`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, name, hypothesis, compareKey, variants, startAt, endAt, status, primaryMetric, notes.
  - Minor: String arguments with no constraint or example: id, compareKey.
  - Minor: Says nothing about what it returns.
  - 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.
- `act_on_publish_action`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, op.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `list_frames`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: kind, aspect, includeArchived.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument includeArchived is unclear.
  - Minor: Says nothing about what it returns.
- `queue_item_action`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, itemId, brandId, action.
  - Minor: String arguments with no constraint or example: id, itemId, brandId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id, itemId. Name the tool or the place that returns it, or models look it up first.
- `delete_content`: 42 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `list_text_templates`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: includeArchived.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument includeArchived is unclear.
  - Minor: Says nothing about what it returns.
- `add_post_comments`: 44 / 100
  - Major: Arguments without a description: id, comments, comments[].platform, comments[].text, comments[].delayMinutes.
  - Minor: String arguments with no constraint or example: id, comments[].platform, comments[].text.
  - Minor: Says nothing about what it returns.
  - 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.
- `add_queue_items`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, contentIds, items, items[].contentId, brandId.
  - Minor: String arguments with no constraint or example: id, items[].contentId, brandId.
  - Minor: Says nothing about what it returns.
  - 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_text_template`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, format, length, length.unit, length.min, length.max, length.captionWords.min, length.captionWords.max, sections[].label, sections[].guidance, sections[].required, sections[].minLines, sections[].maxLines, ctaSlots, ctaSlots[].label, ctaSlots[].text, ctaSlots[].placement, guardrails, maxHashtags, example, brandId.
  - Minor: String arguments with no constraint or example: ctaSlots[].label, ctaSlots[].text, brandId.
  - Minor: The meaning of the boolean argument sections[].required is unclear.
  - Minor: Says nothing about what it returns.
- `list_content`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, includeArchived.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument includeArchived is unclear.
  - Minor: Says nothing about what it returns.
- `update_text_template`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, name, format, length, length.unit, length.min, length.max, length.captionWords.min, length.captionWords.max, sections[].label, sections[].guidance, sections[].required, sections[].minLines, sections[].maxLines, ctaSlots, ctaSlots[].label, ctaSlots[].text, ctaSlots[].placement, guardrails, maxHashtags, example, archived.
  - Minor: String arguments with no constraint or example: id, ctaSlots[].label, ctaSlots[].text.
  - Minor: The meaning of the boolean argument sections[].required is unclear.
  - Minor: The meaning of the boolean argument archived is unclear.
  - Minor: Says nothing about what it returns.
  - 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_experiment`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, hypothesis, compareKey, variants, startAt, endAt, status, primaryMetric, notes.
  - Minor: String arguments with no constraint or example: compareKey.
  - Minor: Says nothing about what it returns.
- `create_frame`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paletteOverride.primary, paletteOverride.secondary, paletteOverride.accent, paletteOverride.onPrimary, paletteOverride.paper, paletteOverride.ink, texts.label, texts.title, texts.subtitle, name, tags, variants[].contentBox.x, variants[].contentBox.y, variants[].contentBox.w, variants[].contentBox.h, variants[].fit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_queue`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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_share_rule`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, enabled, targets, targets[].accountId, targets[].platform, delayMinutes, brandId.
  - Minor: String arguments with no constraint or example: targets[].accountId, targets[].platform, brandId.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument enabled is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: sourceAccountIds. Name the tool or the place that returns it, or models look it up first.
- `get_content`: 47 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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.
- `update_queue`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, brandId, status, name, lookahead.
  - Minor: String arguments with no constraint or example: id, brandId.
  - Minor: Says nothing about what it returns.
  - 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.
- `compare_labels`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: key, window, include.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `decide_approval`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: decision, note.
  - Minor: String arguments with no constraint or example: id.
  - 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.
- `remove_queue_item`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: id, itemId.
  - Minor: String arguments with no constraint or example: id, itemId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id, itemId. Name the tool or the place that returns it, or models look it up first.
- `list_experiments`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `create_queue`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: name, platforms, youtube.visibility, youtube.madeForKids, brandId.
  - Minor: String arguments with no constraint or example: brandId.
  - Minor: The meaning of the boolean argument youtube.madeForKids is unclear.
  - Minor: The meaning of the boolean argument youtube.containsSyntheticMedia is unclear.
  - Minor: Says nothing about what it returns.
- `get_frame_settings`: 54 / 100
  - Minor: Says nothing about what it returns.
- `list_pinterest_boards`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_publish_actions`: 54 / 100
  - Minor: Arguments without a description: status.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_queues`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_youtube_playlists`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `update_content`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: id, text, platforms, youtube.visibility, youtube.madeForKids, videoWatermarked.version.
  - Minor: String arguments with no constraint or example: id.
  - Minor: The meaning of the boolean argument youtube.madeForKids is unclear.
  - Minor: The meaning of the boolean argument youtube.containsSyntheticMedia is unclear.
  - Minor: Says nothing about what it returns.
  - 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.
- `apply_frame`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: fit, zoom, offsetX, offsetY, paletteOverride.primary, paletteOverride.secondary, paletteOverride.accent, paletteOverride.onPrimary, paletteOverride.paper, paletteOverride.ink, texts.label, texts.title, texts.subtitle.
  - Minor: Required identifiers whose description does not say where the value comes from: frameRef. Name the tool or the place that returns it, or models look it up first.
- `decide_review`: 57 / 100
  - Minor: Arguments without a description: decision, note.
  - Minor: Says nothing about what it returns.
  - 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.
- `delete_queue`: 57 / 100
  - Minor: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - 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_post`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - 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.
- `list_brands`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `create_content`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: text, platforms, contentType, imageUrl, videoUrl, imageStorageId, videoStorageId, sourceLabel, youtube.visibility, youtube.madeForKids, credits[].kind, credits[].title.
  - Minor: String arguments with no constraint or example: contentType, imageUrl, videoUrl, imageStorageId, videoStorageId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument youtube.madeForKids is unclear.
  - Minor: The meaning of the boolean argument youtube.containsSyntheticMedia is unclear.
- `cancel_scheduled_post`: 59 / 100
  - Minor: Says nothing about what it returns.
  - 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.
- `list_attribution_rules`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_connected_accounts`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_share_rules`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `query_insights`: 60 / 100
  - Major: Arguments without a description: metric, filters, filters.campaignId, filters.platforms, formula.series, formula.series.A, formula.series.A.metric, formula.series.A.aggregation, formula.series.B, formula.series.B.metric, formula.series.B.aggregation, formula.series.C, formula.series.C.metric, formula.series.C.aggregation, formula.expression.
  - Minor: String arguments with no constraint or example: filters.campaignId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `update_scheduled_post`: 61 / 100
  - Minor: Arguments without a description: firstComment.linkedin, firstComment.facebook, firstComment.instagram, firstComment.threads, firstComment.youtube.
  - 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.
- `whoami`: 64 / 100
- `upload_media`: 71 / 100
- `publish`: 74 / 100
  - Minor: Arguments without a description: platforms, imageUrl, videoUrl, requiresApproval, youtube.visibility, youtube.madeForKids, facebook.contentType, instagram.contentType, pinterest.title, poll.question, poll.options, poll.durationMinutes, reshare.postId, reshare.url, followUpComments[].platform, followUpComments[].text, followUpComments[].delayMinutes, followUpComments[].sendAt, firstComment.linkedin, firstComment.facebook, firstComment.instagram, firstComment.threads, memo.notes, memo.tasks, memo.tasks[].text, onPublishTasks[].text.
  - Minor: String arguments with no constraint or example: imageUrl, videoUrl, reshare.postId, reshare.url, followUpComments[].platform, followUpComments[].text.
  - Minor: The meaning of the boolean argument requiresApproval is unclear.
  - Minor: The meaning of the boolean argument youtube.madeForKids is unclear.
  - Minor: The meaning of the boolean argument youtube.containsSyntheticMedia is unclear.
  - Minor: Says nothing about what it returns.
- `combine_clips`: 78 / 100
  - Minor: Arguments without a description: segments[].kind, transition, audio.
  - 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.

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)
