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

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/me.phor%2Fphorme-training/versions/latest)
- Connected to: https://phor.me/api/mcp
- Homepage: https://phor.me/agents
- Repository: https://github.com/nicksgoat/phorme-mcp
- Scoring rules: v2
- Tools: 61
- Average: 81.0 / 100 (Clear)
- Near-identical pairs: 3

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.

## Across the server

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

## Tools

- `render_training_import`: 58 / 100
  - Major: Arguments without a description: training_kind, exercise_count, estimated_duration_minutes, warning_count.
  - Minor: No `required` list, so every argument is optional.
- `save_program_to_my_coaching_brain`: 69 / 100
  - Minor: Arguments without a description: title, sessions[].title, sessions[].exercises, sessions[].exercises[].name, sessions[].exercises[].sets.
  - Minor: The description mentions none of its 3 or more arguments.
  - 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.
- `coach_client_reviewed`: 70 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - 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.
- `get_my_coaching_business`: 70 / 100
- `send_note_to_my_members`: 70 / 100
  - Minor: Arguments without a description: brain_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - 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.
- `set_my_coach_principles`: 71 / 100
  - Major: Arguments without a description: principles, principles[].name, principles[].cue, principles[].why.
  - 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.
- `student_questions`: 72 / 100
  - Major: Arguments without a description: days, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - 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.
- `coach_client_post`: 75 / 100
  - Minor: Arguments without a description: kind, text.
  - 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.
- `coach_client_workout`: 75 / 100
  - Minor: Arguments without a description: exercises, exercises[].name, exercises[].sets, exercises[].reps, exercises[].load_lb, exercises[].rest_s.
  - 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.
- `get_my_brain_code`: 75 / 100
  - 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.
- `set_owner_email`: 75 / 100
- `start_my_coaching_brain`: 75 / 100
- `unpublish_place`: 75 / 100
  - 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.
- `update_gym_brain`: 75 / 100
  - 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.
- `verify_place_claim`: 75 / 100
  - 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.
- `find_races`: 77 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_gym_billing_link`: 77 / 100
- `get_phorme_program`: 77 / 100
- `get_training_history`: 77 / 100
  - Minor: No `required` list, so every argument is optional.
- `set_class_schedule`: 77 / 100
  - Minor: Arguments without a description: action, minutes.
  - 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.
- `cancel_gym_booking`: 78 / 100
- `update_place`: 78 / 100
  - Minor: Arguments without a description: name, city, country.
  - 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.
- `correct_my_coach`: 79 / 100
  - Minor: Arguments without a description: question, answer.
  - 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.
- `find_personal_coach`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_planned_sessions`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `list_held_requests`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `ask_my_coach`: 80 / 100
  - Minor: Arguments without a description: question.
  - 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.
- `claim_place`: 80 / 100
  - 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.
- `coach_clients`: 80 / 100
  - 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.
- `publish_gym_brain`: 80 / 100
  - 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.
- `publish_place`: 80 / 100
  - 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.
- `save_workout_to_phorme`: 80 / 100
  - 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.
- `start_gym_brain`: 80 / 100
  - 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.
- `teach_my_coach`: 80 / 100
  - 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.
- `cover_member`: 82 / 100
  - Minor: Arguments without a description: action.
  - 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.
- `get_gym_report`: 82 / 100
- `get_payouts`: 82 / 100
- `get_saved_training`: 82 / 100
- `set_member_cover`: 82 / 100
  - 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.
- `find_clinic`: 84 / 100
  - Minor: No `required` list, so every argument is optional.
- `find_gym_class`: 84 / 100
  - Minor: No `required` list, so every argument is optional.
- `book_gym_class`: 85 / 100
  - 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.
- `copy_coach_from_code`: 85 / 100
- `preview_program_import`: 85 / 100
- `preview_workout_import`: 85 / 100
- `save_program_to_phorme`: 85 / 100
  - 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.
- `search_phorme_programs`: 85 / 100
  - Minor: Arguments without a description: sport, duration_weeks.
  - Minor: No `required` list, so every argument is optional.
- `set_booking_notices`: 85 / 100
  - 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.
- `coach_client_brief`: 87 / 100
  - 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.
- `get_my_coach`: 87 / 100
  - 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.
- `set_my_brain_rules`: 87 / 100
  - 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.
- `answer_held_request`: 88 / 100
  - Minor: Arguments without a description: answer.
  - 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.
- `get_lift_progress`: 90 / 100
- `create_or_claim_place`: 91 / 100
  - Minor: Arguments without a description: city.
- `check_place_in_ai`: 92 / 100
- `get_payout_setup_link`: 92 / 100
- `rate_my_coach`: 92 / 100
  - 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.
- `find_coaching_brain`: 94 / 100
  - Minor: No `required` list, so every argument is optional.
- `find_exercise_swap`: 97 / 100
- `plan_for_race`: 97 / 100
- `preview_sport_week`: 97 / 100

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)
