Hey everyone,
my name is Philip and im going to do my triathlon debut this year. Contrary to what my inner ego wanted, I sensibly decided to “just” do a sprint triathlon. Shout out to the experienced athlete who advised me to do so. Since I had recently some setbacks, im really happy with this decision. There is enough time to step up for the next years.
Since I discovered intervals.icu i got obsessed with its possibilities. I feel like im still scratching the surface. Thank you for delivering such an outstanding tool.
Somehow I thought it would be a fun idea to create a MCP Sever and learn a new programming language while doing it. Additionally dipping my toe into the german bureaucratic madness.
Well, here we are. The project is not where I want it to be, but I think it is already in a really good usable state and im working daily on it.
Features
27 MCP Tools (create/update/delete Events, Wellness, Activities, Power Curves, streams, training availability, extra workout tools,…)
1 MCP Ressource (guide for LLM how to write workouts)
easy oauth to claude
Http Token Connection to any other llm or tool
Token Connection to intervals.icu (oauth is already up on the list)
Surely forgot something important, but Im sure you will find out or just ask me.
I would really love to get some feedback from you guys. At this state the service is still free to use and these are some vouchers to enter after your registration to activate your account.
DISCLAIMER: for the non techies, you will need your own LLM, easy-intervals is just the connection from the LLM to your data on intervals.icu. Claude Code free version works really good with it.
DISCLAIMER2: Im not caching/saving any data from your intervals.icu data. This is a plain relay with some filter logic in it to save precious tokens on the LLM. If you have ideas or painpoints for specific hot paths that could be optimized, tell me.
testing the Oauth flow
You will be able to only use intervals.icu login or still use the easy-intervals account to login.
That opens up the possibility for a super low friction user flow:
Just add the custom connector to claude pointing to easy-intervals and logging in to your intervals.icu once.
No more voucher needed: I’ve removed the voucher-based access gate entirely. Anyone can sign up and start using the server now, no special code required.
OAuth with Intervals.icu now works: you can connect your account directly via Intervals.icu OAuth, no need to manually grab and paste API keys anymore.
Dual login support: you can now choose how you want to sign in: either via Intervals.icu OAuth, or with a regular email + password account. Whatever’s more convenient for you.
Quick question for you all:
What features would you like to see next? Always curious to see what would be helpful for you.
What do you think about adding a filtering option in the user panel — basically letting you choose per-function which information gets passed to the LLM? Could be useful for privacy/control, but curious if people would actually use it or if it’d just add unnecessary complexity.
I managed to connect it to Vibe from Mistral.
Moving away from Claude for different reasons.
Currently checking it out how it performs and works with Vibe
Hi Johan,
nice to know that you managed to get everything running.
Would you mind to share some details about the steps you need to take to connect it to Vibe?
With that information I could provide others the information right at the user dashboard
Sure!
It is pretty straightforward.
After you have connected intervals.icu to easy-intervals you create an API key in easy-intervals for use with Vibe.
In Vibe choose connectors, “Modified MCP connector” option.
Just put all the easy-intervals like URL etc. in there.
Choose for API authentication and paste the API key from easy-intervals in there.
Hey everyone,
another quick update on the mcp server. I realized that I had no ability to fix the carbs intake after a finished activity. Something like this is now working.
“I did not log my carbs intake on the last ride. I ate 5 dates, a drink with 60 carbs and 10 Gummibärchen.”
Hey @roadrash99, I can only find very few information about the Gemini Spark MCP Integration and its locked behind their highest subscription tier, right?
Without a good documentation and being able to test it on my side it’s kind of a guessing game to make it work.
If you are down to play a bit of ping pong with me, we can try to make it work.
btw: Have you tried to connect the mcp via the *.json and authorization header?