MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

MFIT Personal

Client, workout, body composition, retention and finance management for personal trainers.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
384 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
50

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 384 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name mcp-ai.

  • Pass
    Lists tools

    tools/list returned 50 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 384 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 384 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    0 of 373 parameters have a description (0%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-06-10T17:15:31.868621Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using MFIT Personal

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http mfit-personal https://api.mcp.ai/p_mfit

Capabilities

Tools 50

authenticate

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Discovered
connect

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

Discovered
marketplace

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

Discovered
mfit_client_files_delete

Delete a student file (irreversible). Bulk support: accepts client_ids, file_ids for batched execution.

Discovered
mfit_client_files_get

Read student files/attachments (diet plans, exams, planners, misc). Actions: list (all files for a student), get (file detail with sharing info). [Flattened action: get] Bulk support: accepts client_ids, file_ids for batched execution.

Discovered
mfit_client_files_list

Read student files/attachments (diet plans, exams, planners, misc). Actions: list (all files for a student), get (file detail with sharing info). [Flattened action: list] Bulk support: accepts client_ids, file_ids for batched execution.

Discovered
mfit_client_files_write

Update a student file: rename or change sharing settings. Bulk support: accepts file_ids for batched execution.

Discovered
mfit_client_get

Read students in MFIT. Actions: list — paginated list, filter by status/name get — full student profile list_groups — trainer's custom groups (DYNAMIC — call before creating/updating a student to get valid groupId) Field types — STATIC: status (0=active/1=inactive). [Flattened action: get] Bulk support: accepts client_ids for batched execution.

Discovered
mfit_client_list

Read students in MFIT. Actions: list — paginated list, filter by status/name get — full student profile list_groups — trainer's custom groups (DYNAMIC — call before creating/updating a student to get valid groupId) Field types — STATIC: status (0=active/1=inactive). [Flattened action: list] Bulk support: accepts client_ids for batched execution.

Discovered
mfit_client_list_groups

Read students in MFIT. Actions: list — paginated list, filter by status/name get — full student profile list_groups — trainer's custom groups (DYNAMIC — call before creating/updating a student to get valid groupId) Field types — STATIC: status (0=active/1=inactive). [Flattened action: list_groups] Bulk support: accepts client_ids for batched execution.

Discovered
mfit_client_write_create

Create / update / deactivate students in MFIT. Actions: create — register new student (name, email, phone required) update — edit student fields (partial update) deactivate — set student inactive (reversible via update) Field types — STATIC: gender (m/f). DYNAMIC: groupId (per-trainer, call mfit_client list_groups first). [Flattened action: create] Bulk support: accepts client_ids for batched execution.

Discovered
mfit_client_write_deactivate

Create / update / deactivate students in MFIT. Actions: create — register new student (name, email, phone required) update — edit student fields (partial update) deactivate — set student inactive (reversible via update) Field types — STATIC: gender (m/f). DYNAMIC: groupId (per-trainer, call mfit_client list_groups first). [Flattened action: deactivate] Bulk support: accepts client_ids for batched execution.

Discovered
mfit_client_write_update

Create / update / deactivate students in MFIT. Actions: create — register new student (name, email, phone required) update — edit student fields (partial update) deactivate — set student inactive (reversible via update) Field types — STATIC: gender (m/f). DYNAMIC: groupId (per-trainer, call mfit_client list_groups first). [Flattened action: update] Bulk support: accepts client_ids for batched execution.

Discovered
mfit_get_anamnesis_models

Get available anamnesis form templates (e.g. PAR-Q) that can be sent to students.

Discovered
mfit_get_client_count

Get a summary count of active and inactive students.

Discovered
mfit_get_client_evaluations

Get evaluations for one or many students: heart rate zones, VO2max, and training frequency. For physical assessments (weight, body fat, circumferences, skinfolds and their evolution) use mfit_list_physical_assessments and mfit_get_physical_assessment.

Discovered
mfit_get_client_notes

Read notes/observations for one or many students (bulk via client_ids).

Discovered
mfit_get_client_notes_write

Save (overwrite) notes/observations for a student. Replaces any existing notes text. Bulk support: accepts client_ids for batched execution.

Discovered
mfit_get_client_workouts

Get all workout routines assigned to one or many students. Supports bulk via client_ids.

Discovered
mfit_get_exercise_favorites

Get the trainer's favorite exercises.

Discovered
mfit_get_feedbacks

Get all unread workout feedbacks from students. Each feedback includes: student name, Borg RPE score (1-10 perceived effort), text feedback, workout date/time, duration. Shows which students completed workouts and how they felt.

Discovered
mfit_get_finances

Get financial overview: transactions in date range, wallet/payment info, seller status.

Discovered
mfit_get_invoices

Get invoices/billing for one or many students (bulk via client_ids).

Discovered
mfit_get_physical_assessment

Get one or many physical assessments by id with every measure registered in MFIT: weight, height, BMI, body fat %, fat and lean mass, waist-hip ratio, circumferences (cm), skinfolds (mm), protocol, goal, notes and next assessment date. Measures left blank are null. Includes `comparison` with the previous assessment of the same student and kind: for each measure present in both, previous value, current value and delta (current minus previous). If there is no earlier assessment, `comparison` is null. Data entered by the professional; no clinical interpretation or diagnosis. Get ids from mfit_list_physical_assessments.

Discovered
mfit_get_profile

Get the trainer's own MFIT profile: name, email, plan, payment country.

Discovered
mfit_get_retention

Get student retention dashboard: active clients, engagement rate, growth rate, churn rate, NPS. Compare current period vs previous.

Discovered
mfit_get_retention_clients

List students by retention status: AT_RISK (may churn), ABANDONED (stopped training), ACTIVE, or all. Shows days since last workout, avg weekly workouts, WhatsApp link. Much more useful than listing clients — this tells you WHO NEEDS ATTENTION.

Discovered
mfit_get_today_checkins

Check which students trained today. Scans all active students and returns two lists: who_trained and who_didnt. Single call, no need to check one by one.

Discovered
mfit_get_training_frequency

Get which days one or many students trained in a date range. Returns true/false per day of week.

Discovered
mfit_get_training_ranking

Ranking of students who trained the most in a period (default: current month). Uses bulk frequency checks and returns top performers.

Discovered
mfit_get_user_exercises

Get custom exercises created by the trainer.

Discovered
mfit_get_workout_library

Browse the trainer's workout library folders and saved routines. Use folder_id=0 for the root. Bulk support: accepts folder_ids for batched execution.

Discovered
mfit_list_accounts

List all MFIT accounts linked to this install. Returns each account's id, email, label, and an "is_default" flag (true when only one is linked — no need to pass `account` in other tools). When multiple accounts are linked, every other mfit_* tool accepts an optional `account` parameter; pass id, email, or label (full or partial).

Discovered
mfit_list_physical_assessments

List the physical assessments the trainer registered in MFIT for one or many students, newest first. Each item has the assessment id, date, kind (anthropometric protocol or bioimpedance), protocol name, and the main numbers as recorded in MFIT: weight, body fat %, BMI, lean and fat mass. Values are the data entered by the professional and the figures MFIT computed from them; this tool does not interpret them. Use mfit_get_physical_assessment with an id for every measure and the change since the previous assessment.

Discovered
mfit_search_exercises

Search the exercise library by name (Portuguese or English). Returns exercise name, category, muscle group, and video/image URL.

Discovered
mfit_workout_delete_exercise

Destructive operations on workout routines, sessions, and exercises. Actions: delete_routine — soft-delete a routine (moves to "Excluídas"; reversible) delete_session — remove a session from a routine (irreversible) delete_exercise — remove an exercise from a session (irreversible). Get exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].idExercSession. [Flattened action: delete_exercise] Bulk support: accepts routine_ids, session_ids, exercise_session_ids for batched execution.

Discovered
mfit_workout_delete_routine

Destructive operations on workout routines, sessions, and exercises. Actions: delete_routine — soft-delete a routine (moves to "Excluídas"; reversible) delete_session — remove a session from a routine (irreversible) delete_exercise — remove an exercise from a session (irreversible). Get exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].idExercSession. [Flattened action: delete_routine] Bulk support: accepts routine_ids, session_ids, exercise_session_ids for batched execution.

Discovered
mfit_workout_delete_session

Destructive operations on workout routines, sessions, and exercises. Actions: delete_routine — soft-delete a routine (moves to "Excluídas"; reversible) delete_session — remove a session from a routine (irreversible) delete_exercise — remove an exercise from a session (irreversible). Get exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].idExercSession. [Flattened action: delete_session] Bulk support: accepts routine_ids, session_ids, exercise_session_ids for batched execution.

Discovered
mfit_workout_get_routine

Read workout routines and sessions in MFIT. Actions: get_routine — routine details with all sessions get_session — session prescription with all exercises, series, and exercise IDs [Flattened action: get_routine] Bulk support: accepts routine_ids, session_ids for batched execution.

Discovered
mfit_workout_get_session

Read workout routines and sessions in MFIT. Actions: get_routine — routine details with all sessions get_session — session prescription with all exercises, series, and exercise IDs [Flattened action: get_session] Bulk support: accepts routine_ids, session_ids for batched execution.

Discovered
mfit_workout_write_add_exercise

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: add_exercise] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
mfit_workout_write_archive_routine

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: archive_routine] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
mfit_workout_write_create_routine

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: create_routine] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
mfit_workout_write_create_session

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: create_session] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
mfit_workout_write_unarchive_routine

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: unarchive_routine] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
mfit_workout_write_update_routine

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: update_routine] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
mfit_workout_write_update_serie

Create / update workout routines, sessions, and exercises in MFIT. Actions: create_routine — create a new workout routine for a student update_routine — edit routine name, dates, goal, difficulty, etc. archive_routine — archive a routine (status=1, reversible) unarchive_routine — restore archived routine to active (status=0) create_session — add a training session (day) to a routine add_exercise — add an exercise to a session (use mfit_search_exercises to find exercise_id). Added with 1 empty set — use update_serie to configure. update_serie — set reps, weight, rest for a serie. Get serie_id and exercise_session_id from mfit_workout get_session → exerciciosMontados.k{id}[0].series[0].id and .idExercSession. Static options: trainingType: 1=Dia da Semana, 2=Numérico goal: 1=Hipertrofia, 2=Redução de gordura, 3=Redução de gordura/hipertrofia, 4=Definição muscular, 5=Condicionamento físico, 6=Qualidade de vida difficulty: 1=Iniciante, 2=Intermediário, 3=Avançado, 4=Adaptação day (session): 1=Domingo, 2=Segunda, 3=Terça, 4=Quarta, 5=Quinta, 6=Sexta, 7=Sábado For destructive operations (delete routine / session / exercise) use mfit_workout_delete. [Flattened action: update_serie] Bulk support: accepts client_ids, routine_ids, session_ids, exercise_ids, exercise_session_ids, serie_ids for batched execution.

Discovered
report_bug

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Discovered
show_version

Show the current MCP platform and adapter versions.

Discovered
toolkit_info

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected384 ms50