Skip to content
ergstats

Concept2 Logbook MCP server · free · open source

Ask Claude or ChatGPT about every meter you’ve rowed.

Connect your Concept2 Logbook to Claude, ChatGPT, Claude Code or Codex in two minutes. Splits, PBs and training load from your RowErg, SkiErg and BikeErg, answered in plain language.

Example chatClaude + ErgStats

How did my 2k on Saturday compare to September’s?

ergstats · list_workoutsergstats · get_workout

7:31.4, a 10.6 second PB over 7:42.0 on Sep 2. You negative split it and finished at 33 spm:

Split/500mspmbpm
500m1:55.031168
1000m1:54.029177
1500m1:53.029182
2000m1:49.433187

Your third 500 was the soft spot. Next time hold 1:52 through 1500m and save the sprint for the last 250.

What to ask

Ask anything your Logbook knows

Every workout ErgData or your PM5 syncs, plus anything you logged by hand. Your assistant picks the right tool, and paces come back the way your monitor shows them.

RowErg

2k tests, steady state, intervals and stroke-by-stroke pacing.

  • “Where did I fade in my 5k?”
  • “Show every 2k I did this year.”

SkiErg

Sprint and threshold work, PBs and how your pace holds up.

  • “What are my SkiErg PBs this season?”
  • “Break down Tuesday’s 8×250m.”

BikeErg

Watts, cadence and volume, with pace per 1000m like your monitor.

  • “How far did I ride each week this block?”
  • “Set my heart rate zones from my profile.”

For hybrid racing

Training for HYROX? Your erg stations, analyzed.

HYROX races include a 1000m SkiErg and a 1000m RowErg. Ask for your best 1000m on each, how your pace holds up after hard work, and how your weekly erg volume is trending.

Example answer
SkiErg 1000m3:58.2Best · Mar 14
RowErg 1000m3:34.9Best · Feb 2

“Compare my last three SkiErg 1000s and tell me which pacing worked.”

Why ErgStats

Private, read‑only and free

How ErgStats compares with running your own Concept2 MCP server or signing up for an AI coaching app.

Read-only

ErgStats can read your workouts. It can’t add, change or delete anything.

Your keys, your call

Concept2 tokens are encrypted at rest. Disconnect an app or revoke a key and access stops right away.

Built for agents

Compact answers, structured output and clear errors, on the latest MCP spec.

Open source

Every line is public under the MIT license, so you can check what happens to your data.

FeatureErgStatsSelf-hosted Concept2 MCP serversAI rowing-coach apps
Works in Claude and ChatGPTYes, plus Claude Code, Codex and CursorDesktop apps, after setupNo, their own chat
SetupPaste a URL, sign in with Concept2Install Node or Rust, paste a token or passwordNew app and account
Access to your LogbookRead-only, revoke any timeOften read and writeVaries
Open sourceYes, MIT on GitHubUsuallyVaries
PriceFreeFreeUsually a subscription

FAQ

Questions

Something missing? Ask on GitHub.

How do I connect my Concept2 Logbook to ChatGPT?

In ChatGPT, open the Plugins page (chatgpt.com/plugins), click +, then Add custom MCP server. Paste https://www.ergstats.com/mcp, choose OAuth, pick Create as a plugin and sign in with your Concept2 Logbook account. ChatGPT can then read your workouts whenever you ask about your training. Custom MCP servers need ChatGPT Pro, Business, Enterprise or Edu, on chatgpt.com in a browser.

How do I connect my Concept2 Logbook to Claude?

In Claude on the web or desktop, open Customize → Connectors, click + Add, then Add custom connector, and paste https://www.ergstats.com/mcp. Click Continue, then Add, and sign in with Concept2. Claude can then answer questions about your splits, PBs and training load. It works on every Claude plan, including Free.

Which Claude and ChatGPT plans does ErgStats work with?

Claude: every plan, including Free, which allows one custom connector. On Team and Enterprise, someone who manages the organization’s connectors adds it first. ChatGPT: Pro, Business, Enterprise and Edu, on chatgpt.com in a browser. On Business, only workspace admins and owners can add it, and on Enterprise and Edu an admin has to grant permission first.

Does ErgStats work with Claude Code, Codex and Cursor?

Yes. ErgStats is a remote MCP server, so any MCP client that supports sign-in only needs the URL. In Claude Code run "claude mcp add --transport http ergstats https://www.ergstats.com/mcp", then /mcp to sign in. In Codex run "codex mcp add ergstats --url https://www.ergstats.com/mcp", then "codex mcp login ergstats". In Cursor or VS Code add the URL to your MCP config and sign in. Clients that can't sign in can use an API key from your dashboard.

What is an MCP server?

MCP (Model Context Protocol) is the open standard Claude, ChatGPT and coding agents use to connect to outside data. ErgStats is an MCP server for the Concept2 Logbook: your assistant calls its tools to fetch your workouts when a question needs them.

Which workouts can my AI see?

Everything in your Concept2 Logbook: RowErg, SkiErg and BikeErg workouts synced from ErgData or the PM5, and anything you logged by hand. That includes splits, intervals, heart rate, stroke rate, drag factor and stroke-by-stroke data.

Can I use it for HYROX training?

Yes. HYROX races include a 1000m SkiErg and a 1000m RowErg station, and ErgStats sees every SkiErg and RowErg piece in your Logbook. Ask for your best 1000m, how your pace holds up in intervals, or how your weekly erg volume is trending.

Can ErgStats change or delete my workouts?

No. ErgStats only asks Concept2 for read access. It can't add, edit or delete anything in your Logbook, and you can disconnect any app or revoke access from your dashboard.

Is ErgStats made by Concept2?

No. ErgStats is an independent project that uses the official Concept2 Logbook API. It is not affiliated with or endorsed by Concept2.

Is ErgStats open source?

Yes. The full source is on GitHub at github.com/chrsep/ergstats under the MIT license, so you can see exactly how your Logbook data is read and stored.

How much does ErgStats cost?

ErgStats is free. Sign in with your Concept2 Logbook account to get started.

Your Logbook, in the assistant you already use.

Free, read-only and open source. Connected in two minutes.