All scored servers

fnlowl: tool descriptions scored com.fnlowl/fnlowl

tools/list taken
(UTC)
Connected to
https://api.fnlowl.com/v1/mcp
Scoring rules
v2
Score this URL as it is today

Scores, issues and names only

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

servers/com.fnlowl/fnlowl
Average score
46.1 / 100Cloudy
Tools
40
Near-identical descriptions
1

Across the server

  • Minor
    40 tools. Above 25, models start to tell tools apart less well.many_tools

Tools whose descriptions are nearly the same

1 of 1 pairs shown, highest description similarity first.
ToolToolDescription similarityName similarity
create_widgetupdate_widget0.840.33

Tools

update_ai_context

27 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: about, designDirection, valueProps, pricingTiers, pricingTiers[].id, pricingTiers[].name, pricingTiers[].price, pricingTiers[].description, testimonials, testimonials[].id, testimonials[].quote, testimonials[].author.param_no_description
  • Minor
    String arguments with no constraint or example: about, designDirection, pricingTiers[].id, pricingTiers[].name, pricingTiers[].price, pricingTiers[].description, testimonials[].id, testimonials[].quote, testimonials[].author.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

update_sequence

31 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
7 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: sequenceId, name, widgetId, steps, steps[].type, steps[].subject, steps[].body, steps[].type, steps[].delayDays, branch.param_no_description
  • Minor
    String arguments with no constraint or example: steps[].type, steps[].subject, steps[].body, steps[].type.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: sequenceId. Name the tool or the place that returns it, or models look it up first.id_source_missing

update_campaign

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: campaignId, name, subject, body, recipientScope.param_no_description
  • Minor
    String arguments with no constraint or example: name, subject, body, recipientScope.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: campaignId. Name the tool or the place that returns it, or models look it up first.id_source_missing

read_integration_delivery_status

34 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
10 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    Arguments without a description: limit.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

update_brand

34 / 100Rain

Purpose
17 / 20
When to use
5 / 20
Arguments
5 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: siteName, accentColor, senderName, logoUrl, mailingAddress, legalName, termsUrl, privacyUrl.param_no_description
  • Minor
    String arguments with no constraint or example: siteName, senderName, logoUrl, mailingAddress, legalName, termsUrl, privacyUrl.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

update_template

35 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
11 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: templateId, name, category, subject, body.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: templateId. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_templates

38 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

read_lead

39 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
15 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    Arguments without a description: leadId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: leadId. Name the tool or the place that returns it, or models look it up first.id_source_missing

stop_experiment

39 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
15 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    Arguments without a description: widgetId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

draft_sequence

40 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: name, widgetId, steps, steps[].type, steps[].subject, steps[].body, steps[].type, steps[].delayDays, branch.param_no_description
  • Minor
    String arguments with no constraint or example: steps[].type, steps[].subject, steps[].body, steps[].type.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

create_project

41 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
10 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: name, emoji.param_no_description

list_campaigns

41 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_sequences

41 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

read_ai_context

41 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

read_ai_generation_status

41 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_integrations

42 / 100Cloudy

Purpose
13 / 20
When to use
5 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

offer_choice

42 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
11 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: question, options, options[].label, options[].description, options[].recommended.param_no_description
  • Minor
    The meaning of the boolean argument options[].recommended is unclear.vague_boolean

read_analytics

43 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
7 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: from, to.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

read_widget

44 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
15 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    Arguments without a description: widgetId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

draft_campaign

46 / 100Cloudy

Purpose
20 / 20
When to use
0 / 20
Arguments
11 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: name, subject, body, recipientScope.param_no_description
  • Minor
    String arguments with no constraint or example: recipientScope.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info

list_widget_analytics

46 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

read_brand

46 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

create_template

47 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
12 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: name, category, subject, body.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info

list_email_deliveries

47 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
10 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    Arguments without a description: limit.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_leads

47 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
8 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: limit, quality, offset.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

pause_sequence

47 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
15 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Arguments without a description: sequenceId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: sequenceId. Name the tool or the place that returns it, or models look it up first.id_source_missing

read_widget_results

47 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
11 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: widgetId, from, to.param_no_description
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_widgets

48 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required

start_experiment

50 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
10 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: widgetId, variantWidgetIds, holdoutPct, trafficPcts.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId, variantWidgetIds. Name the tool or the place that returns it, or models look it up first.id_source_missing

plan_site_strategy

51 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
17 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_sequence_enrollments

52 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
10 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Major
    Arguments without a description: leadId, sequenceId.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_projects

54 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Says nothing about what it returns.no_return_info

read_experiment_results

56 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
15 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    Arguments without a description: widgetId.param_no_description
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

read_sending_status

56 / 100Cloudy

Purpose
20 / 20
When to use
0 / 20
Arguments
17 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Minor
    No `required` list, so every argument is optional.no_required

ask_question

60 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
15 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    Arguments without a description: question.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info

update_widget

60 / 100Cloudy

Purpose
17 / 20
When to use
15 / 20
Arguments
6 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Major
    Arguments without a description: name, kind, type, article, showOn, showOnValue, hideOnValue, position, headline, description, buttonText, consentText, successHeadline, successMessage, layout, theme, accentColor, backgroundColor, textColor, cornerStyle, logoUrl, placement, popupWidth, floatingButton, buttonStyle, requireEmail, contentUrl, senderName, subject, emailBody, emailFormat, trigger, triggerValue, triggerMode, cooldownDays, maxDismissals, startAt, endAt, rewardType, rewardCode, rewardPercent, firstStep, hookQuestion, barMessage, barCtaText, barCtaUrl, barPosition, calcFormula, calcOutputTemplate, questions, questions[].id, questions[].text, questions[].type, questions[].options, quizQuestions, quizQuestions[].id, quizQuestions[].text, quizQuestions[].options, quizQuestions[].options[].id, quizQuestions[].options[].label, quizQuestions[].options[].score, quizTiers, quizTiers[].id, quizTiers[].minScore, quizTiers[].maxScore, quizTiers[].label, quizTiers[].message, calcInputs, calcInputs[].id, calcInputs[].label, calcInputs[].min, calcInputs[].max, calcInputs[].step, calcInputs[].default, wheelSegments, wheelSegments[].id, wheelSegments[].label, wheelSegments[].rewardCode, audienceRules, audienceRules[].id, audienceRules[].facet, audienceRules[].operator, audienceRules[].value, triggers, triggers[].id, triggers[].type, triggers[].value, triggers[].selector, questionRoutes, questionRoutes[].id, questionRoutes[].questionId, questionRoutes[].whenOption, questionRoutes[].gotoQuestionId, widgetId.param_no_description
  • Minor
    Its description is nearly the same as create_widget's (similarity 0.84); only the names and schemas tell them apart. Say in this description when to use create_widget instead.confusable_pair
  • Minor
    The description is long (409 words). It helps selection but costs steps and tokens.too_long
  • Minor
    String arguments with no constraint or example: article, showOn, showOnValue, hideOnValue, headline, description, buttonText, consentText, successHeadline, successMessage, contentUrl, senderName, subject, emailBody, barMessage, barCtaText, barCtaUrl, calcFormula, calcOutputTemplate, questions[].id, questions[].text, quizQuestions[].id, quizQuestions[].text, quizQuestions[].options[].id, quizQuestions[].options[].label, quizTiers[].id, quizTiers[].label, quizTiers[].message, calcInputs[].id, calcInputs[].label, wheelSegments[].id, wheelSegments[].label, wheelSegments[].rewardCode, audienceRules[].id, audienceRules[].value, triggers[].id, questionRoutes[].id, questionRoutes[].questionId, questionRoutes[].whenOption.loose_string_param
  • Minor
    The meaning of the boolean argument requireEmail is unclear.vague_boolean
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

read_plan_usage

62 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    Says nothing about what it returns.no_return_info

create_widget

63 / 100Cloudy

Purpose
20 / 20
When to use
15 / 20
Arguments
6 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Major
    Arguments without a description: name, kind, type, article, showOn, showOnValue, hideOnValue, position, headline, description, buttonText, consentText, successHeadline, successMessage, layout, theme, accentColor, backgroundColor, textColor, cornerStyle, logoUrl, placement, popupWidth, floatingButton, buttonStyle, requireEmail, contentUrl, senderName, subject, emailBody, emailFormat, trigger, triggerValue, triggerMode, cooldownDays, maxDismissals, startAt, endAt, rewardType, rewardCode, rewardPercent, firstStep, hookQuestion, barMessage, barCtaText, barCtaUrl, barPosition, calcFormula, calcOutputTemplate, questions, questions[].id, questions[].text, questions[].type, questions[].options, quizQuestions, quizQuestions[].id, quizQuestions[].text, quizQuestions[].options, quizQuestions[].options[].id, quizQuestions[].options[].label, quizQuestions[].options[].score, quizTiers, quizTiers[].id, quizTiers[].minScore, quizTiers[].maxScore, quizTiers[].label, quizTiers[].message, calcInputs, calcInputs[].id, calcInputs[].label, calcInputs[].min, calcInputs[].max, calcInputs[].step, calcInputs[].default, wheelSegments, wheelSegments[].id, wheelSegments[].label, wheelSegments[].rewardCode, audienceRules, audienceRules[].id, audienceRules[].facet, audienceRules[].operator, audienceRules[].value, triggers, triggers[].id, triggers[].type, triggers[].value, triggers[].selector, questionRoutes, questionRoutes[].id, questionRoutes[].questionId, questionRoutes[].whenOption, questionRoutes[].gotoQuestionId.param_no_description
  • Minor
    Its description is nearly the same as update_widget's (similarity 0.84); only the names and schemas tell them apart. Say in this description when to use update_widget instead.confusable_pair
  • Minor
    String arguments with no constraint or example: article, showOn, showOnValue, hideOnValue, headline, description, buttonText, consentText, successHeadline, successMessage, contentUrl, senderName, subject, emailBody, barMessage, barCtaText, barCtaUrl, calcFormula, calcOutputTemplate, questions[].id, questions[].text, quizQuestions[].id, quizQuestions[].text, quizQuestions[].options[].id, quizQuestions[].options[].label, quizTiers[].id, quizTiers[].label, quizTiers[].message, calcInputs[].id, calcInputs[].label, wheelSegments[].id, wheelSegments[].label, wheelSegments[].rewardCode, audienceRules[].id, audienceRules[].value, triggers[].id, questionRoutes[].id, questionRoutes[].questionId, questionRoutes[].whenOption.loose_string_param
  • Minor
    The meaning of the boolean argument requireEmail is unclear.vague_boolean

activate_sequence

64 / 100Cloudy

Purpose
20 / 20
When to use
15 / 20
Arguments
15 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Arguments without a description: sequenceId.param_no_description
  • Minor
    Required identifiers whose description does not say where the value comes from: sequenceId. Name the tool or the place that returns it, or models look it up first.id_source_missing

request_widget_publish

69 / 100Cloudy

Purpose
20 / 20
When to use
15 / 20
Arguments
15 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    Arguments without a description: widgetId.param_no_description
  • Minor
    Required identifiers whose description does not say where the value comes from: widgetId. Name the tool or the place that returns it, or models look it up first.id_source_missing

What static scoring cannot tell

This score reads only the text of each description and schema: it says what is written, not what a model will do. Short tools whose names already say what they do, such as browser_close, score low here even when models use them well, and in our measurements current models chose the right tool in one step even from one-line descriptions, as long as the names and schemas differed. What the text cannot show, such as what happens over several steps and whether an added sentence helps or misleads, is what an evaluation measures, on the Pro and Team plans.

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