This page shows how Craft Quantities: construction material calculators (com.craftquantities/engine)'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.craftquantities/engine
Average score
63.8/ 100Cloudy
Tools
56
Near-identical descriptions
10
Across the server
Major
56 tools. Above 40, models choose less accurately.too_many_tools
Minor
The server's instructions are 4631 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.instructions_long
Tools whose descriptions are nearly the same
10 of 10 pairs shown, highest description similarity first.
Tool
Tool
Description similarity
Name similarity
create_project_file_from_house
create_project_file_from_drawing
0.81
0.67
create_project_file_from_calculations
create_project_file_from_takeoffs
0.56
0.67
create_project_file_from_calculations
create_project_file_from_drawing
0.52
0.67
create_project_file_from_calculations
create_project_file_from_house
0.50
0.67
create_project_file_from_plan
create_project_file_from_drawing
0.50
0.67
create_project_file_from_house
create_project_file_from_plan
0.49
0.67
create_project_file_from_takeoffs
create_project_file_from_drawing
0.48
0.67
create_project_file_from_takeoffs
create_project_file_from_house
0.47
0.67
create_project_file_from_takeoffs
create_project_file_from_plan
0.46
0.67
create_project_file_from_calculations
create_project_file_from_plan
0.45
0.67
Tools
create_supplier_quote_request
51/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
14 / 25
Return value
8 / 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: items, items[].description, items[].label, items[].name, items[].quantity, items[].unit, items[].order, items[].order.quantity, items[].order.unit, items[].notes, items[].packSize, items[].packs, items[].packName.param_no_description
Minor
String arguments with no constraint or example: items[].order.unit.loose_string_param
measure_sketch
55/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
18 / 25
Return value
8 / 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: shapes[].name, shapes[].points[].x, shapes[].points[].y, shapes[].calculator.slug, shapes[].calculator.figure, reference.dimension, reference.dimension.from.x, reference.dimension.from.y, reference.dimension.to.x, reference.dimension.to.y, reference.dimension.length, reference.width, reference.height, reference.corners[].x, reference.corners[].y.param_no_description
create_project_file_from_drawing
56/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
19 / 25
Return value
8 / 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
Its description is nearly the same as create_project_file_from_house's (similarity 0.81); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_house instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_calculations's (similarity 0.52); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_calculations instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_plan's (similarity 0.50); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_plan instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_takeoffs's (similarity 0.48); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_takeoffs instead.confusable_pair
String arguments with no constraint or example: drawing.shapes[].against.shape.loose_string_param
Minor
The meaning of the boolean argument drawing.commands[].closed is unclear.vague_boolean
create_project_file_from_plan
56/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
19 / 25
Return value
8 / 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
Its description is nearly the same as create_project_file_from_drawing's (similarity 0.50); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_drawing instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_house's (similarity 0.49); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_house instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_takeoffs's (similarity 0.46); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_takeoffs instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_calculations's (similarity 0.45); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_calculations instead.confusable_pair
String arguments with no constraint or example: before.drawing.shapes[].against.shape, after.drawing.shapes[].against.shape.loose_string_param
Minor
The meaning of the boolean argument before.drawing.commands[].closed is unclear.vague_boolean
Minor
The meaning of the boolean argument after.drawing.commands[].closed is unclear.vague_boolean
classify_items
58/ 100Cloudy
Purpose
20 / 20
When to use
0 / 20
Arguments
18 / 25
Return value
8 / 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: lines[].label, lines[].description, lines[].quantity, lines[].unit, lines[].calculator.param_no_description
optimise_cuts
58/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
21 / 25
Return value
8 / 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: pieces[].count, pieces[].label, pieces[].band.long, pieces[].band.short, stock[].value, stock[].unit, sheets[].width, sheets[].height.param_no_description
plan_room_trim
59/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
22 / 25
Return value
8 / 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: walls[].label, walls[].openings, walls[].openings[].kind, corners[].kind, stock[].value, stock[].unit, studs.param_no_description
scribe_template
59/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
22 / 25
Return value
8 / 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: shape, shape.shape, orientation.param_no_description
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
convert_units
60/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
16 / 25
Return value
15 / 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: value, from, to.param_no_description
layout_reinforcement
60/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
23 / 25
Return value
8 / 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: lengthwise.spacing, widthwise.spacing, chairs.supportEveryNth.param_no_description
create_project_file_from_takeoffs
61/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
24 / 25
Return value
8 / 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
Its description is nearly the same as create_project_file_from_calculations's (similarity 0.56); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_calculations instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_drawing's (similarity 0.48); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_drawing instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_house's (similarity 0.47); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_house instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_plan's (similarity 0.46); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_plan instead.confusable_pair
Minor
Arguments without a description: takeoffs[].takeoff.param_no_description
fit_worktop_run
61/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
19 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
Arguments without a description: faces[].length, faces[].label, corners[].kind, corners[].angle, corners[].joint, start, start.end, start.angle, finish, finish.end, finish.angle.param_no_description
get_planner
61/ 100Cloudy
Purpose
14 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
print_template
61/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
24 / 25
Return value
8 / 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: orientation.param_no_description
trim_corner
61/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
24 / 25
Return value
8 / 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: corner.kind, customSaw.miterScale.param_no_description
write_proposal
61/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
19 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
String arguments with no constraint or example: drawing.shapes[].against.shape.loose_string_param
Minor
The meaning of the boolean argument drawing.commands[].closed is unclear.vague_boolean
Minor
The meaning of the boolean argument includeNotes is unclear.vague_boolean
Minor
The meaning of the boolean argument showQuantities is unclear.vague_boolean
compare_on_job
62/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 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
create_project_file_from_calculations
62/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 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
Its description is nearly the same as create_project_file_from_takeoffs's (similarity 0.56); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_takeoffs instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_drawing's (similarity 0.52); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_drawing instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_house's (similarity 0.50); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_house instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_plan's (similarity 0.45); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_plan instead.confusable_pair
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
create_project_file_from_house
62/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
20 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
Its description is nearly the same as create_project_file_from_drawing's (similarity 0.81); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_drawing instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_calculations's (similarity 0.50); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_calculations instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_plan's (similarity 0.49); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_plan instead.confusable_pair
Minor
Its description is nearly the same as create_project_file_from_takeoffs's (similarity 0.47); only the names and schemas tell them apart. Say in this description when to use create_project_file_from_takeoffs instead.confusable_pair
Minor
Arguments without a description: houses[].storeys, houses[].family, houses[].roofFamily, houses[].roofSelection.param_no_description
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
make_job_sheet
62/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 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
market_documents
62/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 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
stair_flight
62/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 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
The description mentions none of its 3 or more arguments.params_not_in_description
create_drawing
63/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
19 / 25
Return value
15 / 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
String arguments with no constraint or example: shapes[].against.shape.loose_string_param
Minor
The meaning of the boolean argument commands[].closed is unclear.vague_boolean
run_example
66/ 100Cloudy
Purpose
14 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
update_project
66/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
22 / 25
Return value
15 / 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: operations[].calculator, operations[].value, operations[].name.param_no_description
level_quotes
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
plan_room
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
18 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
Arguments without a description: doors, doors.count, doors.width, doors.height, windows, windows.count, windows.width, windows.height, name.param_no_description
resolve_id
67/ 100Cloudy
Purpose
17 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
Minor
Required identifiers whose description does not say where the value comes from: ref. Name the tool or the place that returns it, or models look it up first.id_source_missing
run_example_live
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
run_guide_chain
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
run_takeoff
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
solve_backwards
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
translate_term
67/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
plan_project
68/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
19 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
Arguments without a description: spaces[].doors, spaces[].doors.count, spaces[].doors.width, spaces[].doors.height, spaces[].windows, spaces[].windows.count, spaces[].windows.width, spaces[].windows.height, spaces[].name, roof.param_no_description
calculate_batch
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
The description mentions none of its 3 or more arguments.params_not_in_description
fetch
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
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.id_source_missing
get_benchmark
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
get_calculator
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
get_example
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
get_sources
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
get_takeoff
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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
search
69/ 100Cloudy
Purpose
17 / 20
When to use
0 / 20
Arguments
20 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 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
The description mentions none of its 3 or more arguments.params_not_in_description
calculate
74/ 100Clear
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
check_quote
74/ 100Clear
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
get_illustration
74/ 100Clear
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
make_canvas_link
74/ 100Clear
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
open_in_site_link
74/ 100Clear
Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Major
Says nothing about when to use it, or when not to.no_usage_context
diagnose_symptom
79/ 100Clear
Purpose
17 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
Minor
The description mentions none of its 3 or more arguments.params_not_in_description
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.