All scored servers

Phorme Training: tool descriptions scored me.phor/phorme-training

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

Scores, issues and names only

This page shows how Phorme Training (me.phor/phorme-training)'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/me.phor/phorme-training
Average score
81.0 / 100Clear
Tools
61
Near-identical descriptions
3

Across the server

  • Major
    61 tools. Above 40, models choose less accurately.too_many_tools

Tools whose descriptions are nearly the same

3 of 3 pairs shown, highest description similarity first.
ToolToolDescription similarityName similarity
save_workout_to_phormesave_program_to_phorme0.670.60
set_member_covercover_member0.390.67
claim_placeverify_place_claim0.370.67

Tools

render_training_import

58 / 100Cloudy

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

save_program_to_my_coaching_brain

69 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
19 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    Arguments without a description: title, sessions[].title, sessions[].exercises, sessions[].exercises[].name, sessions[].exercises[].sets.param_no_description
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Required identifiers whose description does not say where the value comes from: brain_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

coach_client_reviewed

70 / 100Clear

Purpose
20 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Required identifiers whose description does not say where the value comes from: brain_id, client_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_my_coaching_business

70 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10

No issues.

send_note_to_my_members

70 / 100Clear

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

set_my_coach_principles

71 / 100Clear

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

student_questions

72 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
15 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Major
    Arguments without a description: days, limit.param_no_description
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Required identifiers whose description does not say where the value comes from: brain_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

coach_client_post

75 / 100Clear

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

coach_client_workout

75 / 100Clear

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

get_my_brain_code

75 / 100Clear

Purpose
20 / 20
When to use
10 / 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: brain_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

set_owner_email

75 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10

No issues.

start_my_coaching_brain

75 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

unpublish_place

75 / 100Clear

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

update_gym_brain

75 / 100Clear

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

verify_place_claim

75 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Its description is nearly the same as claim_place's (similarity 0.37); only the names and schemas tell them apart. Say in this description when to use claim_place instead.confusable_pair
  • Minor
    Required identifiers whose description does not say where the value comes from: claim_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

find_races

77 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

get_gym_billing_link

77 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
0 / 10

No issues.

get_phorme_program

77 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
0 / 10

No issues.

get_training_history

77 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

set_class_schedule

77 / 100Clear

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

cancel_gym_booking

78 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10

No issues.

update_place

78 / 100Clear

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

correct_my_coach

79 / 100Clear

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

find_personal_coach

79 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

get_planned_sessions

79 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

list_held_requests

79 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

ask_my_coach

80 / 100Clear

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

claim_place

80 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    Its description is nearly the same as verify_place_claim's (similarity 0.37); only the names and schemas tell them apart. Say in this description when to use verify_place_claim instead.confusable_pair
  • Minor
    Required identifiers whose description does not say where the value comes from: place_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

coach_clients

80 / 100Clear

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

publish_gym_brain

80 / 100Clear

Purpose
20 / 20
When to use
15 / 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: place_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

publish_place

80 / 100Clear

Purpose
20 / 20
When to use
15 / 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: place_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

save_workout_to_phorme

80 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Minor
    Its description is nearly the same as save_program_to_phorme's (similarity 0.67); only the names and schemas tell them apart. Say in this description when to use save_program_to_phorme instead.confusable_pair
  • Minor
    Required identifiers whose description does not say where the value comes from: preview_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

start_gym_brain

80 / 100Clear

Purpose
20 / 20
When to use
15 / 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: place_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

teach_my_coach

80 / 100Clear

Purpose
20 / 20
When to use
15 / 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: brain_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

cover_member

82 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
22 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
  • Minor
    Its description is nearly the same as set_member_cover's (similarity 0.39); only the names and schemas tell them apart. Say in this description when to use set_member_cover instead.confusable_pair
  • Minor
    Arguments without a description: action.param_no_description
  • Minor
    Required identifiers whose description does not say where the value comes from: place_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_gym_report

82 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

get_payouts

82 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

get_saved_training

82 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

set_member_cover

82 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Its description is nearly the same as cover_member's (similarity 0.39); only the names and schemas tell them apart. Say in this description when to use cover_member instead.confusable_pair
  • Minor
    Required identifiers whose description does not say where the value comes from: place_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

find_clinic

84 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

find_gym_class

84 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

book_gym_class

85 / 100Clear

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

copy_coach_from_code

85 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
10 / 10

No issues.

preview_program_import

85 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

preview_workout_import

85 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

save_program_to_phorme

85 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Minor
    Its description is nearly the same as save_workout_to_phorme's (similarity 0.67); only the names and schemas tell them apart. Say in this description when to use save_workout_to_phorme instead.confusable_pair
  • Minor
    Required identifiers whose description does not say where the value comes from: preview_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

search_phorme_programs

85 / 100Clear

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

set_booking_notices

85 / 100Clear

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

coach_client_brief

87 / 100Clear

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

get_my_coach

87 / 100Clear

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

set_my_brain_rules

87 / 100Clear

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

answer_held_request

88 / 100Clear

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

get_lift_progress

90 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10

No issues.

create_or_claim_place

91 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
24 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
  • Minor
    Arguments without a description: city.param_no_description

check_place_in_ai

92 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
5 / 10

No issues.

get_payout_setup_link

92 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10

No issues.

rate_my_coach

92 / 100Clear

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

find_coaching_brain

94 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

find_exercise_swap

97 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10

No issues.

plan_for_race

97 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10

No issues.

preview_sport_week

97 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
10 / 10

No issues.

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