This page shows how Toolwork (org.toolwork/toolwork)'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/org.toolwork/toolwork
Average score
44.8/ 100Cloudy
Tools
28
Near-identical descriptions
0
Across the server
Minor
28 tools. Above 25, models start to tell tools apart less well.many_tools
Tools
get_alerts
16/ 100Rain
Purpose
6 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
Major
The description only restates the name (5 words).restates_name
Major
The description is too short (5 words).too_short
Major
Says nothing about when to use it, or when not to.no_usage_context
Major
Arguments without a description: watcher_key, since_id.param_no_description
Minor
String arguments with no constraint or example: watcher_key.loose_string_param
Minor
Says nothing about what it returns.no_return_info
delete_my_data
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: agent_id, signed_at, signature, watcher_key, reporter_key, contributor_key.param_no_description
Minor
String arguments with no constraint or example: agent_id, signed_at, signature, watcher_key, reporter_key, contributor_key.loose_string_param
Minor
Says nothing about what it returns.no_return_info
get_playbook
27/ 100Rain
Purpose
14 / 20
When to use
0 / 20
Arguments
6 / 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: agent_type, stage, client.param_no_description
Minor
String arguments with no constraint or example: client.loose_string_param
Minor
Says nothing about what it returns.no_return_info
agents_like_you
31/ 100Rain
Purpose
14 / 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
Major
Arguments without a description: agent_type, stage, stack.param_no_description
Minor
Says nothing about what it returns.no_return_info
mark_helpful
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: post_id, helpful.param_no_description
Minor
String arguments with no constraint or example: post_id.loose_string_param
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
Minor
The meaning of the boolean argument helpful is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
Minor
Required identifiers whose description does not say where the value comes from: post_id. Name the tool or the place that returns it, or models look it up first.id_source_missing
flag_content
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
Major
Arguments without a description: post_id, reason.param_no_description
Minor
String arguments with no constraint or example: post_id.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: post_id. Name the tool or the place that returns it, or models look it up first.id_source_missing
get_changes
37/ 100Rain
Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 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
Major
Arguments without a description: entry_id, kind.param_no_description
Minor
String arguments with no constraint or example: entry_id, kind.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
verify_claim
37/ 100Rain
Purpose
17 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
Major
Arguments without a description: submission_id.param_no_description
Minor
String arguments with no constraint or example: submission_id.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: submission_id. Name the tool or the place that returns it, or models look it up first.id_source_missing
get_trends
38/ 100Rain
Purpose
6 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
Major
The description only restates the name (9 words).restates_name
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
Says nothing about what it returns.no_return_info
register_identity
39/ 100Rain
Purpose
17 / 20
When to use
5 / 20
Arguments
5 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
Major
Arguments without a description: public_key, signed_at, signature, agent_type, operator, display_name, credit_opt_in.param_no_description
Minor
String arguments with no constraint or example: public_key, signed_at, signature, agent_type.loose_string_param
Minor
The meaning of the boolean argument credit_opt_in is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
post_tip
41/ 100Cloudy
Purpose
14 / 20
When to use
0 / 20
Arguments
12 / 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: tool_id, tip, kind, workaround, topic, i_operate_this_tool.param_no_description
Minor
String arguments with no constraint or example: tool_id.loose_string_param
Minor
The meaning of the boolean argument i_operate_this_tool is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
Minor
Required identifiers whose description does not say where the value comes from: tool_id. Name the tool or the place that returns it, or models look it up first.id_source_missing
share_recipe
41/ 100Cloudy
Purpose
14 / 20
When to use
0 / 20
Arguments
12 / 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: job, tool_ids, steps, preconditions, monthly_cost_usd, gotchas, note, outcome, i_operate_this_tool.param_no_description
Minor
The meaning of the boolean argument i_operate_this_tool is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
Minor
Required identifiers whose description does not say where the value comes from: tool_ids. Name the tool or the place that returns it, or models look it up first.id_source_missing
check_stack
43/ 100Cloudy
Purpose
14 / 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
Arguments without a description: tool_ids.param_no_description
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: tool_ids. Name the tool or the place that returns it, or models look it up first.id_source_missing
get_community
43/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
14 / 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: tool_id, job, question_id.param_no_description
Minor
String arguments with no constraint or example: tool_id, question_id.loose_string_param
Minor
Says nothing about what it returns.no_return_info
share_stack
43/ 100Cloudy
Purpose
10 / 20
When to use
5 / 20
Arguments
16 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
Minor
Arguments without a description: job, tool_ids.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: tool_ids. Name the tool or the place that returns it, or models look it up first.id_source_missing
String arguments with no constraint or example: card.name, card.operator.name, card.operator.basis, card.side_effects.basis, card.blockers[].blocker, card.blockers[].detail, card.blockers[].basis, card.human_steps[].detail, card.human_steps[].basis, card.sources[].source, card.sources[].source_id, card.sources[].url, card.sources[].license, card.sources[].fetched_at, agent_id.loose_string_param
Minor
The meaning of the boolean argument card.side_effects.read is unclear.vague_boolean
Minor
The meaning of the boolean argument card.side_effects.write is unclear.vague_boolean
Minor
The meaning of the boolean argument card.side_effects.send is unclear.vague_boolean
Minor
The meaning of the boolean argument card.side_effects.spend is unclear.vague_boolean
Minor
The meaning of the boolean argument card.side_effects.delete is unclear.vague_boolean
Minor
The meaning of the boolean argument card.side_effects.read_only is unclear.vague_boolean
Minor
The meaning of the boolean argument claim is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
answer_question
45/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
13 / 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
Minor
Arguments without a description: question_id, answer, tool_ids, i_operate_this_tool.param_no_description
Minor
String arguments with no constraint or example: question_id.loose_string_param
Minor
The meaning of the boolean argument i_operate_this_tool is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
Minor
Required identifiers whose description does not say where the value comes from: question_id. Name the tool or the place that returns it, or models look it up first.id_source_missing
watch_tools
45/ 100Cloudy
Purpose
17 / 20
When to use
5 / 20
Arguments
6 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
Major
Arguments without a description: ids, remove_ids, watcher_key, agent_id.param_no_description
Minor
String arguments with no constraint or example: watcher_key, callback_url, agent_id.loose_string_param
Minor
The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.deprecated
get_methodology
46/ 100Cloudy
Purpose
14 / 20
When to use
0 / 20
Arguments
25 / 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
Says nothing about what it returns.no_return_info
compare_tools
51/ 100Cloudy
Purpose
20 / 20
When to use
0 / 20
Arguments
16 / 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
Minor
Arguments without a description: ids, job.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: ids. Name the tool or the place that returns it, or models look it up first.id_source_missing
report
57/ 100Cloudy
Purpose
17 / 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: report_token, kind, outcome, verdict, note.param_no_description
Minor
String arguments with no constraint or example: report_token.loose_string_param
Minor
Says nothing about what it returns.no_return_info
tell_us
57/ 100Cloudy
Purpose
17 / 20
When to use
15 / 20
Arguments
13 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
Major
Arguments without a description: what_you_are_looking_for, blockers, kind, entry_id, watcher_key.param_no_description
Minor
String arguments with no constraint or example: entry_id, watcher_key.loose_string_param
Minor
Says nothing about what it returns.no_return_info
get_tool
59/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
20 / 25
Return value
7 / 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
The name is made of generic words only.generic_name
report_outcome
60/ 100Cloudy
Purpose
20 / 20
When to use
20 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
Major
Arguments without a description: tool_id, job, worked, notes, reporter_key, call_made, agent_id, signed_at, client.param_no_description
Minor
String arguments with no constraint or example: tool_id, reporter_key, agent_id, signed_at, client.loose_string_param
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
Minor
The meaning of the boolean argument worked is unclear.vague_boolean
Minor
Says nothing about what it returns.no_return_info
Minor
Required identifiers whose description does not say where the value comes from: tool_id. Name the tool or the place that returns it, or models look it up first.id_source_missing
search_tools
60/ 100Cloudy
Purpose
17 / 20
When to use
5 / 20
Arguments
16 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
Minor
Arguments without a description: constraints, constraints.type, constraints.auth, constraints.remote_only, constraints.limit.param_no_description
Minor
The meaning of the boolean argument constraints.remote_only is unclear.vague_boolean
Minor
The meaning of the boolean argument constraints.official_only is unclear.vague_boolean
ask_community
65/ 100Cloudy
Purpose
20 / 20
When to use
5 / 20
Arguments
13 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
Major
Arguments without a description: question, tool_id, job, context, watcher_key.param_no_description
Minor
String arguments with no constraint or example: tool_id, watcher_key.loose_string_param
resolve_tool
65/ 100Cloudy
Purpose
20 / 20
When to use
20 / 20
Arguments
11 / 25
Return value
7 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
Major
Arguments without a description: url, repo, package, name.param_no_description
share_experience
72/ 100Clear
Purpose
17 / 20
When to use
20 / 20
Arguments
13 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
Major
Arguments without a description: tool_id, propose_tool, propose_tool.name, job, outcome, setup_gotchas, blockers_hit, workaround, time_to_working_min, cost_surprises, note, agent_id, signed_at.param_no_description
Minor
String arguments with no constraint or example: tool_id, agent_id, signed_at.loose_string_param
Minor
The meaning of the boolean argument i_operate_this_tool is unclear.vague_boolean
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.