Trainer Connect
REMOTE · API.TRAINERCONNECT.COM.BR
Manage students, workouts, appointments and payments through your personal trainer account.
Available components
Last scanned (9 hours ago)
Scores higher than 96% of remote servers
Reachable. Last reached 5 Nov 2026.
Category CRM and Sales
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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
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 |
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 →
get_student_health See a student health data ~43
Latest health summary synced from the student's watch or phone (steps, sleep, heart rate, weight).
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_student_live_session See if a student is training now ~36
The workout session a student has in progress, if any.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_student_notices See automatic notices to students ~27
Which class notices the students get (new class, cancelled, status, time change).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_student_streak See a student streak ~41
How many days or weeks in a row the student trained, and the weekly target.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_student_summary See a student summary ~47
Summary of one student as the app dashboard shows it: active workouts, sessions, assessments, payments and the next class.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_student_supplement_day See a student supplements on a day ~51
Which supplements the student had to take on a date and which were taken.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | YYYY-MM-DD. |
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_student_training_context See what the app knows to write a workout ~64
The student summary the app's AI uses to write workouts: age, sex, goal, anamnesis, injuries and the last weeks of training with loads. Use it before writing a workout yourself.
| Name | Type | Req | Description |
|---|---|---|---|
| student_id | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_students_activity See who trained ~33
Days each student trained in the last 30 days, by student_id. Use it to find students who stopped training.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_subscription See a subscription ~38
One subscription: plan, price, period, next charge, signature. Read only.
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | integer | yes | Id from list_subscriptions. |
No output schema declared.
No examples provided.
get_subscription_anamnesis_answers See the anamnesis answers of a subscription ~45
What the student answered in the anamnesis of the plan. Id from list_subscriptions.
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | integer | yes | Id from list_subscriptions. |
No output schema declared.
No examples provided.
get_subscription_anamnesis_form See the anamnesis form of a subscription ~46
The anamnesis form a student must fill when joining a plan. Id from list_subscriptions.
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | integer | yes | Id from list_subscriptions. |
No output schema declared.
No examples provided.
get_support_chat See my support chat ~23
The trainer's chat with the Trainer Connect support, with the history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_support_ticket See a support ticket ~30
One support ticket with every message.
| Name | Type | Req | Description |
|---|---|---|---|
| ticketId | integer | yes | Id from list_support_tickets. |
No output schema declared.
No examples provided.
get_support_unread_count Count unread support messages ~24
How many messages from Trainer Connect support the trainer has not read.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_tab See a tab ~37
One tab (comanda) with its items, payments and total. Read only.
| Name | Type | Req | Description |
|---|---|---|---|
| tabId | integer | yes | Id from list_tabs. |
No output schema declared.
No examples provided.
get_trainer See a trainer's profile and plans ~94
Show the public profile of one personal trainer from the Trainer Connect directory: bio, specialties, where they work, online or in person, and the plans they publish with price and billing period. The person contacts the trainer or signs up for a plan on the profile_url page; this connector never books, pays or sends messages.
| Name | Type | Req | Description |
|---|---|---|---|
| trainer | string | yes | The trainer id ("trainer" field) returned by find_trainers. |
No output schema declared.
No examples provided.
get_workout See a workout ~33
One workout with every exercise, sets, reps, load and rest.
| Name | Type | Req | Description |
|---|---|---|---|
| workoutId | integer | yes | Workout id. |
No output schema declared.
No examples provided.
get_workout_ai_quota See my AI workout quota ~27
How many AI-generated workouts the trainer still has this period. Read only.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_workout_health_summary See training heart rate and calories ~41
Heart rate, calories and duration of the student's recent workouts, from the watch.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
get_workout_leaderboard See a workout ranking ~35
Ranking of the students who did one workout (loads, time).
| Name | Type | Req | Description |
|---|---|---|---|
| workoutId | integer | yes | Workout id. |
No output schema declared.
No examples provided.
get_workout_log_health See heart rate of a finished workout ~37
Heart rate and calories recorded by the watch for one finished workout.
| Name | Type | Req | Description |
|---|---|---|---|
| logId | integer | yes | Id from list_student_sessions. |
No output schema declared.
No examples provided.
get_workout_session See a workout session ~42
One workout session in detail: exercises done, sets, loads and timing.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | integer | yes | Id from list_student_sessions or list_live_sessions. |
No output schema declared.
No examples provided.
get_workout_weeks See the weeks of a workout ~39
Which weeks a workout is planned for (periodization), by the Monday of each week.
| Name | Type | Req | Description |
|---|---|---|---|
| workoutId | integer | yes | Workout id. |
No output schema declared.
No examples provided.
invite_student Invite a student by e-mail ~43
E-mails an invitation to sign up already linked to the trainer. Confirm the address with the person first.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| locale | string | – | – |
No output schema declared.
No examples provided.
invite_to_competition Invite students to a challenge ~51
Invites students to a challenge; they get a push.
| Name | Type | Req | Description |
|---|---|---|---|
| competitionId | integer | yes | Id from list_competitions. |
| student_ids | array | yes | student_id values from list_students. |
No output schema declared.
No examples provided.
link_assessment_to_class Link an assessment to a class ~50
Records that an assessment was done in a given class.
| Name | Type | Req | Description |
|---|---|---|---|
| appointmentId | integer | yes | Appointment id from get_schedule. |
| assessment_id | integer | yes | The id from list_assessments. |
No output schema declared.
No examples provided.
link_library_videos Add library videos to exercises ~68
Matches exercises of the trainer's workouts or programs that have no video to the library by name, so the student sees the video. Returns what was linked and what had no match.
| Name | Type | Req | Description |
|---|---|---|---|
| exercise_ids | array | yes | Exercise ids from get_workout or get_program (up to 500). |
No output schema declared.
No examples provided.
list_anamnesis_answers See a student anamnesis ~40
Anamnesis questionnaires the student filled in, with every answer.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
list_anamnesis_forms See my anamnesis forms ~32
The trainer's anamnesis (health questionnaire) forms; send_anamnesis needs one.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_anamnesis_requests See anamnesis sent to a student ~40
Anamnesis forms sent to one student, answered or waiting.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
list_announcements See Trainer Connect news ~18
News and announcements from Trainer Connect to trainers.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_anticipations See my anticipations ~26
Anticipations of future receivables requested by the trainer. Read only.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_archived_assessments See archived assessments ~35
Assessments of one student that were archived.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
list_assessments See a student assessments ~44
Physical assessments of one student (weight, body fat, measurements, skinfolds), newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
list_available_contracts See plans I can offer ~23
Plans (contracts) the trainer has available to offer a student.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_cancellation_requests See cancellation requests ~26
Students asking to cancel a plan. Read only: answering stays in the app.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_cash_entries See my cash book ~28
Money the trainer recorded by hand (cash, Pix outside the app, expenses). Read only.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_catalog_categories See workout catalog categories ~24
Categories of the ready-made workout catalog, to filter list_catalog_workouts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_catalog_workouts Browse the workout catalog ~68
Ready-made workouts from the Trainer Connect catalog, by search, category, muscle group, difficulty or length.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| difficulty | string | – | – |
| max_minutes | integer | – | – |
| muscle_group | string | – | – |
| search | string | – | – |
No output schema declared.
No examples provided.
list_charges See my charges ~19
Charges the trainer created for students. Read only.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_checkin_answers See a student check-ins ~42
Check-in answers of one student (weight, sleep, energy, photos...), newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
list_checkin_templates See my check-in questionnaires ~24
The trainer's periodic check-in questionnaires; send_checkin needs one.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_class_change_requests See class change requests ~23
Requests from students to move a class, waiting for the trainer.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_class_files See files of a class ~32
Files attached to a class (photos, exams).
| Name | Type | Req | Description |
|---|---|---|---|
| appointmentId | integer | yes | Appointment id from get_schedule. |
No output schema declared.
No examples provided.
list_coached_sessions See sessions coached in person ~41
Sessions the trainer ran with the student in person, from the app's coach mode.
| Name | Type | Req | Description |
|---|---|---|---|
| studentId | integer | yes | The student_id from list_students. |
No output schema declared.
No examples provided.
list_competitions See challenges ~23
Challenges/competitions the trainer created among students, with ranking.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_contract_subscribers See who is on a plan ~32
Students subscribed to one plan. Read only.
| Name | Type | Req | Description |
|---|---|---|---|
| contractId | integer | yes | Id from list_contracts. |
No output schema declared.
No examples provided.
list_contracts See my plans and contracts ~33
The plans/contracts the trainer sells (price, period, classes) and how many students are on each. Read only.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_conversations See my chats ~24
The trainer's chats with students, with the last message and unread count.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_coupons See my coupons ~21
Discount coupons for the trainer's plans. Read only.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
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
claude mcp add --transport http br-com-trainerconnect-personal-trainer 'https://api.trainerconnect.com.br/mcp'
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.