Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Trainer Connect

REMOTE · API.TRAINERCONNECT.COM.BR

Manage students, workouts, appointments and payments through your personal trainer account.

+4 this week 88 Trust /100

Last scanned (13 hours ago)

Scores higher than 96% of remote servers

Reachable. Last reached 5 Nov 2026.

Category CRM and Sales

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 16095 tokens (~56/item across 283 items; 283 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
  • Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 58% of tool parameters carry a description.Partial
Tool Safety95
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 8 of 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "list_charges" implies "charge" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 284 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Tool “get_anamnesis_overview” rewrote its description, which is the text the model reads security
    • New tool “list_workouts_to_renew” functional
    • New tool “update_program_exercise” functional
    • “get_anamnesis_overview” added an optional parameter “status” cosmetic
  • 4 Nov 26 0
    • Tool “get_active_diets” rewrote its description, which is the text the model reads security
    • Tool “get_latest_assessments” rewrote its description, which is the text the model reads security
    • Tool “list_inactive_students” rewrote its description, which is the text the model reads security
    • Tool “list_leads” rewrote its description, which is the text the model reads security
    • Tool “list_payments” rewrote its description, which is the text the model reads security
    • Tool “list_workout_suggestions” rewrote its description, which is the text the model reads security
    • Tool “read_lead_chat” rewrote its description, which is the text the model reads security
    • “get_latest_assessments” added an optional parameter “days” cosmetic
    • “get_latest_assessments” added an optional parameter “only_due” cosmetic
    • “list_workout_suggestions” added an optional parameter “status” cosmetic
    • Tool “get_active_diets” changed its title: See active diets → See students diets cosmetic
  • 3 Nov 26 +1
    • Tool “get_checkins_overview” rewrote its description, which is the text the model reads security
    • Tool “get_schedule” rewrote its description, which is the text the model reads security
    • Tool “list_inactive_students” rewrote its description, which is the text the model reads security
  • 2 Nov 26 0
    • New tool “list_inactive_students” functional
  • 1 Nov 26 +1
    • A breaking change shipped without a version bump: still 3.0.0 ▼ security
    • Tool “list_inactive_students” was removed ▼ security
  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1
    • Tool “list_payments” rewrote its description, which is the text the model reads security
    • “list_payments” added an optional parameter “student” cosmetic
  • 27 Oct 26 0
    • New tool “list_inactive_students” functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.trainerconnect.com.br/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=trainerconnect.com.br CN=YE2,O=Let's Encrypt,C=US 2 Oct 2026 31 Dec 2026 ECDSA 256 ECDSA-SHA384 6bd76400d5b877937fd28f1ac6c767ccd4b
SANs: *.trainerconnect.com.br, trainerconnect.com.br
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.trainerconnect.com.br. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
br. present 38298 13 Verified
com.br. present 50930 13 Verified
trainerconnect.com.br. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="mcp", resource_metadata="https://api.trainerconnect.com.br/.well-known/oauth-protected-resource/mcp"

Bearer realm="mcp", resource_metadata="https://api.trainerconnect.com.br/.well-known/oauth-protected-resource/mcp"
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
x-content-type-options nosniff

Protected resource metadata

Document https://api.trainerconnect.com.br/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://api.trainerconnect.com.br/mcp
Authorisation server https://api.trainerconnect.com.br

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.trainerconnect.com.br/mcp Verified 200
http (plaintext) http://api.trainerconnect.com.br/mcp HTTPS enforced 301 https://api.trainerconnect.com.br/mcp
MCP tools · 283 exposed · ~15,509 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
list_students ~76

Lists the connected personal trainer's students with status, goal and start date. Optionally filter by part of the name. Use the returned student_id with get_student.

NameTypeReqDescription
searchstring–Part of the student's name.
statusstring–"active" (default) or "all", which includes pending and inactive students.

No output schema declared.

No examples provided.

list_subscription_payments ~32

Every charge of one subscription. Read only.

NameTypeReqDescription
subscriptionIdintegeryesId from list_subscriptions.

No output schema declared.

No examples provided.

list_subscriptions ~27

Each student's subscription to the trainer's plans, with status and next charge. Read only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_support_tickets ~24

Support tickets the trainer opened with the Trainer Connect team, with status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_tab_classes ~61

Classes of one student in a month that can be added to a tab, with the price per class. Read only.

NameTypeReqDescription
monthstring–YYYY-MM, this month by default.
student_idintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

list_tabs ~24

Tabs (comandas) of students: products and services consumed. Read only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_team_members ~28

Team members (other trainers, interns) of the trainer's account and what they can do.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_training_goals ~25

Training goals (hypertrophy, weight loss...) used in the library.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_unlinked_assessments ~30

Assessments done before the person became a student (trial class), waiting to be attached.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_wallet_withdrawals ~26

Withdrawals from the wallet to the bank, with status. Read only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_workout_copies ~39

Students who received a copy of a workout template, and whether their copy was customized.

NameTypeReqDescription
workoutIdintegeryesTemplate workout id.

No output schema declared.

No examples provided.

list_workout_suggestions ~130

Changes students suggested to their workouts (load, reps, exercise swap), waiting for the trainer by default: student name, workout, exercise, current and suggested values, the student's message and the app_url of the review screen filtered on that student. Use it to answer "who asked to change the workout?"; approve_workout_suggestion or reject_workout_suggestion only after the trainer says so. status "approved", "rejected" or "all" shows the history.

NameTypeReqDescription
statusstring–"pending" (default), "approved", "rejected" or "all".

No output schema declared.

No examples provided.

list_workouts ~23

Every workout the trainer wrote, for all students, with the exercises.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_workouts_to_renew ~180

Active students who keep training (finished a workout in the last 30 days) but whose workouts and programs have not changed for longer than the trainer's "renew the workout" reminder (Preferences, 6 weeks by default), with name, phone (the guardian's for a dependent), date of the last change, days_on_same_workout, workouts_url (the student's workouts screen, where the trainer renews it) and app_url of the profile, oldest first. Use it to answer "whose workout is overdue?" and then get_student or list_student_programs for one of them. Students who stopped training are list_inactive_students. Read only: nothing changes and nothing is sent.

NameTypeReqDescription
weeksinteger–Weeks on the same workout, 1 to 12, for this question only. Default: the trainer's Preferences.

No output schema declared.

No examples provided.

mark_announcement_seen ~35

Marks a Trainer Connect announcement from list_announcements as seen.

NameTypeReqDescription
announcementIdintegeryesId from list_announcements.

No output schema declared.

No examples provided.

mark_chat_read ~32

Marks the chat with one student as read.

NameTypeReqDescription
studentIdintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

mark_lead_read ~33

Marks a lead from list_leads as read.

NameTypeReqDescription
leadIdintegeryesId from list_leads.

No output schema declared.

No examples provided.

mark_notification_read ~27

Marks one notification as read.

NameTypeReqDescription
notificationIdintegeryesId from list_notifications.

No output schema declared.

No examples provided.

mark_notifications_read ~18

Marks every notification of the trainer as read.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

open_support_ticket ~60

Opens a ticket with the Trainer Connect team (bug, question, account...). Show the text to the person before sending.

NameTypeReqDescription
categorystringyes–
messagestringyesUp to 5000 characters.
subjectstringyes–

No output schema declared.

No examples provided.

preview_payment_fees ~115

How much the student pays and the trainer receives for an amount, method and installments. Only a simulation: nothing is charged.

NameTypeReqDescription
amount_centsintegeryesAmount in cents (R$ 300,00 = 30000).
installmentsinteger–Card installments, 1 by default.
pass_platform_feebooleanyesStudent pays the platform fee.
pass_processing_feebooleanyesStudent pays the processing fee.
payment_methodstringyes–
providerstring––

No output schema declared.

No examples provided.

publish_workout ~44

Publishes a workout template (no student) to the Trainer Connect catalog other trainers browse. Confirm with the person first.

NameTypeReqDescription
workoutIdintegeryesTemplate workout id.

No output schema declared.

No examples provided.

reactivate_student ~37

Brings back a student who was inactive, with the history kept.

NameTypeReqDescription
studentIdintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

read_chat ~33

Messages between the trainer and one student, newest last.

NameTypeReqDescription
studentIdintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

read_lead_chat ~71

The conversation with a lead, oldest first. Reading here does not mark it as read: it stays unread in the app until the trainer opens it. To answer, draft the text, show it and only then call reply_to_lead.

NameTypeReqDescription
leadIdintegeryesId from list_leads.

No output schema declared.

No examples provided.

reject_class_change ~48

Declines the student's request; the class stays where it was.

NameTypeReqDescription
requestIdintegeryesId from list_class_change_requests.
response_notestring–Message to the student.

No output schema declared.

No examples provided.

reject_join_request ~32

Declines a request to train with the trainer.

NameTypeReqDescription
requestIdintegeryesId from list_join_requests.

No output schema declared.

No examples provided.

reject_workout_suggestion ~39

Rejects a student's suggestion; the workout stays as it is.

NameTypeReqDescription
suggestionIdintegeryesId from list_workout_suggestions.

No output schema declared.

No examples provided.

rename_equipment ~37

Renames equipment from list_equipment.

NameTypeReqDescription
equipmentIdintegeryesId from list_equipment.
namestringyes–

No output schema declared.

No examples provided.

rename_muscle_group ~46

Renames a muscle group from list_muscle_groups.

NameTypeReqDescription
muscleGroupIdintegeryesId from list_muscle_groups.
namestringyes–

No output schema declared.

No examples provided.

rename_training_goal ~41

Renames a training goal from list_training_goals.

NameTypeReqDescription
goalIdintegeryesId from list_training_goals.
namestringyes–

No output schema declared.

No examples provided.

reorder_program_days ~64

Puts the days of a program week in the order given (every day id of the week, first to last).

NameTypeReqDescription
day_idsarrayyesDay ids from get_program, in the new order.
weekIdintegeryesWeek id from get_program.

No output schema declared.

No examples provided.

reorder_program_weeks ~64

Puts the weeks of a program in the order given (every week id of the program, first to last).

NameTypeReqDescription
programIdintegeryesId from list_programs.
week_idsarrayyesWeek ids from get_program, in the new order.

No output schema declared.

No examples provided.

reply_support_ticket ~42

Adds a message to one of the trainer's support tickets.

NameTypeReqDescription
messagestringyes–
ticketIdintegeryesId from list_support_tickets.

No output schema declared.

No examples provided.

reply_to_lead ~62

Sends a message to a lead (in-app notification or e-mail). Show the text to the person before sending.

NameTypeReqDescription
leadIdintegeryesId from list_leads.
messagestringyesThe reply, up to 2000 characters.

No output schema declared.

No examples provided.

reschedule_class ~110

Proposes a new time for a class, like in the app: the student accepts it there, or the class moves at once if the trainer turned on "my changes apply immediately". The student is notified.

NameTypeReqDescription
appointment_idintegeryesAppointment id from get_schedule.
proposed_date_timestringyesNew start, ISO 8601 with the -03:00 offset (Brazil time).
proposed_duration_minutesinteger––
reasonstring–Message to the student.

No output schema declared.

No examples provided.

restore_anamnesis_form ~39

Brings back a deleted anamnesis form of the trainer.

NameTypeReqDescription
formIdintegeryesThe anamnesis form id.

No output schema declared.

No examples provided.

restore_assessment ~36

Brings back an assessment from list_deleted_assessments.

NameTypeReqDescription
assessmentIdintegeryesId from list_deleted_assessments.

No output schema declared.

No examples provided.

restore_program ~27

Brings back a program that was deleted.

NameTypeReqDescription
programIdintegeryesProgram id.

No output schema declared.

No examples provided.

restore_workout ~32

Brings a workout back from the trash.

NameTypeReqDescription
workoutIdintegeryesId from list_deleted_workouts.

No output schema declared.

No examples provided.

schedule_class ~139

Books a class or appointment on the trainer's schedule (Brazil time, America/Sao_Paulo), with a student or as a personal block when student_id is empty. The student is notified, like in the app. To move or cancel it later use reschedule_class or cancel_class.

NameTypeReqDescription
date_timestringyesStart, "YYYY-MM-DD HH:MM" in Brazil time.
duration_minutesinteger–Default 60.
locationstring––
notesstring––
student_idinteger–student_id from list_students; empty for a personal block.
titlestring––

No output schema declared.

No examples provided.

schedule_diet_plan ~55

Schedules a diet plan to become the student's active diet on a future date.

NameTypeReqDescription
planIdintegeryesId from list_diet_plans.
starts_onstring–YYYY-MM-DD, after today.

No output schema declared.

No examples provided.

search_exercises ~83

Searches the Trainer Connect exercise library (with demo videos), in Portuguese or English: "supino", "agachamento", "remada", "glúteo", "esteira". Returns the exercise id to pass as edb_exercise_id in create_workout, so the student sees the video.

NameTypeReqDescription
searchstringyesExercise name or muscle.

No output schema declared.

No examples provided.

search_foods ~58

Foods from the TACO table and the trainer's own, with macros per portion. Each word must appear in the name.

NameTypeReqDescription
qstring–Food name, e.g. "arroz integral".
sourcestring––

No output schema declared.

No examples provided.

send_anamnesis ~88

Sends an anamnesis form for the student to fill in the app.

NameTypeReqDescription
anamnesis_form_idintegeryesForm id from list_anamnesis_forms.
expires_atstring–Deadline, YYYY-MM-DD.
notify_studentboolean–Push the student now (default true).
studentIdintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

send_checkin ~56

Assigns a check-in questionnaire to one or more students; they answer in the app.

NameTypeReqDescription
student_idsarrayyesstudent_id values from list_students.
templateIdintegeryesTemplate id from list_checkin_templates.

No output schema declared.

No examples provided.

send_message ~60

Sends a chat message to a student, who gets a push. Show the text to the person before sending.

NameTypeReqDescription
contentstringyesThe message, up to 5000 characters.
receiver_idintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

send_student_password_reset_link ~54

E-mails one of the trainer's students the link to create a new password (when the student forgot it). Returns the address it went to.

NameTypeReqDescription
studentIdintegeryesThe student_id from list_students.

No output schema declared.

No examples provided.

send_support_chat_message ~31

Sends a message in the trainer's chat with the Trainer Connect support.

NameTypeReqDescription
messagestringyes–

No output schema declared.

No examples provided.

set_weekly_target ~64

How many workouts per week the student should do (1 to 7); null goes back to automatic.

NameTypeReqDescription
studentIdintegeryesThe student_id from list_students.
weekly_training_targetintegeryes1 to 7, or null for automatic.

No output schema declared.

No examples provided.

Install

How do I install the Trainer Connect MCP server?

Trainer Connect is a hosted endpoint at https://api.trainerconnect.com.br/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.trainerconnect.com.br

# add to Claude Code
claude mcp add --transport http br-com-trainerconnect-personal-trainer 'https://api.trainerconnect.com.br/mcp'
Common questions

What is the Trainer Connect MCP server?

Trainer Connect is an MCP server listed in the public MCP registry as br.com.trainerconnect/personal-trainer. Manage students, workouts, appointments and payments through your personal trainer account. This page covers its hosted endpoint (https://api.trainerconnect.com.br/mcp).

Is the Trainer Connect MCP server safe to use?

Trainer Connect scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Trainer Connect MCP server expose?

Trainer Connect exposes 283 tools: list_students, list_inactive_students, list_workouts_to_renew, get_checkins_overview, get_latest_assessments, and 278 more. Their descriptions and schemas cost roughly 15,509 tokens of context every time the server is loaded.

Does the Trainer Connect MCP server require authentication?

Yes. Trainer Connect asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Trainer Connect MCP server still maintained?

Trainer Connect is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.