Home / MCP registry index / app.trainrec/trainrec

TrainRec

app.trainrec/trainrec in the official MCP registry. Endpoint https://api.trainrec.app/mcp.

The registry describes it as: Your AI assistant logs your meals and workouts, then plans your week from what you did.

We read its 34 tools on 2026-11-12. Nothing in them matched our tool-poisoning rules. It also sets server instructions, text a client puts in front of the model on connect; those were read too.

A clean read means these rules found nothing, not that the server is harmless. A server can change its tools at any time, which is why the index reads it again about every two weeks.

Connect it

The endpoint answers MCP over HTTP; that is how we read it. Add it to your client:

Claude Code
claude mcp add --transport http trainrec https://api.trainrec.app/mcp
Cursor: ~/.cursor/mcp.json
{
  "mcpServers": {
    "trainrec": {
      "url": "https://api.trainrec.app/mcp"
    }
  }
}
VS Code
code --add-mcp '{"name":"trainrec","type":"http","url":"https://api.trainrec.app/mcp"}'

Some servers ask you to sign in the first time a client connects, or want a key from the people who run them; the server's own docs say which.

Let Claude Code check servers as it adds them

With the free lazaretto-guard plugin installed, when Claude Code adds a server for you or writes one into an MCP config, the plugin reads the server's tools first and asks you if one of our rules matches. Install it, restart Claude Code, then ask it to run the command above.

Install lazaretto-guard
claude plugin marketplace add lazaretto-ai/lazaretto-plugins
claude plugin install lazaretto-guard@lazaretto-plugins

Tools it advertises

trainrec_overview trainrec_list_workouts trainrec_get_workout trainrec_exercise_history trainrec_list_exercises trainrec_food_day trainrec_recent_changes trainrec_plan_workout trainrec_save_workout trainrec_delete_workout trainrec_log_food trainrec_edit_food trainrec_delete_food trainrec_set_targets trainrec_settings trainrec_change_settings trainrec_save_routine trainrec_get_routine trainrec_delete_routine trainrec_add_exercise trainrec_undo_change trainrec_measurements trainrec_log_measurement trainrec_delete_measurement trainrec_import_measurements trainrec_import_file trainrec_import_workouts trainrec_import_food trainrec_undo_import trainrec_reminders trainrec_set_reminder trainrec_delete_reminder trainrec_find_issues trainrec_report_issue

Tool changes

We compare every full read of this server with the one before. No change in what its tools say has been seen since we started keeping this record on 2026-10-30.

Fingerprint of its tools at our last full read (2026-11-12): d30e505ff6e3d473. A client can hash the tools it is served the same way and compare; the full value and a hash per tool are in this page as JSON.

Rather than checking back: subscribe to this server's tool changes (a feed, no account and no address needed). Tool names and dates only, never what a tool says.

Run this server? Show the check in your README

The badge reflects the latest read: MCP tool check badge

Markdown
[![MCP tool check](https://lazaretto.dev/mcp-registry/app-trainrec-trainrec/badge.svg)](https://lazaretto.dev/mcp-registry/app-trainrec-trainrec)

How this was checked

Lazaretto connects to the endpoint the way any MCP client does, asks the server to introduce itself and list its tools, and reads every name, description, parameter schema and server instruction for tool poisoning: hidden directive blocks, orders to read local secrets, parameters built to carry secrets or the conversation out, orders that redirect another server's tools, and invisible characters. It never calls a tool. How tool poisoning works. What we found across the registry. Check another server.

To run the same check every time Claude Code adds a server, install the free lazaretto-guard plugin. Browse every server in the index.